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

Policy-Based Method RL

Policy-Based Method RL

在这里插入图片描述

策略函数 π ( a ∣ s ) \pi(a|s) π(as) 是一个概率密度函数,以 s s s为输入,输出是 每个动作的概率分布。

agent根据策略函数随机抽样选择动作 a a a执行。


1.策略网络

在这里插入图片描述

我们使用策略网络来近似策略函数 π \pi π,网络的训练参数为 θ \theta θ

2.状态价值函数

在这里插入图片描述

定义状态价值函数 V π ( s t ) V_\pi(s_t) Vπ(st) 为动作价值函数的期望。


在这里插入图片描述

a a a为离散随机变量时,我们将 V p i ( s t ) V_{pi}(s_t) Vpi(st) 通过连乘的方式累加求和。


在这里插入图片描述

通过策略网络的近似,我们可以得到如上图等式。


在这里插入图片描述

我们的目标是最大化 V π V_\pi Vπ对于 S S S的期望, J ( θ ) J(\theta) J(θ)用来表示当前策略 π \pi π的胜率。

因此我们要最大化 J ( θ ) J(\theta) J(θ)

通过Policy Gradient 策略梯度算法实现。


在这里插入图片描述

通过带入,我们的 V V V对于 θ \theta θ的导数也就是梯度的等式变形。

在这里插入图片描述

通过对 π \pi π 函数相对 θ \theta θ的导数和 Q π Q_{\pi} Qπ的乘积之和,便可以得到梯度,但是该方法过于简化且不严谨,因为 Q π Q_\pi Qπ也与 θ \theta θ有关,但是最终实际结果一样。

在这里插入图片描述


对于连续型随机变量,我们不能使用上述方法。

在这里插入图片描述

而是对 log ⁡ π ( θ ) \log \pi(\theta) logπ(θ) 求导数,根据链式法则可以得到如上图变形。

在这里插入图片描述

最后,我们可以用上图的期望所表示梯度。


在这里插入图片描述

因为 π \pi π策略函数是一个神经网络,无法进行积分求期望,因此我们考虑用蒙特卡洛近似,即根据策略函数随机抽样 a ^ \hat{a} a^ ,定义 g ( a ^ , θ ) g(\hat{a},\theta) g(a^,θ)作为无偏估计,近似表示梯度。


算法如下图所示:

在这里插入图片描述


3.价值函数如何近似

在这里插入图片描述

在该方法中,我们不知道价值函数 Q π ( s t , a t ) Q_\pi(s_t,a_t) Qπ(st,at),我们如何近似呢?

第一种方法是REINFORCE,将agent执行完一轮的动作,得到一个 ( s , a , r ) (s,a,r) (s,a,r)的轨迹,然后用 u t u_t ut 实际回报近似 E [ U t ] E[U_t] E[Ut]


第二种方法就是使用actor-critic method,使用策略网络近似 Q π ( s t , a t ) Q_\pi(s_t,a_t) Qπ(st,at) 函数。

在这里插入图片描述

相关文章:

  • 001:你好Direct 2D! 在对话框中初次使用D2D
  • 文件系统基础
  • 2022/9/5开始第三版接口自动化(yaml用例)测试框架(记录搭建过程)
  • Github每日精选(第38期):Java 8+ Jar 和 Android APK 逆向工程套件(反编译器、编辑器、调试器等)bytecode-viewer
  • Pandas 操作数据(三)
  • 查题系统API无限搜题接口搭建
  • python之爬虫基础(1)
  • CVE-2022-22978 Spring-security 认证绕过漏洞分析和漏洞挖掘思考
  • 小孩取名:瑭字的寓意和含义
  • 7、IOC 之Bean定义继承 parent
  • J9数字论:模块化公链能否成为公链新趋势?
  • UVM环境中reset复位的处理
  • 示波器探头的选择和作用及原理
  • 新学期,我的FLAG不能倒~
  • 好心情精神心理科医生:精神病人为何会出现幻觉?
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Asm.js的简单介绍
  • codis proxy处理流程
  • E-HPC支持多队列管理和自动伸缩
  • JSDuck 与 AngularJS 融合技巧
  • python 装饰器(一)
  • Python_OOP
  • React-flux杂记
  • swift基础之_对象 实例方法 对象方法。
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Vim 折腾记
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 前端知识点整理(待续)
  • 数据仓库的几种建模方法
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • Nginx实现动静分离
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #LLM入门|Prompt#3.3_存储_Memory
  • #stm32驱动外设模块总结w5500模块
  • #微信小程序:微信小程序常见的配置传旨
  • (1)(1.9) MSP (version 4.2)
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (3)选择元素——(17)练习(Exercises)
  • (BFS)hdoj2377-Bus Pass
  • (function(){})()的分步解析
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (十八)SpringBoot之发送QQ邮件
  • (算法)求1到1亿间的质数或素数
  • (译)2019年前端性能优化清单 — 下篇
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)德国人的记事本
  • (转载)hibernate缓存
  • .equals()到底是什么意思?