最近在学习强化学习,看了一些文章和课程,总结如下。
强化学习的定义。
假定一个智能体(agent),在一个未知的环境中(当前状态state),采取了一个行动(action),然后收获了一个回报(return),并进入了下一个状态。最终目的是求解一个策略让 agent的回报最大化。
强化学习求解算法,一般采用马尔可夫决策过程(MPD),定义如下。
一个马尔可夫决策过程由一个四元组构成M = (S, A, Psa, R)
MDP 的动态过程如下:某个智能体(agent)的初始状态为s0,然后从 A 中挑选一个动作a0执行,执行后,agent 按Psa概率随机转移到了下一个s1状态,s1∈ Ps0a0。然后再执行一个动作a1,就转移到了s2,接下来再执行a2…,我们可以用下面的图表示状态转移的过程。
MDP的解是一个策略(一个有时间先后的行动序列),当给定当前系统任意状态S时,系统采取最优策略A,然后获得最大回报。所以 MPD就是在寻找一个最优行动的序列。
所以要寻找这样的一个策略,就需要由有一个策略评估评估函数。来评估一个行动和策略的期望回报。
第一个式子说的是:
对于策略π,和系统当前状态x0, T步累计奖赏=T步累计汇报和/T
最终等于 在状态x下采用a的概率*再状态x下采用a转移到x'的概率*(转移到x'的回报 + v(T-1时刻))
最终计算所有状态即可。
具体的优化过程:
选取一个策略,然后在沿着 回报最大化的方向改进。最后直到不能在进一步。