强化学习中Value-based vs Policy-based,以及LLM中RL使用的一些理解,如何选择RL方法,如何调参

一些参考文章和视频:
1、shuseng wang视频
2、https://blog.youkuaiyun.com/qq_50645064/article/details/151222838
3、https://www.zhihu.com/tardis/zm/art/631338315?source_id=1003
4、https://yugeten.github.io/posts/2025/01/ppogrpo/
5、https://zhuanlan.zhihu.com/p/677607581
6、https://blog.youkuaiyun.com/m0_65708726/article/details/145737048
7、https://zhuanlan.zhihu.com/p/342919579
8、https://zhuanlan.zhihu.com/p/345353294

一、Value-based

1、本质:“希望有一个先知Q*(s,a; w),能够在任意状态下,预测该状态下每一种可能动作对应的未来最终回报值。” 这样,agent就可以在面对任意状态时,选择将来return最高的那个动作,然后进一步执行,重复上述过程,即走完了整个过程,获得了最好的结果。

2、训练:我们想要训练得到这样的先知Q*,如果按照Deep Learning的思路,训一个Neural Network,输入一个状态st,预测所有可能动作对应的最终回报值。按照Supervised的思路,目标函数是最小化预测值和实际值。那么,上述训练自然需要实际的动作回报值(而这需要完整地玩完每一次游戏,这样获取label非常不现实)。

但是,实际情况是,如果每次都需要完整地实验一遍游戏,执行各种状态动作的组合,得到用于supervised的label,显然不现实。所以,TD算法被用于解决这个问题(尽管强化学习整个过程的执行对应的最终回报值难以获得,但执行一步的回报值可以很好的收集到)。

此处省略TD算法理解,参考Shusen wang的视频讲解。。。。。

比如,在超级玛丽游戏中,当前状态下,如果我跳起来,我能获得跳起来这单个动作所对应的回报值是很简单能够得到的(例如跳起来避开了怪兽,获得了金币)。这种单一动作及对应的单动作的回报值是大量可收集的简单样本。

随后,便可以采用TD算法,例如:设定Loss为 1/2 * [ qt -(yt + beta*qt+1)]^2。相当于两次预测值,以及一个单动作回报值的实际样本,就解决了原先需要完整动作序列回报值才能训练的困境。

最终, 我们训练得到一个比较准确的,NN架构的先知Q*,指导agent完成整个游戏。

3、推理: 自然,推理时,使用训练好的Q*,输入状态st,预测该状态下每一个动作的最终回报值,选最大值对应的action,然后再更新状态st+1,继续执行上述步骤,即可完成过程。

二、Policy-based

1、本质:区别于value-based,policy-based 通过具体的动作策略指导agent完成整个游戏,即希望得到一个能够根据状态指明应做action的策略pi( |st; theta),在面对任意状态时,能够指出应当选择的action,进而更新状态,并依次实现完整的游戏过程。

2、训练:根据上述描述,我们现在需要训练一个能够根据状态预测action的policy,同样使用DL的network就行。训练目标是最大化该policy下所有动作所有状态的完整流程的回报值,也就是梯度上升。在这里插入图片描述
我们的目标是最大化J(theta),但由于对网络参数theta求导,而环境反映的状态与policy网络无关,所以policy gradient是对V(s;theta)的处理。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值