强化学习RL总结篇(李宏毅老师2020强化学习6-11完结)

李宏毅老师2020强化学习——总结篇(6-11)

李宏毅老师2020强化学习课程(课件)主页:
http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html
其中的Deep Reinforcement Learning部分
视频链接地址:
https://www.bilibili.com/video/BV1UE411G78S


注!!!:本总结篇仅供大家快速了解这门课,每一篇都会是笔者听后总结,这门强化学习的课程无论是数学原理还是方法讲的都非常清晰!强烈建议详细学习的读者还是请自行一一观看学习。

以下顺序均严格参照视频顺序,无缺无改

6 Q-Learning-1

6.1 Critic

在这里插入图片描述
Critic是衡量在state s情况下这个actor有多好,是一种比较程度的好坏。而 V π V_\pi Vπ得到的值既取决于actor π \pi π,又取决于当前的state s。

有两种方法可以评估 V π ( s ) V^{\pi}(s) Vπ(s)

  • Monte-Carlo based approach
    在这里插入图片描述
    MC based方法,根据 s a s_a sa获得的reward的累计值 G a G_a Ga,通过输入 s a s_a sa线性回归预测,预测值即为 V π ( s a ) V^{\pi}(s_a) Vπ(sa)

注意,累计值 G a G_a Ga是要游戏玩到结束才能得到的估测值

  • Temporal-difference (TD) approach
    在这里插入图片描述

MC based方法要游戏结束才能更新游戏,对于有些非常长的游戏可能收集不到太多的数据。因此引入了TD based方法,不需要游戏玩到底就可以更新参数。

此时的训练目标就是希望通过 V π V^{\pi} Vπ神经网络对 s t , s t + 1 s_t,s_{t+1} st,st+1预测出来的 V π ( s t ) 与 V π ( s t + 1 ) V^{\pi}({s_t})与V^{\pi}({s_{t+1}}) Vπ(st)Vπ(st+1)的差值越接近 r t r_t rt越好

MC vs TD

在这里插入图片描述

MC的问题就是具有很大的variance,因为在玩游戏的时候本身就有随机性的,同样的s和a最后得到的 G a G_{a} Ga每次收集时其实是不一样的。每次得到的 G a G_{a} Ga的差别会很大,因为 G a G_a Ga是由很多steps累加得到的。

而TD的方法又存在每一步的 V s t π V^{\pi}_{s_t} Vstπ不一定估计得准,但它的variance只有一个step的variance

Another Critic

State-action value function Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a)
在这里插入图片描述
在state s 强制使用action a基础上,在接下来的情况下均一直使用actor π \pi π所能得到的Reward的预测就是 Q π Q_{\pi} Qπ,左侧是连续值的方法,右侧是种类值的方法。

Q-Learning

在这里插入图片描述
Q-Learning的方法就是上图的一个循环,在state s 强制使用action a基础上,用 π \pi π一直与环境互动通过TD或MC方法得到 Q π Q_{\pi} Qπ,在此时是一定能找到更好的 π ′ \pi' π使得 V π ′ > V π V_{\pi'}>V_{\pi} Vπ>Vπ

假设我们已经训练好了 Q s , a π Q^{\pi}_{s,a} Qs,aπ,把所有可能的action a都一一带入这个Q function中,看哪个a能让Q最大。其实根本就没有 π ′ \pi' π,它就是Q fuction推出来的

Tip1

在这里插入图片描述

Tip2

在这里插入图片描述

Tip3

在这里插入图片描述

Q-Learning Algorithm

在这里插入图片描述
Q-Learning,最开始初始化两个神经网络Q和Q‘,Q=Q’

在每一个episode(agent在环境里面执行某个策略从开始到结束)中:
 每次互动中,都得到一个state s t s_t st,会根据Q(有epsilon greedy机制)采取action a t a_t at
 得到reward r t r_t rt,跳到state s t + 1 s_{t+1} st+1
 将 ( s t , a t , r t , s t + 1 ) (s_t,a_t,r_t,s_{t+1}) (st,at,rt,st+1)存入buffer中
 接下来从buffer中随机采样一组数据(通常是一个batch),是有可能抽到旧的或刚放入的
 根据采样得到的数据计算Target y
 更新Q的值,使得 Q ( s i , a i ) Q(s_i,a_i) Q(si,ai)和y的值越接近越好(线性回归)
 在更新了C次后,就将Q‘ = Q

7 Q-Learning-2

7.1Tips in Q-Learning

Double DQN

问题:Q 的估计值往往都大于实际值
在这里插入图片描述
在Double DQN中,将有两个Q,一个用于更新参数并决定选择哪个a,另一个参数固定来评估当前的Q值。

Dueling DQN

Dueling DQN是改Network的架构

在这里插入图片描述
将原本的Q改成两个部分V和A的和,其中A要有限制列和为0

还有 Prioritized Reply、Multi-step、Noisy Net、Distributional Q-function

8 Q-Learning-3

Q-Learning for Continous Actions
a = arg max ⁡ a Q ( s , a ) a = \argmax_aQ(s,a) a=aargmaxQ(s,a)
当Action a 是一个连续值的向量时:有这样的解决办法

  • Sample,随机采样大量可能的a,一个一个代入到Q中看哪个a能使Q的值最大
  • Gradient Ascent,用梯度提升方法去更新a,使得Q最大,当这样可能会遇到global maximum问题
  • Design a network
    在这里插入图片描述
  • Don‘t use Q-learning

9 A3C

A3C

在这里插入图片描述
对于Policy Gradient而言,reward的梯度如上图所示。但在这其中是需要我们用采样的方式估计 G t n G_t^n Gtn的值,这种方法不稳定。

在这里插入图片描述
因此有了Value-based的方法,Q-Learning
有两种critic

  • V π ( s ) V^{\pi}(s) Vπ(s) :当看到state s,接下来一直用action π \pi π与环境互动看累积的reward期望值有多少
  • Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a):当看到state a,采取action a做互动,policy接下来一直用action π \pi π互动,最终累积的reward期望值有多少

在这里插入图片描述
在这里插入图片描述
在实验中证明,将期望直接去掉的替换方式效果最好
在这里插入图片描述
A3C训练过程如上,根据初始参数 π \pi π去和环境互动,用MC或TD方法估算V,根据V的值与R的梯度去更新参数使得policy变成 π ′ \pi' π,再用 π ′ \pi' π去和环境互动,用MC或TD方法估算V,根据V的值与R的梯度去更新参数使得policy变成 π ′ \pi' π
在这里插入图片描述
第一个tip是对于我们需要训练的两个神经网络, π ( s ) 与 V π ( s ) \pi(s)与V^{\pi}(s) π(s)Vπ(s)这两者的输入都是相同的,都是state s,故可以将两者的神经网络前面层的参数共享

第二个tip是要对得到 π ( s ) \pi(s) π(s)的结果做规范化,使得每个action π \pi π都有机会被使用

在这里插入图片描述
A3C的精神就是同时开很多个Worker,最后所有的worker会把经验集合在一起。

Pathwise Derivative Policy Gradient

一种解决Q-Learning连续值的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10 Sparse Reward

用强化学习训练Agent的时候,有时候是没有办法得到Reward的,这样的训练是非常困难的,也就是Sparse Reward。

I Reward Shaping

Reward Shaping是指环境有一个固定Reward,为了引导Agent,人类刻意设计Reward。而这种Reward Shaping有些是需要Domain Knowledge的。

比如这样的Reward Shaping,叫Curiosity
在这里插入图片描述
不仅有Reward r 1 r_1 r1还有由ICM产生的Reward r 1 i r_1^i r1i,这个ICM就表示好奇心,ICM的设计如下

在这里插入图片描述

这个ICM的设计思想是这样的,Network 1通过 a t , s t a_t,s_t at,st去预测未来出现的 s ^ t + 1 \hat{s}_{t+1} s^t+1,如果预测的 s ^ t + 1 和 实 际 的 s t + 1 \hat{s}_{t+1}和实际的{s}_{t+1} s^t+1st+1差别越大,则ICM的值越大,表示如果未来的state越难被预测Reward就越大,鼓励冒险。

但仅仅这样是不够的,不是说只要未来越难预测就应该越好,因为有时候难预测的可能是环境中一些无关因素如风吹草动,如果仅仅越难预测就选择这种Action的话可能导致机器就一直等待看风吹草动。还需要加限制,通过Feature Ext滤掉环境中无关因素。Network 2对经过Feature Ext滤掉无关因素的 s ^ t + 1 和 s t + 1 \hat{s}_{t+1}和{s}_{t+1} s^t+1st+1进行预测 a ^ t \hat{a}_t a^t,希望这个 a ^ 和 真 正 的 a \hat{a}和真正的a a^a越接近越好。

II Curriculum Learning

Curriculum Learning的意思是给机器的学习做规划,使训练由简至难,如在训练RNN中,先给机器看短的sequence,再给机器看长的sequence,通常训练效果更好。

有这样一个通用的方法:Reverse Curriculum Generation,如下图
在这里插入图片描述
对于目标 s g s_g sg,找出与它相连的state,选择其中reward不大不小的 s t a t e 1 , s t a t e 2 , s t a t e 3 state_1,state_2,state_3 state1,state2,state3等,接下来再对 s t a t e 1 state_1 state1找出与它相连的state,也选择出其中reward不大不小的state,让机器优先学习这些state。

从目标进行反推的过程,所以叫Reverse

III Hierarchical Reinforcement Learning

在这里插入图片描述

阶层式RL,有多个阶级的Agent,一些高级Agent进行分配给下层Agent,将完成一个任务拆解成多个小任务,再将每个小任务继续拆解等。

如上图,紫色是目前的状况,粉色是当前的Agent希望它走到的位置,(顶层的Agent的希望)最终目标是黄色位置

11 Imitation Learning

在这里插入图片描述

Behavior Cloning

在这里插入图片描述
Behavior Cloning,简单的有监督学习方法解决,但这样会有一些问题

在这里插入图片描述
因为对于Expert而言,它可能永远也不会遇到即将撞墙的情况,但机器会有这样的情况,此时机器就不知道该怎么做了。
解决办法如下
在这里插入图片描述
π 1 \pi_1 π1进行训练时,同时用Expert进行判断,比如在即将要撞墙时Expert会判断出应该向右拐,但 π 1 \pi_1 π1并不会管,还是会继续它的方向。将Expert的判断数据作为 π 2 \pi_2 π2的训练数据,一直如此。

Behavior Cloning还有如下的问题:
在这里插入图片描述
什么该学,什么不该学

在这里插入图片描述
训练和测试的data distribution其实是不一样的,失之毫厘,差之千里。

综上,Behavior Cloning并不能解决Imitation Learning

Inverse Reinforcement Learning(IRL)

在这里插入图片描述
Inverse Reinforcement Learning的思想就是通过Expert的demonstration来训练得到一个Reward Function

训练方法如下图
在这里插入图片描述
方法类似于GAN,通过不断迭代,在每一次迭代中都保证Reward从Expert得到的值大于Actor得到的值即可

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿芒Aris

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值