WDK李宏毅学习笔记第二十周01_Deep Reinforcemen Learning

Deep Reinforcemen Learning


摘要

本章要讲的是Deep Reinforcemen Learning(深度强化学习),它是一种更接近人类思维的人工智能的方法,是通过奖励机制来进行训练的模型,它有Actor和Critic,Actor负责接收Env的信息做出行动,Critic则负责评估Actor做出行为的好坏根据奖励规则进行打分,得到的Reward值反馈给Actor,和GAN的训练类似。但是有些问题的奖励规则是很难找到甚至没法找到的,当没有奖励规则时可用老师做示范教机器学习,这个方法叫Imitation Learning。也可让机器自己根据老师的示例找到Reward Function确定奖励机制,这个方法叫Inverse Reinforcement Learning(IRL)。

1、Reinforcemen Learning(RL)是什么?

RL是让机器跟环境去做互动,用得到的反馈进行训练的模型。
在这里插入图片描述
RL中最重要的是Actor,Actor是一个Function,它的input是machine观察到的Observation,它的Output是machine的Action。而Actor是通过Reward找出来的。
在这里插入图片描述

1.1 RL的做法

RL的做法步骤和机器学习步骤是一模一样的。
在这里插入图片描述

1.1.1 Function with Unknown

以下面的游戏为例,Input是矩阵,Output就是Machine可以做的Action的集合。Neural network是通过输出Action的概率分布来决定machine接下来要做的事情的。最终的输出可以选择按概率从分布中sample,也可以选择直接输出概率最高的action,两者都有其有点,可以根据具体问题选择合适的方法。
在这里插入图片描述

1.1.2 Define"Loss"

以杀死外星人的游戏为例,首先有一个初始化的游戏画面作为输入,机器看到后就会输出,比如说输出“right”,这样因为没有杀死外星人,得到的reward r1=0,“right”后得到新的游戏画面作为输出,若机器看到后输出"fire"杀死外星人,这时会得到reward r2=5,经过很多次后,游戏结束了。从游戏开始到结束整个过程被叫做一个episode。在这个episode中机器会得到很多个reward,把所有的reward加起来就得到total reward R。显然R就是我们要最大化的目标。
在这里插入图片描述

1.1.3 Optimization

用更直观的方法来总结以下RL,它就像下图一样,环境Env输出初始值给Actor,Actor看到后输出a1给Env指挥机器行动,Env再输出S2给Actor,依此类推。所有的Reward的总和就是R,R也就是“Loss”。但是RL中的S和A都具有随机性,所有没法用梯度下降的方法来求解。
在这里插入图片描述

2、Policy Gradient

2.1 How to control your actor

就是用一些训练资料,让机器看到某些输入,就尽量去执行或者不执行某些行为。但是训练资料是怎么得到的呢,这就是接下来我们要解决的问题。
在这里插入图片描述

2.2 Policy Gradient做法

首先初始化actor的参数θ0,然后进行一个for循环的迭代训练收集资料,在这个for循环内要做的事情是让参数是θn-1的actor和环境做互动,收集互动数据,再设置用来评价互动数据好坏的An,得到Loss Function,用gradient descent更新参数θ。
在这里插入图片描述
所以每更新一次参数,都有重新收集一次资料,所以该model训练是非常缓慢的。
在这里插入图片描述

2.3 Collection Training Data: Exploration

在收集数据时,我们希望可以收集到更全面是数据,所以希望actor收集数据时,随机性大一点,以确保训练数据的全面性,这个就是Exploration,是train模型的技巧。
在这里插入图片描述

3、Actor-Critic

3.1 Critic是什么

Critic是用来评估Actor的好坏的,一个常用的Critic是Value function,以游戏为例,它的输入是s(现在游戏的状况),输入是看到s时得到的Discounted cumulated reward(下图右上角公式)。
在这里插入图片描述

3.2 Critic是怎么训练的

3.2.1 Monte-Carlo(MC) based approach

MC是让actor去玩一些游戏,得到一些游戏记录,这时就可发现,当看到一些游戏画面时,采用某些行动正确率是最高的。这时在训练时,actor再看到相同画面时,希望其输出V与训练资料越接近越好。
在这里插入图片描述

3.2.2 Temporal-difference(TD) approach

TD是不用玩完一整场游戏,用部分游戏资料对model进行训练。它是用V(St)和V(St+1)之间关系进行训练的。
在这里插入图片描述

4、Sparse Reward

在做一些任务如下围棋,拧螺丝的任务时,得到的Reward一般都是0,只有在任务完成的时候Reward才是1,遇到这种情况时直接training就不好用了,我们需要额外的Reward来引导我们的Reward学习。假设我们现在有一个任务,是让机器把蓝色的板子插到木棍上,若直接用RL去学,显然是很困难的,这时就可以加入些额外的Reward。如板子离棍子越近,得到的Reward就越大,但是光靠这一个额外的Reward是不够的,所以Sparse Reward用的时候是需要我们对该问题理解足够的。
在这里插入图片描述

5、No Reward: Learning from Demonstration

5.1 Imitation Learning

在真实环境里,面对有些问题时,Reward很难被定义甚至无法定义,如叫自驾车学会在路上走。在没有Reward的情况下,要怎么训练一个Agent去跟环境互动呢,一个常见的方法叫Imitation Learning。它的做法除了没有Reward外,和RL是一样的。
在这里插入图片描述
没有Reward就没法自己学了,所以需要找一些示范,让Agent跟着示范去学习,示范就像机器的老师,带着机器学习。
在这里插入图片描述

5.2 Inverse Reinforcement Learning

但是当机器模仿老师进行学习时,可能机器能力不够没法完全学习到老师的做法,如只学到了不重要的地方,重点没学到,可能就会导致严重的后果。这时就有了Inverse Reinforcement Learning,这个方法是让机器自己订Reward。
原来的Reinforcement Learning:
在这里插入图片描述
但是现在没有Reward,我们只有Expert,Inverse Reinforcement Learning要做的事是根据Expert去得到Reward Function。
在这里插入图片描述
怎么找出Reward Function?最基本的概率是老师的行为分数是最高的。我们要定义一个Reward Function,它去评估老师的Trajectory时要给比较高的分数,去评估Actor的Trajectory时会给比较低的分数,具体做法和GAN是类似的。
在这里插入图片描述

方法

  1. Reinforcement Learning是通过奖励机制进行训练的,其中Actor负责接收Env中的信息做出行动,Critic负责给Actor打分从而得到Loss Function,用其更新Actor的参数,让Actor的行为越来越正确。
  2. Imitation Learning中没有Critic,它是纯粹的从Env中接收信息,Actor做出判断反馈到Env中,循环往复,但是在training时,会给其一些老师做的示例,让其与示例越接近越好,一次达到训练的目的。
  3. Inverse Reinforcement Learning是从老师做的示例中学习,找到一个合适的Reward Function,再和Reinforcement Learning一样进行训练。

结论与展望

Reinforcement Learning的难点在于奖励机制的制定,Inverse Reinforcement Learning则正好可用来解决该问题,让机器自己找到合适的Reward Function,两者相辅相成。当面对无法设置奖励机制的问题时,便可用Imitation Learning,让机器根据老师的教学直接达到目的。Reinforcement Learning让机器的思维更接近人类,也一定程度的给予了机器自由想象的空间,是一门极具发展潜力的技术。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值