《强化学习》 基本概念和交叉熵方法

基本概念

监督学习与强化学习

监督学习 强化学习
通过学习近似参考答案 通过试验和错误来学习最优策略
需要正确答案 代理的动作需要反馈
模型不影响输入数据 代理可以影响自己的观察

MDP形式定义

《强化学习》 基本概念和交叉熵方法

RL的目标

最大化累积奖赏的期望
《强化学习》 基本概念和交叉熵方法

CEM交叉熵方法

算法步骤

  1. 初始化策略
  2. 重复
    1. 抽样N个sessions
    2. 选取elite sessions:选择前M个最好的session(奖励最大的)
    3. 更新策略使得elite sessions中的动作优先级更高

Tabular CE

《强化学习》 基本概念和交叉熵方法

Smoothing

  • 上述方法存在一个问题:如果某个状态只访问了一次,那么在那一次所采取的动作将会在未来一直被采取。
  • 应用平滑技术:
    π(a|s)=[took a at s]+λ[was at s]+λNactions
  • 另一种:平滑更新
    πi+1(a|s)=απopt+(1α)πi(a|s)

随机MDP

  • 如果环境具有随机性,算法会更偏向“幸运”的session。
  • 在(由随机性带来的)幸运session上训练并不好。
  • 解决方法:在每一个状态抽样若干个动作,从那些state-action对开始运行若干模拟,将结果平均。降低随机性的影响。

Approximate CE

算法步骤

《强化学习》 基本概念和交叉熵方法

连续动作空间

《强化学习》 基本概念和交叉熵方法

CE Trick

  • 记住最近3-5次迭代的sessions
    • 全部用于训练(利用最近的sessions和新抽样的sessions作为候选)
    • 简单环境下可能导致收敛变慢
  • 使用熵来正则化
    • 防止过早收敛,防止最优动作无法被探索到
  • 并行采样
  • 如果是部分观测问题,使用RNN

CE方法总结:

  • 容易实现
  • 效果还不错
  • 黑盒优化

    • 不知道环境信息
    • 不知道中间奖赏信息
  • 样本效率低,采样了很多sessions,只有部分可以用于训练。在现实环境很难使用。

  • 需要完整的session才能训练