学界丨MIT 开了一门只有九小时的课,教你用深度学习构建自动驾驶

MIT 紧跟时代步伐,开设的 6.S094 课程名为《为自动驾驶构建深度学习》的课程,旨在教学生们为自动驾驶搭建一个深度学习系统,授课者为 Lex Fridman。课程要求学生拥有基本的编程知识(最好是 Python)。

全课只有九节一小时的课程,于 1 月 9 日开课,今天就结课啦。而且!据AI科技评论从议程表上了解到,从开课一直到 1 月 16 日,官网表示会陆续放出 PPT 及视频文件,AI科技评论会持续关注。

DeepTesla 与 DeepTraffic 就是 MIT 这门课程里面的两个重点培训内容,

  • 前者直接以端到端模型训练一个自动驾驶的起动模型;
  • 后者以游戏化的方式模拟汽车在高速公路上行驶,而我们的目标就是(没有蛀牙)训练一个神经网络,利用强化学习控制红车,并让它的速度尽可能提升到最快(也就是超车啦!速度与激情)。

那么首先我们得先补补课,为什么要采用循环神经网络呢?主要鉴于它能够将输出重新做为输入再次进入神经网络中进行训练,也就是拥有所谓的「记忆」。

强化学习的一个典型例子就是 DeepMind 训练机器玩 Atari,虽然机器并不知道游戏规则,但每一次游戏都能让机器得到一次分数的反馈,而目标就是让得分最大化。

美国人每年要浪费 80 亿小时在堵车上,因此如果能采用自动驾驶系统,让老司机们解放双手,想必真真是极好的。

DeepTesla:特斯拉自动驾驶,我也行

DeepTesla 通过一个简单的演示呈现卷积神经网络的端到端转向。顶端呈现的四个指标呈现的是前向传递及后向传递所需的时间,以及目前网络已经训练的示例,还有网络的当前状态(是处于训练数据?还是在提取数据?)。

下方的图表呈现的是损失函数,我们都知道,正常状态下随着时间的推移,损失函数的值应该会越来越小。

而在编辑器下方还有一个可视化图层的功能,用户可以在网络中看到每个图层的处理情况。如果加载了特斯拉视频,随着视频内容的增加,神经网络的训练效果也会变得更好。

下方两个小的方向盘及旁边的数值指的是实际值(蓝色)与系统预测值(白色)的对比。是不是非常智能?

以第一次加载 DeepTesla 为例:我们整个网络大小为(200,66,3)的输入层,表示宽度为200,高度66,涵盖三个通道(红绿蓝)。紧接着有一个卷积层、一个合并层与一个输出神经元。

ConvNetJS为我们提供了几种训练算法,具体能够在这里找到。

DeepTraffic:让小车跑得更快

整个 DeepTraffic 游戏实际上是在网格上运行,但你也可以通过选择不同的模式,让网格呈现出来。

每辆车周围的方格表示的是它自身的速度,而橙色区域指的是该车辆可能的行驶方位。

比如在安全系统中,车辆周围会出现一个 H 型的区域,橙色表示相对安全,而红色表示周围已经有车在附近车道,此时红色小车不能越到红色区域。如果你提升了小车的速度,那么这个区域也会随之变化,毕竟如果有车挡在你的面前,为了保证安全,你一定会减缓速度(这与我们这个小游戏的目标相反)。

编程页面主要分为三块,一是实时的道路模拟情况,还能调整自己车辆的行驶速度,以提升测试速度;二是编程页面,在这里可以修改神经网络的具体代码;第三部分会显示目前神经网络的状态,还能将代码保存、重置或下载。

代码区的这几个变量可以控制网络的输入大小,更多的输入也就意味着更复杂的交通环境,也意味着需要更长的学习时间及更大的学习难度。

整个代理由一个名为「learn」的函数所控制,该函数能够接受当前的状态(以一个扁平阵列呈现),而所得到的反馈为行车速度,也就是以 mph 为单位的平均速度。

函数最基本的形式(告诉代理,让车辆维持现状,不需要变道或减速)大概长这样:

而既然这是一个追求速度的「比赛」,那么你需要通过神经网络控制车辆,比如:

在初始代码中,已经提供了上述内容。当然,你可以自行对数据进行预处理,并将这些状态输入网络,但不需要在这上面花太多时间。

这个地方就是你施展「才华」的地方——这是一个隐藏层里的一个神经元示例。

下图呈现的是最终的回归层,它决定了最终的执行环节将会呈现怎样的结果。

在 Q-Learning 里还提供了一些其它选择,可以在 Github 上找到。

最后一步就是创建“大脑”。

如果点击了 run training,那么可以训练神经网络,并以 30 倍于实时的速度实现单线程运行,随后训练网络的结果会以可视化的形式呈现在电脑上,学生们也可以做一些即时反馈和改进。

该网站上的评估键可以直接运行同样的任务,也就相当于小测验。通过每次 30 分钟的 10 次运行,最后将计算出每次车辆的平均速度,并取中值做为结果。而且,本地测试的评估会受到其它车辆出现的情况的影响,所以本地的测试只能做为参考。

值得一提的是,Fridman 老师表示这些车都有着安全系统,所以不需要担心车的反应速度不够快,它们不会因为你突然操控加速减速而出车祸的。(老师入戏好深……)

Fridman 还在主页上公布了一个神经网络训练排名榜,目前有三位同学取得了很不错的成绩,甚至还有比老师训练得好的,太厉害了。

老师说了,如果速度不能提上 60km/h,那你明天就不要来上课了(误)。不过排行榜今天就截止统计啦,所以大家如果测试了比排行榜更高的分数,欢迎告诉AI科技评论小编呀,我们会找你做硬创公开课的。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-01-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏媒矿工厂

关于评价与改善沉浸式媒体体验质量的研究现状

沉浸式媒体应用与设备近年来的兴起,在一定程度上导致了MPEG、3GPP、WebVR以及其他相关领域标准化的推进。就目前的沉浸式媒体应用与设备而言,如何评价其体验...

3574
来自专栏CreateAMind

AGI:我与世界的互动是不是如我所愿。动作条件CycleGAN好奇心探索 代码开源

852
来自专栏MixLab科技+设计实验室

Pix2Pix与人工智能做设计

设计是一个创造的过程,目前大部分的设计类产品大多是基于模版的,外加一些图像匹配的处理,做出来的设计,缺少创造的成分,更多的是预设的结果。 基于深度学习算法,是否...

3789
来自专栏AI科技评论

详解 | 滴滴大数据预测用户目的地,准确率超90% | KDD 2017

AI科技评论按:在KDD 2017中滴滴研究院副院长叶杰平所带的滴滴团队关于出租车组合优化分单模型和目的地预测的论文《A Taxi Order Dispatch...

4096
来自专栏AI科技评论

给正在写Paper的你:如何在成千上万的arXiv论文中脱颖而出?

本文为雷锋字幕组编译的技术博客,原标题 Heuristics for Scientific Writing (a Machine Learning Perspe...

3638
来自专栏杨熹的专栏

Kaggle winner 方案 | Instacart Market Basket Analysis: 2nd place

今天来看看 Instacart Market Basket Analysis competition 的第二名方案,作者是 Yahoo! JAPAN 的一个数...

3175
来自专栏机器之心

专栏 | 滴滴KDD2017论文:基于组合优化的出租车分单模型

机器之心专栏 机器之心编辑部 数据挖掘顶会 KDD 2017 已经开幕,国内有众多来自产业界的论文被 KDD 2017 接收。本文是对滴滴 KDD 2017 论...

2998
来自专栏量子位

搞机器学习/AI有什么必备的数学基础?| 经验之谈+资源大全

雷刚 发自 凹非寺 量子位 报道 | 公众号 QbitAI 今天是开学第一天!心里只有学习的量子位,发现Hacker News上又有高分话题,而且还跟学习有关...

2945
来自专栏机器之心

业界 | 思必驰推出启发式对话系统,关注知识传播的会话精灵

对于对话系统来说,一般都可以分为特征处理、理解意图和生成答案等过程。思必驰北京研发院 NLP 负责人葛付江解释,在接收问句后,系统会进行进行分词、词性标注以及命...

943
来自专栏玉树芝兰

如何用人工智能帮你找论文?

传统的关键词检索论文,浩如烟海的结果让你无所适从?试试人工智能检索引擎。根据你的研究兴趣和偏好,便捷而靠谱帮你找论文。

631

扫描关注云+社区