0 策略过于确定的优劣

策略学习的目的是学出一个策略网络 用于控制智能体agent。
比如基于某一个状态s,策略网络的输出为:

那么基本上agent进行的动作就是向右了

这样过于确定性的决策有好有坏:

  • 好处在于不容易选中很差的动作,比较安全。
  • 坏处在于智能体就会安于现状,不去尝试没做过的动作,不去探索更多的状态,无法找到更好的策略。

1 熵正则的引入

        我们希望策略网络的输出的概率不要集中在一个动作上,至少要给其他的动作一些非零的概率,让这些动作能被探索到。
        可以用熵 (Entropy) 来衡量概率分布的不确定性。 对于上述离散概率分布 p = [ p 1 , p 2 , p 3],熵等于
熵小说明概率质量很集中,熵大说明随机性很大

2 策略学习中的熵正则

        我们希望策略网络输出的概率分布的熵不要太小。我们不妨把熵作为正则项,放到策略学习的目标函数中。
        策略网络的输出是维度等于 |A| 的向量, 它表示定义在动作空间上的离散概率分布。
        这个概率分布的熵定义为:
我们希望对大多数状态,熵都比较大,也就是让 比较大。
所以此时,带有熵正则的策略学习可以写作:

2.1 带熵正则的优化

带熵正则之后,梯度是:

通过推导可得此时g(θ)的无偏估计是

2.1.1 推导

而在 强化学习笔记:policy learning_UQI-LIUWJ的博客-CSDN博客中,我们知道

所以二者一结合,有:

参考内容:王树森 强化学习

强化学习笔记:熵正则相关推荐

  1. 强化学习笔记:Actor-critic

    0 复习 由于actor-critic 是 policy gradient 和DQN的一个结合,所以我们先对这两个进行一个简单的复习: 0.1 policy gradient 强化学习笔记:Polic ...

  2. 【李宏毅深度强化学习笔记】6、Actor-Critic、A2C、A3C、Pathwise Derivative Policy Gradient

    [李宏毅深度强化学习笔记]1.策略梯度方法(Policy Gradient) [李宏毅深度强化学习笔记]2.Proximal Policy Optimization (PPO) 算法 [李宏毅深度强化 ...

  3. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

  4. 142页ICML会议强化学习笔记整理,值得细读

    作者 | David Abel 编辑 | DeepRL 来源 | 深度强化学习实验室(ID: Deep-RL) ICML 是 International Conference on Machine L ...

  5. 强化学习笔记 DDPG (Deep Deterministic Policy Gradient)

    1 总述 总体来讲,和actor-critic 差不多,只不过这里用了target network 和experience relay 强化学习笔记 experience replay 经验回放_UQ ...

  6. 强化学习笔记:Q_learning (Q-table)示例举例

    1 示例介绍 在右侧有宝藏,探险者到达宝藏所在的位置,就可以获得奖励 比如某一时刻的状态是这个样子的:"-o---T" T 就是宝藏的位置, o 是探索者的位置 如果在某个地点 s ...

  7. 强化学习笔记:PPO 【近端策略优化(Proximal Policy Optimization)】

    1 前言 我们回顾一下policy network: 强化学习笔记:Policy-based Approach_UQI-LIUWJ的博客-CSDN博客 它先去跟环境互动,搜集很多的 路径τ.根据它搜集 ...

  8. 强化学习笔记:Sarsa算法

    1 Sarsa(0) Sarsa算法和TD类似,只不过TD是更新状态的奖励函数V,这里是更新Q函数强化学习笔记:Q-learning :temporal difference 方法_UQI-LIUWJ ...

  9. 强化学习笔记: generalized policy iteration with MC

    强化学习笔记: MDP - Policy iteration_UQI-LIUWJ的博客-CSDN博客 强化学习笔记:Q-learning_UQI-LIUWJ的博客-CSDN博客 在policy ite ...

最新文章

  1. mysql访问oracle数据_python访问Oracle及Mysql数据库
  2. 【特征工程】17种将离散特征转化为数字特征的方法
  3. Java EE——SpringMVC框架学习
  4. ABPZero系列教程之拼多多卖家工具
  5. java gc error_java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解决方案
  6. 26.如何使用python操作我们自己创建的docker image呢?
  7. stm8s003f3使用杂记
  8. 【python报错】Python词云库wordcloud不显示中文
  9. python 实现批量抠图
  10. 【搜索/提问必备】如何正确的在Stack Overflow提问
  11. 隐马尔科夫模型——学习算法
  12. python爬取网易云热歌榜
  13. silvaco 仿真BJT
  14. 前端页面查看PDF文档内容总结
  15. mysql 启动 pid update_MySql服务器启动错误“服务器退出而不更新PID文件”
  16. [zz] 关于字体和字体微调(Hinting )的知识
  17. php 数组函数特点,php常见数组函数
  18. unity3d MVC设计模式
  19. 做淘宝怎样去免费推广自己的淘宝店铺
  20. PyTorch+PyG实现图神经网络经典模型目录

热门文章

  1. html的换行代码br/介绍和写法
  2. 方格(带对角线)的走法
  3. after interviewing,test and learning.
  4. 【Android2 2及以上】如何允许你的应用移动到SD卡
  5. 一文搞懂App测试,APP测试方案
  6. hbuilder php语法验证,HBuilderX语法校验、eslint实时校验自动修复功能配置
  7. 图像分类,物体检测,语义分割,实例分割等概念
  8. 编辑的福音——一款用python编写的文字素材采集分析工具
  9. linux modprobe自动加载,modprobe 开机自动加载模块的方法 亲测成功
  10. postgre 主键_postgresql删除主键的操作