雷锋网按:雷锋字幕组获MIT课程团队授权翻译自动驾驶课程,视频链接:http://www.mooc.ai/course/483/info
我们为你整理了每一个 Lecture 的课程笔记,提炼出每一讲的要点精华,推荐结合课程笔记观看视频内容,学习效果更佳。
原标题 MIT 6.S094: Deep Learning for Self-Driving Cars 2018 Lecture 4 Notes: Deep Learning for Human Sensing
作者 | Sanyam Bhutani
翻译 | 姚秀清、程倩、郭蕴哲、王祎、朱茵 整理 | 凡江
这里是 MIT 6.S094:自动驾驶汽车课程(2018)的第四课的笔记
所有的图片均来源于自于课程的幻灯片。
计算机视觉:告诉计算机去理解世界
计算机视觉,到目前为止都是深度学习。并且大部分成功理解图片含义的案例都是使用神经网络。
监督学习:人类提供已标记的数据。而神经网络通过从原始感知数据到图片分类的映射来完成图片的解析和完整性检测,这个过程应该在测试集上表现良好。
原始感知数据:对于机器,图片是以数字形式存在。以通道 1 或通道 3 的数值数组组成的图片作为神经网络的输入,而输出则通过回归或图片分类来产生不同的类别。
我们必须谨慎的对待感知层容易和困难的假设。
人类视觉 Vs 计算机视觉
视觉皮层的结构是分层的。当信息从眼睛传递到大脑时,形成了越来越高阶的表示。这是深度神经网络在图像背后的表现。越来越高的表示通过分层形成。早期的图层采用原始像素来寻找边缘。通过连接这些边来进一步发现更多的抽象特征。最后,找到更高阶的语义含义。
深度学习对于计算机视觉来说比较难。
照明变化是驾驶中最大的挑战。
姿态变化:神经网络并不擅长于描述姿势。2D 平面中对象的颜色和纹理在旋转时是有很大差异的。
类间变量:对于分类而言,不同种类之间存在许多不同的变量,且各变量之间的差别较小。
遮挡:当一个物体的局部被其他物体遮挡时,我们需要通过人眼来识别被遮挡的物体。
哲学上的歧义:图像分类不等于理解。
无监督学习
强化学习。
图像分类管道
任一种类间不同类别的图像拥有各自的存储路径。路径下存有不同类别的多个范例。任务:存储一个新的图像到其对应的存储路径下。
著名数据集:
MNIST
ImageNet
CIFAR-10
最简洁的数据集之一,包含 10 个类别,通常用于卷积神经网络。
简单的例子:
将两张图片上的像素强度矩阵进行相减,并对其每一像素的差值进行加和。若结果值较高,则两张图片的内容不同。
若采用这套方法,能得到 35% 的 L2 微分精度和 38% 的 L1 微分精度,比随机的图像识别方式高 10% 的精确度。
K 近邻:
我们尝试找到与 K 类别最为相似的图像并将其存入 K 类别的存储路径下,来代替匹配整个数据库的搜索方式。将 K 值设置在 1--5 之间,看不同 K 值对整个匹配和存储过程的影响。
当 K 等于 7 时,我们达到了 30% 的准确率。
人类级别的准确率是 95% 的准确率。
使用卷积神经网络,我们达到了 97.75% 的准确率。
每个输入信号经过加权、偏置和强化
然后将处理后的信号输入进一个非线性激活函数
将越来越多的层级进行组合,形成一种深层次的神经元网络。
神经元网络的训练方式是预先做出判断,通过评估预先判断与实际值之间的差距,然后降低其中导致差值因素的权重,增加其中得出正确结果因素的权重。
10 种情况输入将会得到 10 种不同的结果
当所代表的类别得到信号时,神经元会产生兴奋
激活值最高的类别将产生输出
卷积神经网络
CNNs 的工作效率很高,如学习大量数据和大量对象的复杂任务。
“调参空间的不变性”:
图片中左上角和右下角的物体相同,我们知道图片中有相同的特征。
卷积操作 :在这里我们使用了 3 维卷积操作代替全连接层。所以在该卷积操作中,输入和数据均为 3 维向量。
使用滑动窗口对图片进行滑动,从而对图像切片。对滑动窗口应用用同样的权重来生成输出。我们可以生成很多这样的滤波器。
每个滤波器的参数是共享的(如果某一特征在一个地方有用,则它在所有地方都有用),这使得参数缩减成为了一个很重要的工作。重复使用的特征如下:
深度:滤波器的数量。
步长:使用滤波器时候移过的像素长度。
填充:在图像边界进行卷积操作时进行填 0 处理。
一个例子:
左边的列:3 个输入通道(RGB)。
滤波器 W0:2 通道滤波器,每个滤波器的大小为 3x3。
3x3 大小的滤波器参数是需要通过学习得到的。
通过在图片上滑动来获得输出内容。
这些操作的目的是要输出内容。
卷积操作
输入图像。
使用单独的卷积滤波器生成卷积图像。
使用不同的其他滤波器生成边缘。
从而检测到任意组合的图案并且生成输出数据。
应该有和滤波器等量的输出,来表示找到的图案。
任务:从分类任务中学习到有用的所需图案。
卷积滤波器随着层数增加,拥有越来越高级的表示。
从边界图案开始,最终可以表达图像中拥有语意的内容。
丈量图像:池化。使用卷积操作的结果作为输入,同伙压缩信息来减少图像的分辨率,比如说在 Max-Pooling 中使用最大值作为池化之后的值。
注意:涉及到场景分割时,“空间分辨率的缩减”对结果具有不好的影响,但是该操作可以更好地在图像中寻找高代表性的表现,从而有助于对图像分类。
卷积神经网络由很多这样的卷积层组成。
全联接层可以让我们将上述操作应用于特定的区域。
ImageNet 跟踪研究
任务:对规模最大的图像数据集分类,14M+ 图像,21K+个类别,并含有子类
提供了检查类间、类内分类效果的好机会。
网络:
AlexNet 2012:里程碑式的进步
ZFNet 2013
VGGNet 2014
GoogLeNet 2014
初始模块介绍
想法:不同大小的卷积滤波器为网络提供了不同的值,进行不同的卷积和连接。
更小的卷积核: 高分辨率的纹理信息。
更大的卷积核:更加抽象的特征信息。
结果:参数更少,表现更好。
ResNet 2015
设计灵感:通过增加网络深度,提升模型的表现性。
“残差块”可以使设计者训练深度更深的网络。
残差块:
- 重现一个简单的网络块,类似 RNNs。
- 在转化之前传递输入数据,并具有学习权重的能力。
- 每一层使用前一层的输入,原始数据和未转换的数据学习新的参数。
CUImage 2016
SENet 2017
挤激网络:
- 通过在卷积单元的每个信道上添加一个参数的方式,网络会基于其被传入的特征自主地对信道上的权重进行调整。
- 目的:让网络学习每个独立信道上的权重。
- 注意:由于它会依据内容来选择使用的过滤器,因此这种方法适用于任何架构。
ILSVRC 分类挑战赛评估
前 5 大猜想。
人类的错误率是 5.1%
于 2015 年被打破。
胶囊网络:
- 设计灵感:考虑一下什么样的假设会被网络所所制造出来,什么样的信息会被丢掉。
- 由于卷积神经网络的空间限制,它会丢弃掉复杂物体和简单物体之间的层级。
- 未来的挑战:如何设计出旋转工作的神经网络。
改变神经网络的最后一层来实现这些网络。
物体识别
注意:卷积神经网络构造了一个基于卷积的像素级激活热力图。
场景理解
目标:为现实世界的场景,将二维投射的每个像素进行分类。
挑战:在像素级别上进行边界标记。
使用案例:
- 物品边界的精确提取对医学上和驾驶上都意义重大。
- 在驾驶方面,将这些信息与传感器中的信息进行整合,之后将语义知识与现实世界的三维坐标进行整合,以此来对周围环境的边界进行准确的标记。
FCN 2014:
- 对预训练好的网络 ImageNet,改变其目标。
- 使用解码器代替全连接层,通过图片升采样的方式来构造热力图。
- 为了将升采样的粒度细化提升,会跳过一些连接。
SegNet 2015:
- 已被应用到驾驶环境中。
空洞卷积 2015:
- 使用卷积操作代替池化操作大大降低了分辨率。
- 当必须得持续捕捉空间窗口时,Gridding 维护了局部高解析度的纹理。
DeepLab v1,v2 2016:
- 叠加条件随机场 (CRFs): 将通过观察底层图像强度来平滑分割进行后置处理。
切分的关键
全量卷积网络
条件随机森林
空洞卷积
ResNet-DUC 2017:
在学习放大特征上,采用密集上采样卷积来代替双线性插值。
复合空洞卷积:
从输入到输出的过程中,卷积被依次展开。
窍门:放大特征的参数
神经光流网络
在此讨论的方法均忽略与机器人相关的时序动态。
流能够帮助输入图片中的像素
光流会生成像素移动的方向和移动量级,由此我们可以拿到第一桢检测到的信息并且将其向前传播。
对于“彩色书籍标注”任务来说,神经光流网络的处理非常慢(1 张图片需要 90 分钟)。
FlowNetS-将两张图片融合,将结果作为输入。
FlowNetC-分别卷积,与连接层进行结合
挑战:穿过时间的图片分割。
FlowNet 2 2016:
结合了 FlowNetC 与 FlowNetS 的特性
生成更平滑的流场。
保留了更多动作细节。
运行速度为 8–140 桢每秒。
步骤:
- 将网络模型融合为一个方法。
- 对数据集事件进行排序
分段融合
数据集:
1080p 的原始驾驶视频呈现在 8K 360 度的视频中。
每一帧的地面实况训练集
SOTA 分段输出
光流
任务:
使用最初的地面实况视频分段,该分段来自 SOTA 网络并且改善该分段。
使用该网络的输出帮助更好地传输信息,我们能找到使用临时信息的方法么?
添加雷锋字幕组微信号(leiphonefansub)为好友
备注「我要加入」,To be an AI Volunteer ! 雷锋网(公众号:雷锋网)雷锋网
雷锋网雷锋网