强化学习笔记:Policy-based Approach
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习笔记:Policy-based Approach相关的知识,希望对你有一定的参考价值。
主要内容来自李宏毅老师的视频:【李宏毅】2020 最新课程 (完整版) 强化学习 - 71.作業十五 ML Lecture 23-1 - Deep Re_哔哩哔哩_bilibili
1 强化学习概念复习
2 像深度学习一样分析强化学习
2.1 深度学习三部曲
这是李宏毅教授之前在介绍深度学习的时候说提到的三部曲。
step1相当于是深度学习model,step2相当于是损失函数,step3相当于梯度下降等参数更新方法
2.2 强化学习的“step1”
我们以一款类似于“雷霆战机”的游戏为例
输入是当前的游戏界面(被表示成一个向量或者一个矩阵)
输出是我们执行每个动作的概率
2.3 强化学习的“step 2”
给定agent看到的状态s,模型的参数θ,agent会做出一系列的决策
但是,就像2.2中说的那样,我们模型返回的是选择不同action的概率,所以即便是一个agent,选择的action组成的路径也很有可能是不同的
所以我们认为Rθ的平均值是我们的衡量标准
对于一个agent,“玩一遍游戏”过程中的status、action、reward,连起来就是轨迹
如果我们选择一个agent去“玩游戏”,那么每一种轨迹都有可能会被采样到,只不过是概率问题。
2.4 强化学习的“step 3”
同样地,也是使用梯度下降
最右边的一项(分式)就是logP的微分
这个在2.3中讲过,我们通过采样N次来近似这个求和操作
注意这里是整个路径的R,也就是说这里的的计算不涉及的微分。所以哪怕不可微也可以
那么,怎么算呢?
我们假设路径为
那么我们有:
两个黄颜色的式子,是由environment决定的,只有红颜色的一个是由agent决定
取log,我们有:
打个比方
对于梯度下降,我们有:
3 基于策略的强化学习
类似于SGD,每一我跑一些agent,然后用这些agent的结果更新模型。再用更新的模型跑另外的一些agent,再更新模型。。。。如此迭代
这里用一种方式解释了为什么前面我们梯度下降的时候需要加log
我们把强化学习看成一个分类问题,那么我们的损失函数就是交叉熵。
上图是一个分类问题的示意图,假设我们最终希望是执行“left”选项,那么在分类问题中,就是这一个的item为1,其他的为0。
对于梯度下降的式子,我们不妨这么看:先遮去R
那么这就是一个分类问题
现在我们是强化学习问题,有了一个reward在里面。
我们假设路径1的reward为2,路径2的reward为1
那么可以想象成,选择left的结果,我们会看到两次;选择fire的结果,我们会看到一次
所以大体框架和分类差不多,只不过加了一个权重罢了
以上是关于强化学习笔记:Policy-based Approach的主要内容,如果未能解决你的问题,请参考以下文章