基于Pytorch的强化学习(DQN)之 Baseline 基本概念

Posted ZDDWLIG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Pytorch的强化学习(DQN)之 Baseline 基本概念相关的知识,希望对你有一定的参考价值。

目录

1. 引言

2. 数学推导

2.1 引理

2.2 改进的策略梯度

2.3 蒙特卡罗模拟

3. baseline的选择


1. 引言

我们前面讲过策略梯度下降算法 ,现在来介绍一种加快收敛速度的方法:设置Baseline。

2. 数学推导

我们之前推导过状态价值函数梯度的公式 ,以下证明源于这个公式。

2.1 引理

我们先证明一个引理: 其中  是不依赖于  的量

这个 引理告诉我们:只要我们找到一个不依赖于  的量  ,就有 

2.2 改进的策略梯度

由  与  我们得到 

这样我们便得到了策略梯度的新的表达式 

这里的  不依赖于  ,我们称之为baseline,过这种方法我们可以降低方差同时不改变均值来使算法收敛更快 

2.3 蒙特卡罗模拟

类似于之前训练策略网络,由于表达式 含有期望,不好计算,于是我们使用蒙特卡罗近似这个期望,引入

由于 , 本质上是一个随机梯度,且是  的一个unbiased estimation,所以我们利用随机梯度上升更新参数,这样状态价值函数就会变大,也就是策略变得更优。

3. baseline的选择

我们知道只要  接近 的方差就会变小,收敛速度就会加快,因此我们要选取合适的  来加快收敛速度,有两种常见的baseline的选取

第一种是  也就是原始的策略梯度,之前已经讲过,就不再赘述。另一种是  ,由于  先于  出现,于是不依赖于  ,又由我们之前推导过的公式 

我们知道  是接近  的,这样便达到了减小方差的目的。

以上是关于基于Pytorch的强化学习(DQN)之 Baseline 基本概念的主要内容,如果未能解决你的问题,请参考以下文章

基于Pytorch的强化学习(DQN)之Q-learning

基于Pytorch的强化学习(DQN)之 Baseline 基本概念

基于Pytorch的强化学习(DQN)之 Multistep TD target

(pytorch复现)基于深度强化学习(CNN+dueling network/DQN/DDQN/D3QN)的自适应车间调度(JSP)

(pytorch复现)基于深度强化学习(CNN+dueling network/DQN/DDQN/D3QN)的自适应车间调度(JSP)

(pytorch复现)基于深度强化学习(CNN+dueling network/DQN/DDQN/D3QN/PER)的自适应车间调度(JSP)