李宏毅深度学习——强化学习

强化学习

  • 一、RL是什么
  • 二、RL的框架
    • 1、第一步:Function with unknown
    • 2、第二步:定义损失函数
    • 3、第三步:Optimization
  • 三、Policy gradient
    • (1)如何控制你的actor
    • (2)如何确定哪个行为是好的版本1
    • (3)如何确定哪个行为是好的版本2
    • (4)如何确定哪个行为是好的版本3
    • (5)exploration
  • 四、Actor-Critic
    • 1、Gritic
      • (1)如何估计value function
      • (2)将critic用在Actor中
    • 2、Tip of Actor-Critic
  • 五、Reward Shaping
    • 1、稀疏的奖励
    • 2、Curiosity
  • 六、逆向增强
    • 1、动机
    • 2、模仿学习

一、RL是什么

李宏毅深度学习——强化学习_第1张图片
当人类也不知道正确答案是什么的时候,适合用RL,机器知道哪一步是合适的。

二、RL的框架

1、第一步:Function with unknown

以空间入侵游戏为例:
输入的是游戏画面,输出是不同行为的概率(相同的输入可能有不同的输出,输出具有随机性)
李宏毅深度学习——强化学习_第2张图片

2、第二步:定义损失函数

看到一个游戏画面会产生行为然后会产生游戏的reward,再接下去另一个游戏画面输出行为,一直持续到游戏结束,将所有的reward相加,并且最大化reward,RL的损失函数为负的Total reward。
李宏毅深度学习——强化学习_第3张图片

3、第三步:Optimization

李宏毅深度学习——强化学习_第4张图片

  • 环境和actor都具有随机性

三、Policy gradient

(1)如何控制你的actor

  • 对于一个具体的观察如果要有一个固定的行为,就使损失函数越小越好
  • 如果是不要采取一个行为,就使损失函数越大越好
    李宏毅深度学习——强化学习_第5张图片
    即:
    李宏毅深度学习——强化学习_第6张图片
    a、收集训练资料,对于某一个s要输出a或者不要输出a,赋予权重来说明好或不好及其程度,然后计算交叉熵与权重相乘再全部相加,使这个损失函数最小化。
    李宏毅深度学习——强化学习_第7张图片
    那如何确定哪个行为是好的呢?

(2)如何确定哪个行为是好的版本1

李宏毅深度学习——强化学习_第8张图片
版本1也存在问题:如果游戏非常长,由a1达到rN,可能并不归功于rN。

(3)如何确定哪个行为是好的版本2

李宏毅深度学习——强化学习_第9张图片

(4)如何确定哪个行为是好的版本3

因为如果reward全部都是正,不知道正的分数是好的还是不好的,所以就要做一个标准化
李宏毅深度学习——强化学习_第10张图片
Policy Gradient
李宏毅深度学习——强化学习_第11张图片

(5)exploration

让模型去适应不同的行为,因为这个模型本身就具有随机性
李宏毅深度学习——强化学习_第12张图片

四、Actor-Critic

1、Gritic

评估某个actor看到游戏画面输出行为接下来得到的reward
李宏毅深度学习——强化学习_第13张图片

(1)如何估计value function

a、MC
李宏毅深度学习——强化学习_第14张图片

  • 根据训练资料(需要玩完一整场游戏)来训练value function
    b、TD
    李宏毅深度学习——强化学习_第15张图片
    李宏毅深度学习——强化学习_第16张图片

(2)将critic用在Actor中

  • 如何确定哪个行为是好的版本3.5
    李宏毅深度学习——强化学习_第17张图片
    李宏毅深度学习——强化学习_第18张图片
    但是Gt只是某一次的得分之和可能很大也可能很小,具有随机性,所以判断某一步是好或不好可以用平均减平均
  • 如何确定哪个行为是好的版本4
    李宏毅深度学习——强化学习_第19张图片

2、Tip of Actor-Critic

李宏毅深度学习——强化学习_第20张图片

五、Reward Shaping

1、稀疏的奖励

比如下棋,每一步的reward都是0,直到下完棋才有reward
所以需要定义额外的reward来指导机器学习,这就叫做reward shaping
李宏毅深度学习——强化学习_第21张图片
举例:
李宏毅深度学习——强化学习_第22张图片

2、Curiosity

当机器看到新的东西就加分(这个新的东西要有意义)所以要克服没意义的新,即杂讯。

六、逆向增强

1、动机

一般只有在游戏中才有reward,而在真实世界不是都有reward。而人定的reward不一定是好的,为了解决这个问题,用模仿学习。

2、模仿学习

每次行为之后不产生reward,使人类与环境进行互动来示范,让机器模仿人类的行为
李宏毅深度学习——强化学习_第23张图片
李宏毅深度学习——强化学习_第24张图片
行为克隆可能遇到的问题
1、存在人类没遇到过的问题而机器遇到了,即这个行为不存在在训练资料里面
2、机器将会复制每一个行为,即使是无关紧要的行为,但是如果机器的能力是有限的,它可能选择性的学习行为,可能学到不好的行为而放弃好的行为

逆向增强学习解决了行为克隆的问题
李宏毅深度学习——强化学习_第25张图片

  • reward function是学出来的
  • 反向增强学习的原则是:老师的行为总是最棒的
  • 基本思想:
    李宏毅深度学习——强化学习_第26张图片
    用图像表示:
    李宏毅深度学习——强化学习_第27张图片

你可能感兴趣的:(深度学习,机器学习,pytorch)