强化学习笔记:带基线的策略梯度

强化学习笔记:policy learning_UQI-LIUWJ的博客-CSDN博客中,我们通过

对策略网络的参数进行更新。

REINFORCE和Actor-Critic分别通过不同的方式近似Q_\pi(s,a)来实现之 

1 baseline

基于8.1得出的REINFORCE和Actor-Critic通常效果并不好。但是做一个小改动之后,就可以大幅提升表现:

把b作为动作价值函数Q_\pi(s,a)的基线(baseline),用Q_\pi(s,a)-b代替Q_\pi(s,a)

这里b可以是任意的不依赖于动作action的函数

 这里成立的原因在于,可以证明

        定理中的策略梯度是期望的形式。我们对期望进行蒙特卡洛近似。从环境中观测一个状态s,根据策略网络抽样得到一个动作a。

        于是策略梯度\nabla_\theta J(\theta)可以近似为:

1.1 证明定理1正确性

 

 

 

2 带baseline的REINFORCE算法

我们这里使用状态价值V_\pi(s)作为基线b,得到策略梯度的一个无偏估计 

 

2.1 策略网络和价值网络

 带基线的 REINFORCE 需要两个神经网络:策略网络 π(a|s; θ) 和价值网络 v(s; w)

 

        虽然带基线的 REINFORCE 有一个策略网络和一个价值网络, 但是这种方法不是Actor-Critic 价值网络没有起到“评委”的作用,只是作为基线而已,目的在于降低方差, 加速收敛 。真正帮助策略网络改进参数 θ 的不是价值网络,而是实际观测到的回报 u

2.2 训练策略网络

2.3 训练价值网络

注:此时不是用TD了,而是直接回归

训练价值网络的目的是让v(s_t;w)去拟合V_\pi(s_t),也就是拟合ut的期望

于是我们定义损失函数 

 

用它来进行梯度下降更新 

 2.4 整体训练流程

设当前策略网络参数是\theta_{now},价值网络参数是w_{now}

 

 

 3 带baseline的Actor-Critic (A2C)

 优势函数一词在强化学习笔记:对决网略(dueling network)_UQI-LIUWJ的博客-CSDN博客中出现过

因而带Baseline 的Actor-Critic 又被称作Advantaged Actor-Critic,缩写为A2C

3.1 训练价值网络

这里就得用TD了

 TD损失函数:

 

 3.2 训练策略网络

 我们先回忆一下贝尔曼公式:

 

对上式进行蒙特卡洛近似,有:

 进一步把V_\pi(s_t)替换成价值网络v(s;w),有:

 沿用3.1对TD目标和TD误差的定义

所以这里可以写成 

于是用梯度上升更新策略网络参数 

 3.3 整体流程

 

 和无baseline的actor-critic一样

 无baseline的actor-critic算的是Q(s,a),这里算的是V(s)

 

 和无baseline的actor-critic一样

  无baseline的actor-critic第二项是加号,这边是减号

 此处训练策略网络和价值网络的方法属于同策略 (On-policy),要求行为策略 (Behavior Policy) 与目标策略 (Target Policy) 相同,所以不能使用经验回放

3 关于经验回放的一个疑问(欢迎讨论)

在学习了DPG确定策略梯度后,有一个小问题想和大家探讨一下:就是像SARSA这样的同策略,就算是用了经验回放,会有很大的影响嘛?

因为我更新sarsa的五元组里面(s_t,a_t,r_t,s_{t+1},\widetilde{a_{t+1}}),受到策略\pi影响的就是(a_t,\widetilde{a_{t+1}})s_t是已知,(r_t,s_{t+1})是和环境交互的结果,与策略\pi关系不大。

策略\pi输出的是基于s_t的action的一个概率分布。换句话说,不管 策略\pi 的参数是什么,某一个动作a都能取到,只不过是取到的概率的不同。

那么这样的话,我agent实时交互得到动作(a_t,\widetilde{a_{t+1}})和使用过去的经验(a_t,\widetilde{a_{t+1}}),有什么区别嘛?(因为  策略\pi 参数的变动,影响的也只是取到 动作(a_t,\widetilde{a_{t+1}}) 的概率,不代表 \pi 参数更新后,(a_t,\widetilde{a_{t+1}})取不到啊。。。)

那这样的话,我像SARSA这样的同策略模型,也不是不可以使用经验回放?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值