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

基本概念

监督学习与强化学习

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

MDP形式定义

RL的目标

最大化累积奖赏的期望

CEM交叉熵方法

算法步骤

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

Tabular CE

Smoothing

  • 上述方法存在一个问题:如果某个状态只访问了一次,那么在那一次所采取的动作将会在未来一直被采取。
  • 应用平滑技术:
    π ( a | s ) = [ <mtext> took a at s </mtext> ] + λ [ <mtext> was at s </mtext> ] + λ 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才能训练
全部评论

相关推荐

02-21 23:34
已编辑
厦门大学 Java
神哥不得了:神哥来啦~首先你的bg的话应该算是很好的了,可以把其他删掉,不需要手搓项目呀,直接找网上的项目看懂就行,第一个项目的话虽然和JAVA没有关系,但是他的星数很多,说明你的编程能力还是很强的,我觉得第一个项目是可以放上去的,但是第二个项目的话建议还是再换一个高质量的项目,感觉如果你再把高频top 50的八股再巩固几遍,完全有机会在没有实习的情况下,从暑期实习的大厂,机会还是很大的,注意别看一些假高频八股就行
点赞 评论 收藏
分享
野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务