当前位置: 首页 > news >正文

强化学习笔记(5)——PPO

PPO视频课程来源
首先理解采样期望的转换
请添加图片描述

变量x在p(x)分布下,函数f(x)的期望 等于f(x)乘以对应出现概率p(x)的累加
经过转换后变成
x在q(x)分布下,f(x)*p(x)/q(x) 的期望。

起因是:求最大化回报的期望,所以对ceta求梯度

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

具体举例:上述公式计算的流程?如何求一条轨迹的梯度?
我理解就算是概率相乘在这里插入图片描述> 一回合的回报乘以该回合梯度除以该轨迹(s,a,r,s,a…)出现概率
如何求一条轨迹的梯度?
在这里插入图片描述

然后PPO 推倒,对数 概率连乘,等于概率累加

在这里插入图片描述

但这样有问题:用一整个回合的回报来计算梯度,会导致“未来的动作”影响过去的状态,且 优势情况下,惩罚不明显
于是改成:
在这里插入图片描述
在这里插入图片描述
将优势函数 转换成值函数表示,然后写出多步优势函数即推导出GAE在这里插入图片描述
其实就是用走了不同步的Q(s,a)-V(s) ,然后加权
在这里插入图片描述
加负号将最大化期望转成loss函数更新
PPO 使用了一个重要性采样比 在这里插入图片描述
这个比值衡量了新策略和旧策略在选择动作 at时的相对概率

在这里插入图片描述
为了防止:过去参数ceta’ 和 ceta 差距不要太大,有两种衡量方式;
1:KL散度 :这貌似又叫TRPO
2:clip截断防止差的太大

在这里插入图片描述

伪代码
在这里插入图片描述
用old策略网络做动作和环境交互,然后梯度更新,每过K个epochs将old参数复制给new

http://www.lryc.cn/news/531283.html

相关文章:

  • 【C语言入门】解锁核心关键字的终极奥秘与实战应用(三)
  • 寒假day10
  • 本地部署与使用SenseVoice语音大模型简析
  • Kafka SASL/SCRAM介绍
  • 中间件漏洞之CVE-2024-53677
  • pytorch基于 Transformer 预训练模型的方法实现词嵌入(tiansz/bert-base-chinese)
  • Windows电脑本地部署运行DeepSeek R1大模型(基于Ollama和Chatbox)
  • 区间覆盖问题
  • 【LLM-agent】(task2)用llama-index搭建AI Agent
  • SpringAI 人工智能
  • 【axios二次封装】
  • P7497 四方喝彩 Solution
  • 深入剖析 Bitmap 数据结构:原理、应用与优化策略
  • bypass hcaptcha、hcaptcha逆向
  • WebForms DataList 深入解析
  • C# List 列表综合运用实例⁓Hypak原始数据处理编程小结
  • 【C++基础】字符串/字符读取函数解析
  • 大模型-CLIP 详细介绍
  • 1.4 Go 数组
  • WebSocket——环境搭建与多环境配置
  • 三、递推关系与母函数,《组合数学(第4版)》卢开澄 卢华明
  • 线程互斥同步
  • DeepSeek R1 AI 论文翻译
  • 如何计算态势感知率?
  • 二、CSS笔记
  • Alibaba开发规范_异常日志之日志规约:最佳实践与常见陷阱
  • 使用istio实现权重路由
  • M. Triangle Construction
  • 每天学点小知识之设计模式的艺术-策略模式
  • 机试题——到邻国目标城市的最短距离