《深度强化学习实战》读 策略梯度法、演员-评论家算法
[复制链接]
通过两章学习,做策略梯度法、演员-评论家算法笔记。
策略梯度法
策略梯度法分许多不同种类。在随机策略梯度法(见下图)中,神经网络的输出是一个代表概率分布的动作向量。
策略梯度的一种变体称为确定性策略梯度,其中智能体总是遵循某一个输出(见下图)。
定义 在给定策略网络参数的情况下,一个动作的概率表示为π,(a |0)。这就清楚地表明,动作a的概率明确地取决于策略网络的参数化。一般来说,我们以 P(x y)表示条件概率(conditionalprobability ),读作“给定时X 的概率分布”。这意味着存在某个函数,它接收一个参数 y 并返回在其他某个参数x上的概率分布。
REINFORCE 是策略梯度法的一种简单实现,它的本质是最大化动作概率乘采取该动作后观察到的奖励值,这样每个动作的概率(给定一个状态)都会根据观察到的奖励大/进行调整。
训练模型包含以下步骤:
1.计算动作的概率
2.计算未来奖励
3.计算损失函数
4.进行反向传播
演员-评论家算法
分布式训练:对于大部分深度学习模型,我们都会进行分批训练 (batch training),即将训练数据的一个随机子集进行分批,然后在反向传播和梯度下降处理之前计算整个批次的损失。在更新模型参数之前,我们需要对一批数据中的噪声进行平均来得到真实的信号。
我们使用 LSTM 网络或 GRU 这样的递归神经网络,这些 RNN 可以保持一个能够存储过去轨迹( 见下图)的内部状态,对于自然语言处理(NaturaLanguage Processing,NLP)任务特别有用。经验回放不能与 RNN 一起工作,除非回放缓冲器存储了整个轨迹或完整的轮次,因为 RNN 是用来处理序列数据的。
演员-评论家算法需要同时产生状态-价值和动作概率。我们使用动作概率来抽样一个动作并获得奖励,并将其与状态-价值进行比较来计算优势。优势是最终用来强化动作和训练模型的量。
N-step 学习是介于完全在线学习和更新前等待完整轮次(蒙特卡洛学习) 之间的学习如图5.11 所示。顾名思义,我们累积 N步的奖励,然后计算损失并进行反向传播。步骤数量可以为1(减小到完全在线学习)到轮次的最大步数(蒙特卡洛学习 )。通常,我们会选择一个介于两者之间的数来同时获得两者的优势。首先,我们将展示情景式演员-评论家算法,然后将它应用于N-step。
N-step学习
下图显示了演员-评论家算法。演员-评论家算法需要同时产生状态-价值和动作概率。我们使用动作概率来抽样一个动作并获得奖励,并将其与状态-价值进行比较来计算优势。
演员-评论家算法演示
小结:这两章主要讲了测录梯度法和演员-评论家算法,通过阅读抓取出笔记重点,对他们有进一步了解,像RNN神经网络模型,在工程中有经常用到,通过学习,对基本原理可以加深理解。
|