具有新颖性和模仿学习的进化强化学习算法(NIERL)算法

1 绪论

DRL 自身存在两个主要的问题:1)脆性收敛:DRL 算法中所涉及 的超参数需要仔细的调节,超参数细微的变化便可能导致最终的结果无法收敛。2)难以有效探索:DRL 算法是基于梯度的,所以需要在其中加入有效的探索算 法以避免学习过程陷入局部最优解。进化算法(EA)可以很好的处理难以有效 探索的问题,但是它的学习缺乏梯度引导,所以导致其利用能力差。为了解决这 个问题,我们提出了具有新颖性和模仿学习的进化强化学习算法(NIERL)算法 来更好的平衡探索与利用过程。
解决脆性收敛问题:
(1)对超参数进行适应性的调节,以适应训练的不同阶段对不同超参数的需求
(2)随着训练过程针对深度神经网络的结构进行适应性的调整,以获得针对不同问 题的最优训练模型
关于探索能力差的问题:
1)基于计数的探索策略;2) 内部驱动的方法;3)好奇心机制;4)不确定性计算;5)变分信息 最大化;6)参数空间噪声。
但是这些探索策略存在一定的局限性,它们 或者需要在模型中增加额外的组件,或者只针对部分环境有效。
基于上述问题,本文提出:
• 本文提出了 NIERL 算法与 EGERL 算法;
• 提出了两种 novelty 计算标准并且将他们分别与适应度(fitness)结合作为 交叉部分父本选择标准;
• 基于模仿学习(IL)算法构建专家经验集用于子代个体训练;
• 利用 EA 与 DRL 学习速度的差异使 EA 学习速度快时能够通过精英直接指 导 DRL 中 agent 的训练;

2 进化强化学习近期工作

ERL 框架采用 GA 与 DDPG 算法进行组合,这种组合方式在 CEM-RL 一文 中被证实没用充分发挥进化算法部分的探索能力,所以在 CEM-RL 算法中作 者将 GA 替换为了进化策略中的交叉熵算法。通过维护分布参数中的均值与协 方差,并且通过注入高斯噪声提升多样性的方式来构建每一代的种群,之后将种 群分为等量的两半,其中一半个体直接进入评估阶段,另一半个体则首先分别计算梯度用于 DRL 部分 critic 网络参数的更新,之后同样进行评估,最终算法选 择种群中 fitness 最高的一半个体用于分布参数中均值与协方差的更新。
协同进化强化学习(CERL)算法所使用的框架与 ERL 也具有相似 之处。CERL 采用了神经进化与 DRL 的结合,同时也是将二者分为相对独立 的两个模块,两个模块通过信息交流相互影响。它与 ERL 算法不同之处在于,CERL 中 DRL 部分的学习者具有多个,其基本思想是利用不同视野的学习者组 合探索状态空间的不同部分,同时依旧保持任务目标的不变性。

PDERL 中依旧沿用了 ERL 框架 EA部分所采用的 GA,同时在 DRL 部分也沿用了 ERL 框架中所采用的 DDPG 算 法,而 PDERL 相较于 ERL 算法框架的改进主要是针对 EA 部分的传统 GA 所采 用的交叉算子进行改进,该部分的改进被称为"蒸馏交叉",通过为种群中的每 个个体引入"Genetic Memory",同时在每次生成子代个体时首先根据上一代的 评估结果,即 fitness,确定两个父本,之后从"Genetic Memory"中采样并输入 到 DRL 部分的 critic 网络中,将两个父本分别采样输入 critic 网络后输出的结果 进行比较并作为子代网络梯度训练标准。针对变异算子部分则是借鉴了针对原 始 GA 部分变异的无向性带来的灾难性遗忘问题,提出的一种近端变异算子,其 可根据参数的敏感性确定变异程度。
在训练过程中 PDERL 算法虽然能够很好的捕获当前探索到的最优的局部 最优解,但是其算法本身存在贪婪性,所以会使训练过程陷入一段"瓶颈 期",即陷入局部最优解很难逃出
PDERL 算法中关于 DRL 部分与 EA 部分的信息交流方式对于训练过程存 在一定的破坏性

3 改进方法

3.1 新颖度计算标准

1、针对单个个体的新颖度计算标准
其基本思想为,以种群中的每一个个体分别作为 novelty 标准计算对 象,当计算每个个体的 novelty 时,需要从深度强化学习部分的共享经验池中随 机采样出一个 batch 的经验,之后将这部分经验中记录的当前时刻的状态输入个 体对应的 actor 网络中获得每个个体在当前策略下访问该状态时会选择的动作, 将该动作与经验中记录的动作按照公式 3.1进行 novelty 的计算。
2、针对两个个体之间策略距离的新颖度计算标准
其基本思想为,以种群作为 novelty 标准计算对象,每 次从种群中任选两个个体,两个个体分别从对方的"Genetic Memory"最近存入 的经验中随机采样一个 batch 的经验,分别输入自身对应的 actor 网络中获得该 个体在当前策略下访问该状态时会选择的动作。
计算 novelty 时不再计算该个体的策略与历史策略之 间的差异,而是计算当前代所有个体之间策略的差异。K 近邻的思想是希望找 到所有个体中与其 K 个邻居距离之和最小的个体,而本文采用了 K 近邻的反逻 辑,即希望找到当前代所有个体中与除自己外的所有其他个体距离和最大的个 体。

3.2 组合选择策略

由于在训练的不同阶段,例 如训练的早期探索的重要性更高,训练的后期利用的重要性更高,亦或者在训练 的某些特殊阶段,例如训练过程陷入了局部最优解并且难以跳出等等二者的重 要性也不相同。所以考虑针对当前的训练情况给予 novelty 与 fitness 不同的优先 级,以达到根据训练情况自适应的调整训练策略的目的。
如果当前时刻的分数低于前 F 个时刻种群中 最优个体训练得分的某一可容忍范围 T 内,本文视为当前的训练陷入了局部最 优,或者当前的训练选择了较差的训练方向,此时 NIERL 算法会选择增强探索。

3.3 经验融合模仿

子代的 Genetic Memory 会继 承来自两个父本的部分经验,之后进行网络的学习。在本文中认为,这样的方式 会阻碍新产生的个体的探索能力,同时这也是造成学习过程中 GA 部分探索能 力没有充分发挥的原因之一。而阻碍的来源即是子代个体 Genetic Memory 中的 经验的多样性较差,为了解决该问题,本文借助了模仿学习的思想,即在种群中 除去两父本以外其他未被丢弃的个体中随机选取一个个体,将两父本与该个体 取相同数量的经验共同作为专家经验,由产生的子代个体继承,并通过专家经验 指导子代个体的学习过程。

3.4 训练稳定性模块

在从 DRL 到 EA 的信息流向中,被 agent 所取代的种群中的个体可能是 当前种群中的精英,导致所学知识的流失。造成这种现象的原因是,最初的精英 保留机制是通过替换 unselected 集合中的一些个体来实现的,即在每一代中由于GA 的性质,被选入 elite 集合中的个体不会经过变异过程,而会直接作为下一代 中的个体,而在其进入下一代之前,涉及到 elite 集合中个体的保存,通过保存策 略使其不会进入到变异阶段,从而不会修改 elite 集合中的个体。PDERL 中的个 体保存策略为,由于种群可以视为大小为"k"的数组,而经过选择策略后 elite集合、selected 集合和 unselected 集合中均会保存对应个体的下标,而 elite 集合 中的个体会通过网络替换的方式使 elite 集合中的个体替换掉 unselected 集合中 的部分个体,并且使该部分个体不会进入变异阶段,从而实现 elite 个体下标的 更新,而原始的 elite 个体对应的下标会被加入到 selected 集合进而进行变异操 作。这种方式的保留使精英有可能取代表现最差的个体,即将原始 unselected 集 合中效果最差个体对应的下标更新为 elite 个体,但是由于这些过程是发生在 GA执行过程中,所以 DRL 部分并不能感知到这种变化,所以在出现这种情况时当 前代的 elite 个体会被 agent 替代,这将可能导致知识的丢失,因为精英可以被视 为这一代个体中知识量最高的个体,如果新替换入种群中的 agent 具有的更高的 知识量便可以掩盖这种缺陷,但是当 agent 的知识量较低时,这种问题会尤为明 显。 因此,本文改变了这种精英的保留方式,使其不再通过取代 unselected 集合 中的个体而得以保留,而是通过取代自身而得以保留(即 elite 个体在数组中的 下标不会更新,同时其下标也不会被加入到 selected 集合中,从而不会经历变异 过程)。通过这种方法,精英个体肯定不会保留在最差个体所在的位置,因此当DRL 将信息传递给 EA 时,精英不会被替换。因此,所学的知识不会丢失。