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

基本概念

监督学习与强化学习

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

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 ] + λ N a c t i o n s
  • 另一种:平滑更新
    π i + 1 ( a | s ) = α π o p t + ( 1 α ) π i ( a | s )

随机MDP

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

Approximate CE

算法步骤

这里写图片描述

连续动作空间

这里写图片描述

CE Trick

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

CE方法总结:

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

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

  • 需要完整的session才能训练

猜你喜欢

转载自blog.csdn.net/u012151283/article/details/80503472