论文链接:论文传送门
官方pytorch的代码实现:代码传送门
介绍
上一篇讲的进化强化学习ERL(evolutionary reinforcement learning)是简单的将进化算法和强化学习算法进行结合。
而本文则是对这种结合提出了几个改进,并将改进方法命名为Proximal Distilled Evolutionary Reinforcement Learning
背景
在传统的进化算法与强化学习算法结合后,进化算法当中的种群的个体是神经网络。因此,我们需要对神经网络进行交叉和变异。而本文认为传统的n点交叉和高斯变异着两个遗传算子不适合用于神经网络,会导致灾难性遗忘问题,即交叉变异后的后代并不具备亲本的策略优势,且后代效果容易变得更差。
因此本文提出了两种遗传算子(蒸馏选择和近端变异)替代n点交叉和高斯变异。
快速理解
传统的交叉选择就是两个亲本神经网络的部分权重交换然后得到新的一个神经网络,这样的神经网络很明显更具有随机性,而蒸馏选择是将一个亲本的参数直接赋值得到一个一模一样的新神经网络,然后这个新神经网络再训练亲本的经验。这样新的神经网络似乎更代表了亲本的能力。
传统的高斯变异是直接将神经网络权重加上一个小的误差值,得到变异后的新网络。而近端变异是计算神经网络权重对结果(动作)的敏感程度,敏感度大则该权重变化小一点,敏感度低的权重则变化大一些。很明显这种变异更加的稳定,不会说权重一