直接策略微分

  • Goal:
  • idea:求最大值:直接求导
  • tip:利用log导数等式进行变换

  • 具体推导:

理解策略梯度

假定开始policy服从高斯分布,采样得到回报,计算梯度,根据reward增加动作概率,改变policy分布

  • 会发生的错误:高方差

    • 当采样有负奖励样本的时候(绿色奖励),原本policy改变向右移动更多(最右边的虚曲线);改变奖励(添加常量),变为正奖励(黄色奖励),向右移动的少了(中间虚曲线),从而这导致了高差异(相比于之前的曲线)。
    • 如果对于无限样本,不会导致差异。
    • 如果回报为0,那么它们的policy梯度就不重要。

减少方差

  • 因果关系:放弃过去的回报,policy不会影响t之前的回报

  • Baselines:不会改变期望值,会改变方差



    一般取b为回报均值:【but使得方差最小(即方差为0)的b不是回报均值】

Off-policy PG

  • REINFORCE algorithm(on-policy)

    • 缺点:每次改进参数都要扔掉样本(样本利用率低);单步梯度更新
    • 在基本RL过程中的表示:

  • 重要性采样原理(IS):实现从on-policy到off-policy
    • 原理:

    • 应用于RL:重用以前的policy(用 旧policy 进行采样,然后改进参数)

  • 应用
    • 使用自动差分器:伪loss进行反向传播
    • 实际要考虑
      • 梯度的高方差
      • 批量学习batch size
      • 学习率的调整learning rate
      • 优化器的选择optimizers

Advanced PG

  • 学习率的难题

    policy参数服从高斯分布,梯度总会趋向于更小的方差的方向移动,方差就成了决定性因素,均值就不动了,梯度速度就慢了,继而收敛慢了。故学习率调整的难题,如果 速度小,学习率大,会使得policy在均值方向上很快不动。
  • 自然梯度
  • 自动步长调整

    .....

Resource:CS285官网资料

版权归原作者 Lee_ing 所有

未经原作者允许不得转载本文内容,否则将视为侵权;转载或者引用本文内容请注明来源及原作者

lec-5-Policy Gradients的更多相关文章

  1. (zhuan) Deep Deterministic Policy Gradients in TensorFlow

          Deep Deterministic Policy Gradients in TensorFlow AUG 21, 2016 This blog from: http://pemami49 ...

  2. 几句话总结一个算法之Policy Gradients

    强化学习与监督学习的区别在于,监督学习的每条样本都有一个独立的label,而强化学习的奖励(label)是有延后性,往往需要等这个回合结束才知道输赢 Policy Gradients(PG)计算某个状 ...

  3. Policy Gradient Algorithms

    Policy Gradient Algorithms 2019-10-02 17:37:47 This blog is from: https://lilianweng.github.io/lil-l ...

  4. (转)RL — Policy Gradient Explained

    RL — Policy Gradient Explained 2019-05-02 21:12:57 This blog is copied from: https://medium.com/@jon ...

  5. (转) How to Train a GAN? Tips and tricks to make GANs work

    How to Train a GAN? Tips and tricks to make GANs work 转自:https://github.com/soumith/ganhacks While r ...

  6. (转) Deep Learning Research Review Week 2: Reinforcement Learning

      Deep Learning Research Review Week 2: Reinforcement Learning 转载自: https://adeshpande3.github.io/ad ...

  7. (转) Deep Reinforcement Learning: Pong from Pixels

    Andrej Karpathy blog About Hacker's guide to Neural Networks Deep Reinforcement Learning: Pong from ...

  8. [Reinforcement Learning] 强化学习介绍

    随着AlphaGo和AlphaZero的出现,强化学习相关算法在这几年引起了学术界和工业界的重视.最近也翻了很多强化学习的资料,有时间了还是得自己动脑筋整理一下. 强化学习定义 先借用维基百科上对强化 ...

  9. 花十分钟,让你变成AI产品经理

    花十分钟,让你变成AI产品经理 https://www.jianshu.com/p/eba6a1ca98a4 先说一下你阅读本文可以得到什么.你能得到AI的理论知识框架:你能学习到如何成为一个AI产品 ...

  10. 学习笔记TF037:实现强化学习策略网络

    强化学习(Reinforcement Learing),机器学习重要分支,解决连续决策问题.强化学习问题三概念,环境状态(Environment State).行动(Action).奖励(Reward ...

随机推荐

  1. maui BlazorWebView+本地html (vue、uniapp等都可以) 接入支付宝sdk 进行支付宝支付 开发 Android app

    首先添加支付宝sdk的绑定库 nuget 包:Chi.MauiBinding.Android.AliPay 项目地址:https://github.com/realZhangChi/MauiBindi ...

  2. ElasticSearch 实现分词全文检索 - SpringBoot 完整实现 Demo 附源码【完结篇】

    可以先看下列文章 目录 ElasticSearch 实现分词全文检索 - 概述 ElasticSearch 实现分词全文检索 - ES.Kibana.IK安装 ElasticSearch 实现分词全文 ...

  3. Moebius兼容AlwaysOn

    背景 数据库是信息化的基石,支撑着整个业务系统,发挥着非常重要的作用,被喻为"IT的心脏".因此,让数据库安全.稳定.高效地运行已经成为IT管理者必须要面对的问题.数据库在底层架构 ...

  4. 手机号码归属地的自动查询.py(亲测有效)

    import requests url = "http://m.ip138.com/sj.asp?mobile=" kv = {'user-agent':'Mozilla/5.0' ...

  5. WebSocket服务器

    //创建websocket 服务器  ws_server.php //https://wiki.swoole.com/wiki/page/479.html //创建websocket服务器对象,监听0 ...

  6. [ACM]STL-dfs

    #include<iostream> using namespace std; int book[101],sum,n,e[101][101]; void dfs(int cur) { c ...

  7. 刷爆 LeetCode 周赛 339,贪心 / 排序 / 拓扑排序 / 平衡二叉树

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 上周末是 LeetCode 第 339 场周赛,你参加了吗?这场周赛覆盖的知识点比较少, ...

  8. 面对AI的兴起,从人类发展到个人发展,普通人应当如何抉择?

    这一周被各种 AI 卷的不行,从 ChatGPT 4.0 上线到百度文心一言发布会,再到微软的 Microsoft 365 Copilot. 网上有很多人.公众号吐嘈百度,而晓衡接触到的圈子还有一些不 ...

  9. 投资组合计算分析——R语言

    "投资组合"是指金融资产(如股票.债券和现金)的任何组合.投资组合有很多类型,包括市场投资组合和零投资投资组合.可以使用以下任何一种投资方法和原则来管理投资组合的资产分配:股息加权 ...

  10. vue指令之属性指令

    目录 属性指令 示例 属性指令 标签上的属性可以绑定变量,变量变化,属性也会变化 # 什么是属性?比如: href/src/name/value/class/style... 语法: v-bind:属 ...