李宏毅深度强化学习(国语)课程(2018)
PPO是Policy Gradient的变形。由on policy 变为off policy后,加些constraint,就变成了PPO。
强化学习三要素,Actor,Environment,Reward Function。
Actor 的行为由Policy控制。Policy部分通常是一个 Neural Network函数。
举例说明Actor是如何与环境互动。设计observation,让机器看到什么样的游戏画面是比较有效的。
注意:一场游戏叫做一个Episode,一个Episode的奖励总和叫做Total reward,Actor的目的是想办法去Maximize可以得到的Reward。
一场游戏里面,把(s,a)序列对按顺序组合起来,就是Trajectory。假设控制Actor的Network的参数θ已给定,可计算每个Episode里面发生这个Trajectory的几率。
由于Actor在同一state下,产生的行为有随机性,Environment在给定action后,产生的新的state也具有随机性,所以,是一个random variable。但是,给定θ条件下,的期望值是能够计算的。
的期望值的算法就是穷举所有可能的Trajectory ,即根据θ计算某一个出现的概率,然后计算的Total Reward。但是,通常是未知的,因此,需要找到一个合适的计算方法。
Policy Gradient 采用Gradient descent方法Maximize Reward。
当Policy为Neural Network函数时, 相当于监督学习中的神经网络中的反向传播(梯度下降)。
如果采取任何动作, Total Reward均为正,那么所有动作的概率都要提升,在动作的概率和相加为1的情况下,动作概率的调整就不科学。
同一场游戏里面,也许有些动作是好的,有些动作是不好的,假设游戏最终的结果是好的,并不代表每一个行为都是对的,结果不好,并不代表里面的每一个行为都是错的。需要sample足够多。因为sample不够多,需要给每一个state的action合理的credit,对分数的贡献是多少。只计算从这个action执行以后所得到的reward。
现在假设在某一个state执行某一个action,相较与其他可能的action,有多好。在意的不是一个绝对的好,而是说在同样的state的时候,执行某一个action,相较与其他可能的action,有多好。
加入折扣因子。