更改

添加2,404字节 、 2025年2月24日 (一) 15:14
第24行: 第24行:  
</math>
 
</math>
   −
其中:
+
这里的[math]\pi_{\theta}[/math]为优化变量,即一个参数为[math]\theta[/math]的策略神经网络,[math]\pi_{\theta_{old}}[/math]为本期参数更新之前的策略神经网络,[math]\pi_{ref}[/math]为一个参考策略神经网络,[math]o_i[/math]为从策略[math]\pi_{\theta_{old}}[/math]中采样出的一组G个答案中的第[math]i[/math]个答案,[math]q[/math]是从所有问题分布[math]P(Q)[/math]抽样的一个问题。clip计算的作用是限制新旧策略的概率比在单次更新中的变化幅度,防止过度激进的更新破坏学习稳定性,就像温和引导学生走向正确方向,而非强制推动。
 +
 
 +
<math>
 +
A_i=\frac{r_i-mean(\{r_1,r_2,\cdots,r_G\})}{std(\{r_1,r_2,\cdots,r_G\}}
 +
</math>
 +
 
 +
为第[math]i[/math]个回答所得到的奖励回报在所有群组中的相对优势,[/math]r_i[/math]为它的奖励回报,mean代表求均值,std代表求标准差。<math>\mathbb{D}_{KL}(\pi_{\theta}||\pi_{ref})</math>是策略[math]\pi_{\theta}[/math]与参考策略[math]\pi_{ref}[/math]之间的KL散度,这一散度是按照如下简化形式进行估计:
    
<math>
 
<math>
 
\mathbb{D}_{KL}(\pi_{\theta}||\pi_{ref})=\frac{\pi_{ref}(o_i|q)}{\pi_{\theta}(o_i|q)}-\log\frac{\pi_{ref}(o_i|q)}{\pi_{\theta}(o_i|q)}-1
 
\mathbb{D}_{KL}(\pi_{\theta}||\pi_{ref})=\frac{\pi_{ref}(o_i|q)}{\pi_{\theta}(o_i|q)}-\log\frac{\pi_{ref}(o_i|q)}{\pi_{\theta}(o_i|q)}-1
 
</math>
 
</math>
 +
 +
所以,目标函数[math]J_{GRPO}[/math]的含义就是在随机采样的G个组策略中,每一个回答的相对优势的平均值,同时还要顾及当前的策略[math]\pi_{\theta}[/math]与参考策略[math]\pi_{ref}[/math]之间的差异不能太大。[math]\beta[/math]为调节两个目标相对重要性的参数。
 +
 +
===奖励===
 +
奖励是训练信号的来源,它决定了强化学习的优化方向。为了训练DeepSeek-R1-Zero,作者们采用了一种基于规则的奖励系统,主要由两种奖励组成:
 +
 +
* 准确性奖励:准确性奖励模型评估响应是否正确。例如,在具有确定性结果的数学问题中,模型需要以指定格式(例如在方框内)提供最终答案,从而能够基于规则可靠地验证正确性。同样,对于 LeetCode 问题,可以使用编译器根据预定义的测试用例生成反馈。
 +
* 格式奖励:除了准确性奖励模型外,我们还采用了格式奖励模型,强制模型将其思考过程放在“<think>”和“</think>”标签之间。具体的模版如下图所示:
 +
 +
[[文件:Template.png]]
 +
 +
DeepSeek-R1-Zero没有使用结果或过程的神经网络奖励模型,这是因为训练这种模型比较费时间和内存,同时也更容易被奖励黑客攻击。
    
==应用场景==
 
==应用场景==