强化学习笔记: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的主要内容,如果未能解决你的问题,请参考以下文章

强化学习目录

强化学习笔记-01强化学习介绍

强化学习笔记-01强化学习介绍

强化学习笔记1:强化学习概述

强化学习笔记:强化学习的约束

强化学习笔记4:强化学习分类