基于Pytorch的强化学习(DQN)之 Baseline 基本概念
Posted ZDDWLIG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Pytorch的强化学习(DQN)之 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)