强化学习笔记之引论
最近会听一些课结合论文、源码将强化学习核心算法、概念做一个核心的整合
actor的表现有状态、动作、奖励序列构成
让actor去做一个任务,每一个轨迹(可理解为一个过程)有一定概率发生,概率依赖于模型参数,如果actor是一个模型
因此,奖励的期望为:
反复这个过程N次,因为轨迹发生的次数可以近似其概率,因此可以做一个估计:
目标:最大化奖励
采取梯度上升法
推导梯度上升的优化目标:
强化学习过程中奖励是一个偏好模型或者基于规则的奖励,跟模型参数无关;同时用采样多次的均值替换奖励的期望;换成log的求导
接着计算
模型参数为前提的条件概率为,初始状态的概率*根据状态和参数采取行动1的概率*根据行动、状态1转换成状态2,奖励值1的概率...
只有红色的条件概率,即根据状态(actor从环境中的观察)和模型参数采取行动t的概率跟模型参数有关:
取log后再求梯度:
将梯度带入以下式子,可整理成:
以上对奖励的梯度上升很直觉,即根据奖励的正负,决定对当前状态采取当前行动的一个方向,奖励为正,向该行动概率增加的方向优化参数;反之则相反
同时,乘的又是整个轨迹发生的reward,即最终的奖励
同时,这里是一个对log求梯度的好处,在于一个标准化的作用,即模型不会过度侧重概率大的动作的优化:
如果奖励都是正的,会出现几种动作都被优化的情况,不会使得奖励大的概率相对就大:
避免奖励一直是正的,对奖励设置一个基线,防止没有被采样到的高奖励动作没有被优化:
当奖励超过base时向增加其概率方向优化;反之则减少,防止有的轨迹没有被采样到
设置基线的策略:critic,评论家,以计算优势函数,评判actor的动作好的程度,也就是PPO算法中的价值模型