一、policy gradient回顾
最核心的部分,加权求和就是期望:
PPO是对policy gradient 的改进版,首先回顾下policy gradient并介绍两个tips。Policy gradient的背景是:我们现在有N笔数据,用这些数据来优化agent也就是π-function。其中每一笔数据是:
τ= {s1, a1,r1, s2, a2,r2,…,sT,aT,rT}
通过对奖励值微分,我们可以得到agent参数的步进值如下:
也就是说每一个行为都对参数的更新做了贡献,但是这其中有些不合理的地方,于是就有下面的改进:
改进1:在相同的state/scenario下agent 可以采取不同的action,但是由于数据量有限,我们可能没有sampling所有的可能,这就会造成没有被采样到的action的几率降低(不进则退的道理),所有可以在整个trajectory的奖励值后面加一个baseline,只有大于baseline才会增加其可能性,以打乒乓球为例,得6分以下,我们可以认为agent的决策很不好,只有大于7分时才会强化相应的决策。这样可以缓解未采样的问题。Baseline的选取没有固定的方法,比如可以采用数据奖励值的均值。
改进2:以中国历史为例,很多朝代都有盛世,也有衰败。我们评价一个王朝既要有整体的评判但也要有局部的分析。以汉朝为例,假如我们做一个皇帝的模型:一般认为汉朝是一个强盛的王朝,那么我们笼统的认为汉朝所有的皇帝都很棒,要提炼他们的性格来让后人学习,这肯定是不行的,因为汉朝既有贤明的君主,也有昏庸的皇帝,也就是说评价皇帝的功绩是后向的,要看他以及儿孙的国家举措,评价汉武帝的功绩,难道还要考虑刘邦吗&