控制车辆运行的19个神经元
▲ 神经元的网络控制车辆驾驶
自动驾驶汽车是当前机器学习研究者和工程师们正在探索的最复杂任务之一。它覆盖很多方面,而且要求必须高度稳定,只有这样我们才能保证自动驾驶汽车在道路上安全运行。通常,自动驾驶算法的训练需要大量真实人类驾车的训练数据,我们试图让深度神经网络理解这些数据,并复现人类遇到这些情况时的反应。
▲ 驾驶过程中注意力地图
众所周知,当数据量足够多时,深度监督模型会被训练得很好,但目前的深度学习仍存在泛化性能不好和训练效率不高的问题,研究人员一直在寻求构建智能模型的新方法。当前人们探求的方向总是更深的网络,但这意味着更高的算力消耗。因此正如人们所思考的那样,必须寻找一种需要更少数据或更少神经网络层的方法,让机器实现智能化。
▲ 模仿线虫进行控制的神经网络
最近,来自MIT CSAIL、维也纳工业大学、奥地利科技学院的团队已经开发了一种基于线虫大脑的新型AI系统。研究成果登上了最近的《自然·机器智能》杂志。
他们发现,具有19个控制神经元的单个算法,通过253个突触将32个封装的输入特征连接到输出,可以学习把高维输入映射到操纵命令。
这种新的AI系统用少量人工神经元控制车辆转向。而基于CNN和LSTM的神经网络打造同样的自动驾驶系统,网络结构则要复杂得多。
▲ 使用CNN实现车辆届时系统
该方法受线虫等小型动物大脑的启发,仅用数十个神经元即可控制自动驾驶汽车,而常规深度神经网络方法(如 Inception、ResNet、VGG 等)则需要数百万神经元。这一新型网络仅使用 75000 个参数、19 个神经元,比之前减少了数万倍!
该方法还带来了额外的好处,由于神经元数量稀少,这样的网络不再是深度模型的「黑箱」,人们可以知道网络在每个运行阶段的情况。该研究项目负责人 Radu Grosu 教授表示:「正如线虫(nematode C. elegans)这种生命,它们以惊人的少量神经元实现有趣的行为模式。」
▲ 三种不同的神经连接模型
这是因为线虫的神经系统能够以高效、协调的方式处理信息。该系统证明深度学习模型仍有改进空间。如果线虫在进化到接近最优的神经系统结构后,能够凭借极少量神经元做出有趣的行为反应,那我们也可以让机器做到。该神经系统可以让线虫执行移动、动作控制和导航行为,而这恰恰是自动驾驶等应用所需要的。
该研究参与者之一 Thomas Henzinger 教授表示,他们按照这一神经系统,「开发了一种新型数学神经元和突触模型」——liquid time constant(LTC)神经元。简化神经网络的一种方式是使之变得稀疏,即并非每一个单元都与其他单元相连接。当一个单元被激活时,其他单元未被激活,这可以降低计算时间,因为所有未被激活单元没有任何输出(或者输出为 0,可以极大地加快计算速度)。
▲ 神经网络专注于图像的非常具体的部分
这一新系统包括两部分。
首先是一个紧凑的卷积神经网络,用于从输入图像像素中提取结构特征。使用这类信息,网络能够确定图像的哪些部分较为重要或有趣,并仅将这部分图像传输至下一个步骤。
该研究提出新架构的端到端表示。
第二个部分即「控制系统」,它利用一组生物启发神经元做出的决策来控制汽车。这一控制系统又叫做「神经电路策略」(neural circuit polic,NCP)。
它将紧凑卷积模型的输出数据转换到仅有 19 个神经元的 RNN 架构中(该架构受线虫神经系统的启发),进而控制汽车。
▲ NCP 网络的实现细节参见相关论文及 GitHub 项目
这带来了参数量的锐减。论文一作 Mathias Lechner 表示「NCP 比之前的 SOTA 模型小了三个数量级」,参见下表 2。
▲ 网络规模对比
由于该架构规模很小,因此我们可以看清楚其注意力在输入图像的哪一部分。研究者发现,用这么小的网络提取图像最重要部分时,这些神经元只关注路边和视野。在目前着重于分析图像每一个细节的人工智能系统中,这是很独特的行为。
与其他网络相比,传输至 NCP 网络的信息可谓少之又少。仅通过上图,我们就可以发现该方法比现有方法更加高效,计算速度也更快。
- 参考链接:
https://www.csail.mit.edu/news/new-deep-learning-models-require-fewer-neurons
https://www.nature.com/articles/s42256-020-00237-3
https://www.youtube.com/watch?v=8KBOf7NJh4Y&ab_channel=MITCSAIL
https://github.com/mlech26l/keras-ncp/
控制车辆运行的19个神经元相关推荐
- MIT用19个神经元实现自动驾驶控制,灵感来自秀丽隐杆线虫
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 打造一个自动驾驶控制系统需要多少个神经元? MIT的科学家告诉你,最少只要19个!方法是向线虫这种初等生物学习. 最近,来自MIT CSA ...
- 19个神经元控制自动驾驶汽车,MIT等虫脑启发新研究登Nature子刊
本文经机器之心(almosthuman2014)授权转载,禁止二次转载. 选自Medium 作者:Louis Bouchard 机器之心编译 编辑:魔王.泽南 这种新型智能系统模仿线虫的神经系统来高效 ...
- 受小动物大脑结构启发,研究人员开发出新的深度学习模型:更少神经元,更多智能...
大数据文摘出品 来源:sciencedaily 编译: 朱科锦.coolboy 从搜索引擎到自动驾驶汽车,人工智能已经进入了我们的日常生活.这与近年来计算能力的巨大提升有关.但是,最新的人工智能研 ...
- 单神经元自适应控制算法,bp神经网络缺点及克服
为什么BP神经网络是有限自适应的? 算法都是有自身的缺陷的吧,要不也不会出现这么多的神经网络改进的算法,但是BP神经网络对大多数的问题都是有一定的处理能力的,只是处理的精度不一定能够达到要求. 优化初 ...
- 可以通过无线充电的软脑植入物来控制大脑中的脑细胞
点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 研究人员已经发明了一种由智能手机控制的软脑植入物,可以从体外无线充电.它使长期的神经回路操作成为可能,而无需定期进行破坏 ...
- 单片机c语言控制步进电机发脉冲,单片机如何写用脉冲控制步进电机呢?
#include signed long beats = 0; //电机转动节拍总数 void KeyDriver(); void main() { EA = 1; //使能总中断 TM ...
- 怎么用java程序控制步进电机_用单片机按键控制步进电机转动的程序怎么写
描述 结合按键程序,我们设计这样一个功能程序:按数字键 1-9,控制电机转过 1-9 圈:配合上下键改变转动方向,按向上键后正向转 1-9 圈,向下键则反向转 1-9 圈:左键固定正转 90 度,右键 ...
- C++ 学习笔记(19)new/delete表达式、定位new、typeid、dynamic_cast、type_info、枚举类型、成员函数指针、union、位域、volatile限定符、链接指示
C++ 学习笔记(19)new/delete表达式.定位new.typeid.dynamic_cast.type_info.枚举类型.成员函数指针.union.位域.volatile限定符.链接指示 ...
- 【蓝牙Mesh笔记 ①】ESP32-C3 模组上实现天猫精灵蓝牙 BLE Mesh AliGenie 接入,无需WiFi 连接也可以实现天猫精灵语音控制。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...
最新文章
- 某小型公司持续集成工具 jenkins 实践
- linux stress 命令 模拟系统高负载
- 本地的文件怎么放到虚拟桌面_搬新家桌面文件怎么收纳?5个便宜实用的收纳神器,你买过几个?...
- Linux特殊权限:SUID、SGID、SBIT
- android 动态移动xy,android – 如何使用AChartEngine动态线图和X轴自动平移(滚动)?...
- 《c语言从入门到精通》看书笔记——第5章 常用的数据输入输出函数
- 实现粗糙表面_什么是表面粗糙度,你真懂吗?
- python编写makefile_Python项目中的Makefiles
- MySQL常用日期时间函数
- git add 所有修改文件_工作中Git的使用实践
- CTRL+ALT快捷键汇总
- 网上支付跨行清算系统与大小额支付系统有什么区别?
- 服务器基本安全策略配置
- check exception和uncheck exception
- BZOJ4484: [Jsoi2015]最小表示
- python中参数前面加星号是什么意思_详解Python函数中参数带星号是什么意思
- IMAGE WARPING (IDW+RBF)
- jenkins shell 权限_Jenkins在shell脚本运行docker权限报错解决
- 打破ViT的实际应用限制!沈春华老师团队提出无需解码器的目标检测器DFFT
- linux根目录能删除吗,为什么Linux允许用户删除根目录?如果删了会怎样?