强化学习之策略梯度(Policy Gradient)

本文详细介绍了策略梯度(Policy Gradient)的基本思想和应用,它不同于DQN,而是输出动作的概率。通过神经网络,根据状态计算每个动作的概率,并通过奖励值来调整动作概率,以优化损失函数loss= -log(prob)*vt。文中还展示了策略梯度的模型构建、损失计算、动作选择、经验存储、奖励贴现值计算以及模型训练的完整过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

策略梯度(Policy Gradient)的基本思想,就是直接根据状态输出动作或者动作的概率。注意这里和DQN的区别就是DQN输出动作获取的Q值,而Policy Gradient输出的是动作的概率,两者的输出维度是一样的,但是含义不同。

我们使用神经网络输入当前的状态,网络就可以输出我们在这个状态下采取每个动作的概率,那么网络应该如何训练来实现最终的收敛呢?我们之前在训练神经网络时,使用最多的方法就是反向传播算法,我们需要一个误差函数,通过梯度下降来使我们的损失最小。但对于强化学习来说,我们不知道动作的正确与否,只能通过奖励值来判断这个动作的相对好坏。基于上面的想法,我们有个非常简单的想法:

如果一个动作得到的reward多,那么我们就使其出现的概率增加,如果一个动作得到的reward少,我们就使其出现的概率减小。

根据这个思想,我们构造如下的损失函数:loss= -log(prob)*vt

上式中log(prob)表示在状态 s 时所选动作为a的概率值,prob<=1,因此log(prob)<0。显然prob这个值越大越好,此时-log(prob)<0并且越小越好。

而vt代表的是当前状态s下采取动作a所能得到的奖励,这是当前的奖励和未来奖励的贴现值的求和。如果在prob很小的情况下, 得到了一个大的结果,也就是大的vt, 那么-log(prob)*vt就更大, 表示更吃惊, (我选了一个不常选的动作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值