资讯 人工智能
此为临时链接,仅用于文章预览,将在时失效

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

作者:AI研习社-译站
2018/06/12 19:52


雷锋网按:MIT6.S094 完整版授权中译视频 

翻译 |  田茜  涂世文  蒋成    整理 |  吴璇

本篇是 MIT6.S094 第三讲深度强化学习的课程笔记。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

  怎样教会系统在数据中感知世界并采取行动?

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了 MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了


一个人工智能系统需要实现的任务栈

1.环境:系统工作的世界。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

2.传感器:采集物理世界的信息并将其转换成机器可以处理的原始数据。是机器人在物理世界工作的输入端。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

3.感知数据:传感器采集的原始数据。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

4.特征提取:从感知数据中提取特征。提取数据结构以便能够输入、识别、分割和理解数据。不同级别的抽象层都可以处理原始的感知数据。这个任务早期是由人类专家完成的,现在深度学习自动完成这个任务。

5.由于机器学习技术的应用,我们能够对感知数据实现更高级别的抽象表示。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

6.一旦机器学习技术将这些数据转换成简单、可操作的信息,我们就将这些信息聚合起来,称为知识。深度学习网络能够实现监督学习任务、生成任务、非监督技术。知识具有简洁的使用价值。这些价值可以是单一的价值,比如语音、图像等等。

7.我们建立了一个分类系统,知识库,把所有的知识连接起来。

8.代理推理基于这个分类系统:连接过去和现在感知到的所有数据,根据目标制定一个计划。目标可以是一个奖励函数。计划:融合感知信息并且使行为更适合深度学习方法。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

9.由于系统是在实际环境中运行的,它必须有实际效果。

人工智能栈中有多少能够「被学习」?

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

我们能够学习表示和知识。神经网络将数据映射成信息。在这方面,核方法也是有效的。将系统需要的感知数据映射成知识是深度学习的亮点。

问题1:我们能将这种方法扩展至推理阶段和可操作的端到端的信息吗?

问题2:我们能将这种方法扩展至用户数据中心(SDC,Subscriber Data Center)和机器人的真实案例中吗?

  深度学习的类型


MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

  1. 监督:每个独立的数据点都被人们标注。

  2. 非监督:数据没有被标注。

  3. 半监督学习:有一部分数据被人们注释。

  4. 增强学习:是半监督学习的一个分支。

    目标:从稀疏奖励/监督数据中学习,利用状态转移的时间动态特性,一个状态到一个状态的转移会通过时间的变化获得,从而根据先验数据推理出当前真实的知识。我们能够生成真实世界的稀疏学习信息。

  强化学习的哲学动机

监督学习:存储原始的真实数据并从这些数据中生成表示。

强化学习:通过时间,强制传播稀疏信息,将有价值的奖励分配给没有直接获得奖励的状态。为了体现合理性,如果数据/奖励是稀疏的,那么他们通过时间连接。这与推理是等效的。

代理和环境

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

时间连接模型是一个代理在环境中实现一个动作,接收一个新的状态和奖励。这个过程连续地重复执行。

例如:MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

强化学习智能体的主要组成部分

例如:房间里的机器人

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

确定性方法:当一切都是确定的时候,即机器人的移动方向确定不具有随机性,则直接选择到达最大奖励 [4,3] 位置的最短路径即可。

但是,在这个案例中机器人的移动具有一定的不确定性,如图所示:机器人的每次移动具有随机性,向上移动的概率为80%,向左移动的概率为10%,向右移动的概率为10%。因而都需要采用非确定性的方法。

关键观测: 在空间中的每一个状态都需要一个方案来控制非确定性的环境 。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

如果按照对每一步移动进行惩罚的原则来设计奖励函数,即每次移动的奖励为负,那么在这种情况下,最优的策略就是选择一条最短路径。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

假如我们减轻惩罚,从0.1减至0.01,那么机器人每次移动的过程将会带有一定的随机性。并且这种随机性会随着惩罚力度的降低而升高。MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了


如果我们将每次移动的奖励调整为正,即机器人的每次移动都会增加奖励而不是惩罚的话,那么将会有一个显著的刺激使得机器人一直在 3x4 的空间里不断移动,而永远不会到达终点。

值函数

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

一个状态的值或者说在环境中任何事物的值,是我们在未来很可能会得到的奖励。要长期地表现良好,我们不仅要考虑当下的奖励,还要考虑将来的奖励。但由于我们的环境是随机的,我们永远不能肯定,如果我们下一次执行相同的行动,我们会得到同样的奖励。所以,我们会给未来的奖励打个折扣。

图中公式里面的红色 Gamma 符号表示随着对未来的不断推进,越来越大的折扣将会降低我们未来获得的奖励。

一种好的策略是对未来各时间段的折扣奖励求和,并最大化未来的折扣奖励,这便是强化学习所希望实现的。

Q-Learning 


MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了


我们可以通过使用任何一种策略对状态进行估计来最大化未来的「折扣」奖励。

这样使得我们可以考虑在更大的状态空间和行动空间,我们通过模拟或者直接在真实世界中采取行动并不断更新对于行动好坏的估计。

探索与开发

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

由于更好的估计由 Q 函数形成,我们对更好的行动有了更深刻的理解。然而这并不完美因为存在着探索值。随着估计准确度的提升,探索值会随之降低。

因此,我们一般在初始阶段希望智能体在环境中多多探索一点,并随着时间不断降低探索的量,因为我们的估计会越来越准确。

在最后系统发布的时候,应该根据 Q 函数以一种贪心的方式运作。

上图为 Q 函数的表格式表示,Y 轴表示状态,X 轴表示行动。

Q-Table ( Q 代表动作的质量 )通过随机的方式进行初始化,并且通过迭代地使用贝尔曼方程不断进行更新 Q(s,a) 来给出越来越好的近似。随着时间推移,我们对状态和行动好坏的估计便会形成一张最优的 Q-Table。

问题在于:当 Q-Table 呈指数增长的时候,比如将原始图像像素作为输入的话,潜在的状态空间,可能的状态组合是非常大而多的,有时候会超出系统内存能够容纳的范围,超出利用贝尔曼方程进行估计的范畴。

所以,这就到了深度强化学习该出场的时刻了!

深度强化学习

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

众所周知,神经网络非常擅长于估计。

相较于机器学习,深度学习可以在更大的状态空间中对值进行估计。这使得我们能够对原始的传感器数据直接处理,更能胜任现实世界的应用,是一种可泛化的技术。

这种理解源自于基于所采取行动来将原始的传感器数据转换为简单有用的信息的方式。


MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

我们接入了一个神经网络,而没有使用 Q 函数。

输入:状态空间。

输出:每一个状态所对应的函数值。

DQN:深度 Q 网络。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

那么,如何训练一个 DQN ?

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

贝尔曼方程:输入奖励和未来奖励的折扣 。

神经网络的损失函数: 接受当前状态的奖励,通过神经网络的前向过程计算未来状态的值,并从当前状态行动的前向过程中减去这个值。

我们得到了 Q-函数估计器产生的值的差异,并相信未来的值和可能的值会基于这些可能的行动。

算法

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了


输入: 行动中的状态。

输出:每个醒的的 Q-Value 。

给定一个转换 S,一次行动 A ,A 能生成一个奖励 R’ 并转换到状态 S‘。

更新过程是通过神经网络为当前状态做一个前向过程,并为下一个状态中所有可能的行动执行一次前向过程,然后使用反向传播更新权重。

DQN 技巧

经验回放 :

由于游戏通过模拟进行,观测都被收录了一个经验库里,通过在先前的经验集中进行随机抽样抽取批次再进行训练。因此,系统不会在一个特定的模拟中过拟合。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

固定目标网络: 

我们使用神经网络来估计当前状态的值,然后使用它与时间相乘。在运行这个神经网络的同时,我们也在更新这个网络。因此,损失函数中的目标函数改变了,会造成稳定性的问题。所以,我们通过每1000步进行更新来修正这个神经网络。

当我们训练这个网络的时候,用来估计目标函数的网络就固定了,使得损失函数可以保持稳定。

奖励裁剪:

使得系统能够以泛化的方式执行。这样使得奖励函数得到了简化,对正奖励还是负奖励均适用。

跳帧:

每四帧执行一次行动

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

圆圈: 当使用技巧的时候

叉号: 当没有使用技巧的时候

数值越大,收到的奖励也越大。

总结:回放目标使得奖励得到了显著的提升。

深度Q-Learning算法

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

提示:代码中的循环并不是训练的一部分,它是作为保存观测、状态、行动、奖励和下一个状态到 Replay Memory的一部分。

接下来,我们从 Memory 中随机抽样,并通过最小化损失函数来训练网络,epsilon贪婪策略:epsilon 是探索的速率, 一开始设定为1,之后这个速率会随时间减小。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了



MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

2015: Atari Breakout(雅达利游戏公司推出的一款游戏)

DQN 已经在多款雅达利游戏上取得了远超人类的成绩。


AlphaGo (2016)

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了


注意:在任何点上可能的合理边界位置,有 2.8 x10^(170)种可能。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了



利用人类专家下棋方式,以一种监督的方式训练模型,RL 方法来击败人类专家。(有偏见的)观点:AlphaGo Zero(2017)在人工智能领域,取得的十年的成就:

1. 它是在没有任何训练数据的情况下开发的。

2. 击败 AlphaGo。


AlphaGo 方法

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了


用蒙特卡罗树搜索(MTCS)。

给定一个大的状态空间。我们从一个初始值开始,用一些探索和开发的平衡来选择行动,直到达成一些结论。这些信息是反向传播的,我们学习了棋局位置的价值。

AlphGo 使用神经网络来评估状态的质量。

技巧: 

  1. 它输出了最优移动的概率。

  2. 它还估计了获胜的可能性。


Deep Traffic

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

目标:随着时间的推移达到最高的平均速度。 

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

道路:网格空间,一个占用网格:当空的时候,它被设置为 ab-Grid 值,此时可以获得任意速度(最低速度到最高车速)。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

与其他汽车在格子中:此时栅格的作用是慢速行驶汽车的速度。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

我们可以决定我们想要用作网络输入的部分 。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

安全系统可以被认为相当于基本的MPC:基本的传感器,可以防止碰撞。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

任务:在安全系统的约束下移动空间。

红色:不能达到的空间。  

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

目标:不要被堵在路上。

输入:状态空间。

输出:不同操作的值。(加速、减速、左转和右转)

基于 Epsilon 的价值和通过训练,推理评价:我们选择探索范围。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了


5个动作空间

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

「大脑」是一种输入,状态。奖励执行向前传球并计算奖励。「大脑」是神经网络被包含在训练和评估的地方。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

新添加:可以由神经网络控制的代理数量,从 1 到 10。评估以同样的方式进行。

注意:代理不知道其他强化训练车辆的情况。这些操作对每个个体代理都是最优的,而不是以优化的分布式方式(考虑整体最优)。

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

评估:

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

  增强学习方法是否可以根据人类行为进行纠正?

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了


 MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

波士顿机器人

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

Waymo:(美国知名自动驾驶公司)

原文链接:https://hackernoon.com/mit-6-s094-deep-learning-for-self-driving-cars-2018-lecture-3-notes-deep-reinforcement-learning-fe9a8592e14a


MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

雷锋网雷锋网

长按图片保存图片,分享给好友或朋友圈

MIT 6.S094· 深度增强学习 | 学霸的课程笔记,我们都替你整理好了

扫码查看文章

正在生成分享图...

取消
相关文章