【强化学习】策略梯度Policy-Gradient
目录
- Value-based 强化学习方法的不足
- Policy-based 强化学习方法的引入
- 策略梯度的优化目标
- 策略函数的设计
- Softmax策略函数
- Gauss策略函数
- 蒙特卡罗策略梯度reinforce算法
- 小结
强化学习笔记,内容来自 刘建平老师的博客
Value-based 强化学习方法的不足
Q-learning、Sarsa、DQN都是基于价值的强化学习算法,存在主要三种不足:
1. 对连续动作的处理能力不足
DQN之类的方法一般都是只处理离散动作,无法处理连续动作。
2. 对受限状态下的问题处理能力不足
在使用特征来描述状态空间中的某一个状态时,有可能因为个体观测的限制或者建模的局限,导致真实环境下本来不同的两 个状态却再我们建模后拥有相同的特征描述,进而很有可能导致我们的value Based方法无法得到最优解。
3. 无法解决随机策略问题
Value-based强化学习方法对应的最优策略通常是确定性策略,因为其是从众多行为价值中选择一个最大价值的行为,而有 些问题的最优策略却是随机策略,这种情况下同样是无法通过基于价值的学习来求解的。
Policy-based 强化学习方法的引入
在Value-based强化学习方法里,对价值函数进行了近似表示,引入了一个动作价值函数q^,这个函数由参数w描述,并接受状态S与动作A作为输入,计算后得到近似的动作价值,即:
在Policy-based强化学习方法下,采样类似的思路,只不过这时对策略进行近似表示。此时策略π可以被被描述为一个包含参数θ的函数,即:
将策略表示成一个连续的函数后就可以用连续函数的优化方法来寻找最优的策略了,最常用的方法就是梯度上升法。
策略梯度的优化目标
1. 初始状态收获的期望:
2. 平均价值:
(其中,dπθ(s)是基于策略πθ生成的马尔科夫链关于状态的静态分布 )
3. 每一时间步的评价奖励:
无论哪一种,最终对θ求导的梯度都可表示为:
还可以采用很多其他可能的优化目标来做梯度上升,此时梯度式子里面的∇θlogπθ(s,a)部分并不改变,变化的只是后面的Qπ(s,a)部分。∇θlogπθ(s,a) 一般称为分值函数(score function)。
策略函数的设计
Softmax策略函数
主要应用于离散空间中,使用描述状态和行为的特征ϕ(s,a) 与参数θ的线性组合来权衡一个行为发生的几率,即:
则通过求导求出对应的分值函数为:
Gauss策略函数
主要应用于连续行为空间,对应的行为从高斯分布N(ϕ(s)^T θ,σ^2)中产生。对应的分值函数通过对策略求导可以得到为:
蒙特卡罗策略梯度reinforce算法
蒙特卡罗策略梯度reinforce算法是最简单的策略梯度算法,使用价值函数 v(s) 来近似代替策略梯度公式里面的 Qπ(s,a)。
算法流程:
输入:N个蒙特卡罗完整序列,训练步长α
输出:策略函数的参数θ
1. for 每个蒙特卡罗序列:
a)用蒙特卡罗法计算序列每个时间位置t的状态价值 vt
b)对序列每个时间位置t,使用梯度上升法更新策略函数的参数θ:
2. 返回策略函数的参数θ(策略函数可以是Softmax策略,高斯策略或者其他策略 )
小结
策略梯度提供了和 DQN 之类的方法不同的新思路,但是简单的蒙特卡罗策略梯度reinforce算法却并不完美。由于是蒙特卡罗法,需要完全的序列样本才能做算法迭代,同时蒙特卡罗法使用收获的期望来计算状态价值,会导致行为有较多的变异性,参数更新的方向很可能不是策略梯度的最优方向。因此,Policy-based的强化学习方法还需要改进,例如 Policy-based与Value-based结合的策略梯度方法Actor-Critic。
【强化学习】策略梯度Policy-Gradient相关推荐
- 强化学习(十三) 策略梯度(Policy Gradient)
在前面讲到的DQN系列强化学习算法中,我们主要对价值函数进行了近似表示,基于价值来学习.这种Value Based强化学习方法在很多领域都得到比较好的应用,但是Value Based强化学习方法也有很 ...
- 系统学习深度学习(三十五)--策略梯度(Policy Gradient)
转自:https://www.cnblogs.com/pinard/p/10137696.html 在前面讲到的DQN系列强化学习算法中,我们主要对价值函数进行了近似表示,基于价值来学习.这种Valu ...
- 强化学习(Reinforcement Learning)之策略梯度(Policy Gradient)的一点点理解以及代码的对应解释
一.策略梯度算法推导以及解释 1.1 背景 设πθ(s)\pi_{\theta }(s)πθ(s)是一个有网络参数θ\thetaθ的actor,然后我们让这个actor和环境(environment ...
- 强化学习(4):策略梯度Policy Gradient算法
本章内容主要参考了UC Berkeley Deep RL Bootcamp的内容,由作者按照自己的理解整理而成 终于到Policy Gradient方法了! 一.引言 reinforcement le ...
- 强化学习PPO从理论到代码详解(1)--- 策略梯度Policy gradient
第0章 闲聊吹水 Proximal Policy Optimization(PPO) 近端策略优化,可以说是目前最稳定,最强的强化学习算法之一了,也是openAI默认的强化学习算法,有多叼不用我说了吧 ...
- 强化学习系列之Policy Gradient算法
一. 背景 1.1 基础组成部分 强化学习里面包含三个部件:Actor,environment,reward function Actor : 表示角色,是能够被玩家控制的. Policy of Ac ...
- 强化学习 | 策略梯度 | Natural PG | TRPO | PPO
学习情况:
- 【深度强化学习】策略梯度 Policy Gradients
文章目录 前言 values 和 policy 策略的表示 策略梯度 REINFORCE method 实例:CartPole 前言 重读<Deep Reinforcemnet Learning ...
- ChatGPT 使用 强化学习:Proximal Policy Optimization算法(详细图解)
ChatGPT 使用 强化学习:Proximal Policy Optimization算法 强化学习中的PPO(Proximal Policy Optimization)算法是一种高效的策略优化方法 ...
- 浅析强化学习及使用Policy Network实现自动化控制
来源:极客头条 概要:强化学习已经有几十年的历史,但是直到最近几年深度学习技术的突破,强化学习才有了比较大的进展. 浅析强化学习 一个强化学习问题包含三个主要概念,即环境状态(Environment ...
最新文章
- 【jQuery Demo】图片瀑布流实现
- 2020年推荐系统工程师炼丹手册RecSys-Long Paper版
- 彻底解决_OBJC_CLASS_$_某文件名, referenced from:问题
- IBM TS3200 Drive故障处理方案
- linux rsync删文件速度,为什么用rsync删除大量文件的时候比用rm快
- 如何用极路由新插件【搜狐视频】进行远程下载
- ubuntu 安装deb程序文件失败的解决方法
- (SenchaTouch+PhoneGap)开发笔记(2)开发环境搭建二
- Pygal简单使用——模拟掷骰子
- -3dB下的正确率是100%!!!
- 简单介绍WaitForSingleObject / WaitForMultipleObjects
- ubuntu下使用vi退出终端出现乱码的解决方案
- DOC命令大全【详细版】
- Audition CC 2019 for Mac中文破解版永久激活方法附破解补丁
- Java:详解List集合的排序功能
- 新唐NUC980使用记录:向内核添加USB无线网卡驱动(基于RTL8188EUS)
- 用计算机求正有理数算术平方根的步骤,用计算器求算术平方根、用有理数估计算术平方根的大小.doc...
- Android 面部识别之二(调用开源面部识别算法seetaface检测)
- 2021年上半年系统集成项目管理工程师上午试题参考解析(二)
- 简单地获得UTM坐标系