大厂学院 - 人工智能算法剖析与应用【百度云盘】
-
引言
在 Q-learning算法 中,目标策略(即更新Q表的那个动作 [公式] )是基于Q表的完全贪婪策略,但它并不会成为下一条数据 [公式] 的 [公式] ,而数据 [公式] 中的 [公式] 是基于Q表的 [公式] -贪婪策略,因此为 off-policy算法 。PPO算法 因为在buffer里使用的数据都是由目标策略 [公式] 得到,只是会多更新几次 [公式] ,将 [公式] 更新之后得到 [公式] ,那么buffer里的数据都不能再用了,需要清空buffer,因此是 on-policy算法 .(其实因为PPO存在一个buffer多更新几次的情况,所以说它的off-policy也有一定道理,但它总体上还是on-policy) -
PPO算法
已知一个状态 [公式] ,通过 actor网络 得到所有动作的概率(图中以三个动作:a,b,c为例),然后依概率采样得到动作 [公式] ,然后将 [公式] 输入到环境中,得到 [公式] 和 [公式] ,这样就得到一个experience: [公式] ,然后将experience放入经验池中。 以上是离散动作的情况,如果是连续动作,就输出概率分布的参数(比如高斯分布的均值和方差),然后按照概率分布去采样得到动作 [公式] 经验池 存在的意义是为了消除experience的相关性,因为强化学习中前后动作通常是强相关的,而将它们打散,放入经验池中,然后在训练神经网络时,随机地从经验池中选出一批experience,这样能够使神经网络训练地更好。 -
产生experience的过程
已知一个状态 [公式] ,通过 actor网络 得到所有动作的概率(图中以三个动作:a,b,c为例),然后依概率采样得到动作 [公式] ,然后将 [公式] 输入到环境中,得到 [公式] 和 [公式] ,这样就得到一个experience: [公式] ,然后将experience放入经验池中。 以上是离散动作的情况,如果是连续动作,就输出概率分布的参数(比如高斯分布的均值和方差),然后按照概率分布去采样得到动作 [公式] 经验池 存在的意义是为了消除experience的相关性,因为强化学习中前后动作通常是强相关的,而将它们打散,放入经验池中,然后在训练神经网络时,随机地从经验池中选出一批experience,这样能够使神经网络训练地更好。