强化学习常见的方法为基于值函数或者基于策略梯度。
值函数:值函数最优时得到最优策略,即状态s下,最大行为值函数maxQ(s,a)对应的动作。
但对于机器人连续动作空间,动作连续时,基于值函数,存在以下问题:
总结:用值函数Q求解连续空间action,也能用但不好用,所以出现了,策略梯度法。
随机策略梯度:使用直接逼近,我们需要求得的就时神经网络参数θ。为了求解θ需要设计一个目标函数J(θ)=G(θ)(累计回报值),θ更新公式为:
此方法基于目标函数J(θ)的梯度进行策略参数更行。
J(θ)分为两种:
1.MC中,有完成的链条:
2.TD中,有步长限制时:
式中,是基于策略生成的关于状态s的分布
进一步就得到了梯度的表达式:
策略梯度就是AC中的A
Actor:从下图可以看出,就是输入智能体观察到的图像(对计算机而言就是矩阵,向量),输出智能体可能采取的动作概率分布。
进一步我们要衡量Actor的优劣,基于Actor可以得到一系列回报,计算平均回报,比较策略的优劣R就是上文的J。
然后我们想求得最优的Actor,(R就是上文J的延深),使用梯度上升法,进而得到: