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

雷锋网(公众号:雷锋网)按:雷锋字幕组获MIT课程团队授权翻译自动驾驶课程,视频链接:http://www.mooc.ai/course/483/info

我们为你整理了每一个 Lecture 的课程笔记,提炼出每一讲的要点精华,推荐结合课程笔记观看视频内容,学习效果更佳。

原标题 MIT 6.S094:Deep Learning for Self-Driving Cars 2018 Lecture 1 Notes

作者 |  Sanyam Bhutani             

翻译 | 李瀚  刘徽        整理 | 凡江

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

*以下所有图片均来截取自该课程幻灯片。

深度学习:为多项人工智能技术服务的成套技术,近年来伴随着研究的不断深入和GPU能力的不断拓展,它也变得更加强大,SDC就是能够利用这些技术的系统。

讲师致力于研发能够理解车内和车外环境的汽车。

主要竞赛项目:

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

  • DeepTraffic:深度增强学习(Deep Reinfocement Learning)竞赛项目,相关的代码可在浏览器上运行。最新的2.0版本允许Multi-Agent培训。

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

  • SegFuse:Dynamic Driving Scene Segmentation竞赛项目。提供原始视频,汽车根据实际动力学原理进行运动。培训集能够为我们提供路面实况标签、像素级别标签、场景分割和光流。目标:比现有的Image Based Segmentation技术水平更好地反应真实路况。所需:机器人需要解释、理解和追踪场景中的诸多细节。

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

  • Deep Crash:目标:使用Deep RL来规避High Speed Crash Avoidance(高速防撞系统)。培训:运行1000次, 使用单目视频作为输入源,培训一辆汽车模型在30mph以上速度行驶。

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

  • DeepTesla: 使用大规模网来培训端到端驾驶操作,使用单目视频作为输入源进行培训汽车。

为什么要自动驾驶?

目标:为自动驾驶汽车部署以数据驱动的学习方式。

这是多个个人机器人的最复杂最庞大整合。

  • 普遍意义: 路上有大量汽车在行驶。

  • 深度意义: 人类和汽车之间建立更紧密的联系。彼此的信任将人类将自己的性命交付给机器人,将"控制权"交给汽车。如果深入剖析,确保生命安全是系统运行的天然属性,而且在未来真的需要测试系统的极限。

自动驾驶汽车: 与其说是感知控制终端(Perception-Control)更不如说是个人机器人(Personal Robot)。面对各种路况,这些系统还需要通过交接控制权来获得人类的帮助。而真正意义上,能够像人类一样具备动态天然属性的感知系统,至少还要发展数十年时间。

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

认知负载: 完整连接的卷积神经网络(CNN)在处理RAW 3D输入源,分析驾驶员的认知负载,身体姿势和疲劳程度。

实参: 要实现完全自动驾驶,智力需要在某些领域接近人类。

以人类为中心的人工智能方法

建议:在每个算法设计过程中将人的因素考虑进来。

  • 感知控制可以处理90%以上的情况

  • 人类控制:在10%的场景中占据主导地位

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

为何要深度学习?

深度学习平台能够非常出色地处理大数据。届时人类的性命直接交付到这些设备上,因此这项技术必然需要通过现实生活的数据进行学习。

  • 感知/控制端

  • 基于人类的交互和协作

什么是深度学习?

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

人工智能:能够实现多个复杂目标

理解/推理:能够将复杂信息转换成简单和实用的信息。

深度学习(表示学习或者特征学习)能够在没有任何解释的情况下提取源信息,并且构建分层表示允许生成各种洞察报告。

表征学习

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

  • 表征学习是非常重要的。例如: Earth Centered Vs Sun Centred。

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

  • 笛卡尔坐标系VS极坐标系来区分圆形和三角形。

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

  • 例如: 使用1层隐藏神经网络来区分蓝色和红色曲线。要实现这项学习(使用源输入来生成输出)效果就是通过深度学习来完成的。

  • 深度学习能够改善更多的数据。

  • 边缘情境的归纳是深度学习目前的主要挑战。

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

神经网络

受到人类生物神经的松散网络的启发而来。

  • 人类神经网络: 1000亿个神经元, 1000 万亿个突触

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

  • 目前最顶尖技术ResNet-52:6000万个突触

  • 两者相差7个数量级

  • 区别:

  1. 人类神经网络不需要堆栈,而人工神经网络需要;

  2. 人类神经网络没有顺序之分,而人工神经网络存在;

  3. 同步学习和异步学习;

  4. 未知学习和Backprop算法;

  5. 处理较慢 Vs 处理较快;

  6. 低功耗VS低效率;

相似性:两者都是大规模的分布式计算。

基础神经元是非常简单的,但是相互连接的多个单元能够应用在非常复杂的案例中。

神经元

  1. 神经元包含了一组具有权重邻域的输入源。

  2. 权重是相乘得来的。

  3. 再添加偏置( bias)。

  4. 非线性函数来确认神经网络是否被激活。

神经网络的组合:

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

  1. 前向神经网络(Feed-forward NN): 已经成功应用于计算机图形中。

  2. 递归神经网络(recursive NN):  能够自我回溯,且具备记忆。目前已经成功应用于关于数据的Time Series,这非常接近于人类(因此很难进行培训)。

普遍性:多元神经网络可以在给定足够优秀算法的前提下只通过1个隐层来逼近任意函数。

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

提供了非常好的算法。

缺陷: 这并不是神经网络的功劳,而是算法的功劳。

深度学习的种类

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

  1. 监督学习:全部使用人工标注的数据;

  2. 扩展监督学习:所需人工标注数据和未标注数据持平;

  3. 半监督学习:少量人工标注数据以及大量未标注数据;

  4. 强化学习:极少量人工标注数据以及大量未标注数据;

  5. 无监督学习:全部使用未标注数据;

现阶段经常使用的是1和2。

未来趋向的和更好的是3、4和5。

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

深度学习影响的领域:

  1. 定义和解决一个具体的问题。比如:预估波士顿的房价。

  2. 通用目的的人工智能(或者几乎全部):使用强化学习和无监督学习。

有监督的学习

训练阶段:1. 输入数据集; 2. 贴标签; 3. 在训练数据集上训练。

测试阶段:1.  使用新的数据集测试; 2. 输入学习模型; 3. 结果输出。

学习

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

  • 前向运算:输入数据集被输入进神经网络中,并且形成预测结果。

  • 反向传播:测量预测结果和期望输出结果的偏差,并且计算结果误差。调参(超参数)以根据误差量级调整数值。

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

我们可以用深度学习做什么?

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

  • 一对一映射。

  • 一对多映射。

  • 多对多映射。

  • 异步多对多映射。

术语解释:

  • DL=NN (深度学习=神经网络)。

  • DL是ML(机器学习)的一个子集。

  • MLP:多层神经网络。

  • DNN:深度神经网络。

  • RNN:循环神经网络。

  • LSTM:长短期记忆网络。

  • CNN:卷积神经网络。

  • DBN:深度置信网络。

神经网络的结构:

  • 卷积层

  • 池化层

  • 激励层

  • 反向传播

激活函数

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

  • Sigmoid.函数:存在梯度消失,不以原点为中心。

  • Tanh.函数: 存在梯度消失。

  • ReLu.函数: 不以原点为中心。

梯度消失:输出或者梯度值很小并且学习速率很慢。

反向传播

关于神经网络的学习过程,其主要目的:为了更新权重和偏差值来降低损失函数。

基本任务:

  1. 通过前向传播,计算网络的输出值和残差。

  2. 反向传播计算梯度。

  3. 把一部分权重的梯度从权重中去除。

由于这个过程是模块化的,所以它是并行运行的。

训练

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

训练是一个最优化的过程。

目标是通过更新权重和残差使损失函数最小化。

需要使用技巧的地方:最小单元的梯度下降和随机梯度下降。

训练中存在的挑战

  • 损失函数是高度非线性的。

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

  • 梯度消失。

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

  • ReLU存在死亡节点:当输入为0的时候输出也会为0。

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

  • 存在鞍点。

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

  • 过拟合:神经网络学习训练数据但是和实际输入数据拟合失败。出现的原因是训练残差较低但是测试残差较高。

正则化

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

有一些通用性的技巧。

  • 设置验证集:训练数据集的子集。

  • 提前结束训练:为了保存检查节点并且评估神经网络在测试集上的运行状况。

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

Dropout:随机丢弃其中一些节点(和输入和输出的节点一起)

  • 用保持节点(p)的概率表示。

  • 输入的节点p需要更高。

目的:帮助网络更好地归纳。

正则化范数约束项

  • L2 约束项:权重平方约束项:

  1. 在偏差没有增加的情况下,一直保持较小的权重值。

  2. 避免样本的拟合错误。

  3. 更平滑的模型。

  4. 对于两个类似的输入,权重需要进行分配。

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

  • L1 约束项:权重绝对值的约束项:

  1. 允许保持较大权重。

神经网络游乐场:运用技巧和试验来实践。

深度学习引起的突破

改变了什么?

  1. 计算能力的提升。

  2. 可实现大型有规律的数据集。

  3. 对于GPU的利用领域的算法和研究。

  4. 软件和基础设施。

  5. 经济支持。

深度学习是困难的

人体的复杂性:

  1. 人的视觉:形成了5,4000,0000年的历史数据。

  2. 直立行走: 2,3000,0000年的历史数据。

  3. 抽象思考:10,0000年的历史数据。

神经网络:

  1. 会增强对于像素级样本的失真,导致预测不准确。

  2. 图像本身的问题:光照、姿态、遮挡和内部类别的不同等情况。

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

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

物体识别或分类

目标:输入一幅图像并预测输出。

ImageNet: 1400万种以上的输入和2。18万种以上的输出。

ILSVRC比赛:

AlexNet(2012):在准确性上有了显著的提高。

Resnet(2015):在识别的准确率上击败了人类。

巧妙的例子:深度学习和"人类普适性的能力"还有差距许多相同的架构的应用:我们可以根据需求种类的数量改变输出层。

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

  • 图像分类。

  • 图像捕捉。

  • 物体定位。

  • 图像分割。

FCNN

每个像素点都被分为一类,然后它输入一幅图像,产生另外一幅图像作为输出。

目标:图像和图像间的对应。

使用场景:

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

  • 像素级的全场景分割。

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

  • 染色法对应。

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

  • 物体识别。

  • 消除背景。

  • Pix2PixHD:从语义标签中产生高分辨率的写实照片。

  • RNN:用于系列的数据集。

使用场景:

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

  • 手写体识别。

  • 图像捕捉。

  • 视频描述。

  • 转移的注意力模型。

  • 用可选择的注意力模型。

主要的突破点

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

  • Pong to Pong (2012):更接近通用人工智能。

  • AlphaGo (2016):可以从人类的专家级别游戏中学习AlphaGo Zero (2017):打败了AlphaGo和Co,它不需要任何外部数据输入(它通过和自身对抗训练进行学习)。

  • DeepStack (2017):第一次击败了专业的扑克选手(在Heads up Poker中)。

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

现阶段的缺点

  • 很难确定适合的激励函数(以Coast Runner为例), 结果可能是出乎意料的。

  • 缺乏鲁棒性: 在像素中增加噪声会导致错误的预测结果。

现阶段的挑战:

  • 迁移学习:运行的表现和工作范围相关。挑战:跨领域的迁移学习困难。原因:对于推理过程的理解或者提取理解的能力。

  • 需要大量的数据。

  • 需要经过标注的数据。

  • 不是完全自动的:需要调节超参数。

  • 激励函数:很难确定一个合适的激励函数。

  • 透明程度: 神经网络的性质接近黑盒子 (在我们可视化了隐藏的过程之后仍然是这样)。

  • 边缘处理的情况:深度学习不擅长处理边缘数据的情况(特别是当它用于自动驾驶)。

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

雷锋网雷锋网


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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/130236.html

(0)
上一篇 2021年8月31日
下一篇 2021年8月31日

相关推荐

发表回复

登录后才能评论