智源青年科学家黄高:面向高效推理的深度网络结构设计

随着深度学习在工业界的广泛应用,人们对模型的关注不仅仅在于其预测精度,同时也对计算和存储效率提出了更高的要求。在提升模型效率的诸多手段中,神经网络结构创新始终是最为有效的方式之一。

2019年12月24日上午,智源青年科学家、清华大学助理教授黄高在北京大学进行了题为《面向高效推理的深度网络结构设计》的学术报告。黄高是国内人工智能领域优秀的青年学者,其代表性成果DenseNet曾获CVPR最佳论文奖,也是世界人工智能大会SAIL先锋奖和吴文俊人工智能自然科学一等奖获得者。报告中,他回顾了卷积神经网络的典型结构、分析了有利于提升模型效率的方法与原则,从动态自适应推理的角度,介绍如何通过合理的结构设计,使模型能够针对不同的样本实现计算量的“按需分配”,达到降低平均开销的目的。本文为是黄高演讲的精彩要点介绍。

编辑:王炜强

深度学习:

一场沉默已久的爆发

深度学习是近年来的热门话题,应用领域包括自动驾驶、无人超市、医学影像分析等。谈到深度学习与AI的关系,经常有人将深度学习与人工智能划上等号,实际上深度学习只是机器学习中的子领域,而机器学习又是AI若干研究方向中的一个。在人工智能的研究历史中,很长时间以来传统AI研究学者甚至都将机器学习排除在AI之外。

黄高介绍,神经网络通常会被描述成一个黑盒模型。从数学角度而言,神经网络是学习一个X到Y的映射, X可以是形式多样的数据,如图像、文本、语音等,只要可以通过计算机的方式表达出的信息都可以建构成X,通过神经网络变换得到期望的输出Y。输出可以是对应于分类任务的离散值、或者对应于回归任务的连续值,也可以是更结构化的输出,例如自动驾驶中需要用到的交通标志定位与识别等任务。

神经网络并不是一个新名词,早在1957年就诞生了神经网络的雏形——Perceptron。Perceptron是线性模型,结构简单,能够完成的任务实际上非常有限。但是它提出了“学习”的概念和可操作的算法,因此是一个具有里程碑意义的工作。Perceptron与一般计算机程序的区别在于,后者的执行逻辑完全由人为给定,而Perceptron可以从数据中自动学习规则或特征,然后再应用于新的未知数据。

图1:神经网络发展历史的重要里程碑

Perceptron的提出给了人们巨大的想象空间。如果靠专家去编写规则,那么系统的上限就是人类最好专家的水平。但如果从数据里学习,只要算法足够强大,它就不受人类知识的局限。AlphaGo就是从大量的数据中去学习,靠算法学习它认为有用的特征表达与规则,而不需要专家一条一条编入规则,这就是传统的计算机程序和机器学习的区别。

但是随后人们发现perceptron能做的事情非常有限,其中很重要的原因是它仅仅是一个线性模型,而人类的决策与智慧绝对不是一个简单的线性系统。直到80年代 Back Propagation的出现才给出了训练非线性模型的方法。但因为神经网络的训练是一个非凸的优化问题,反向传播算法经常会陷入局部最优解。

90年代中期,支持向量机(Support Vector Machine;SVM)出现后,神经网络研究又逐渐陷入低潮。

图2:ImageNet Top-5 分类错误率降低轨迹

但是以GeoffreyHinton为代表的少数学者依然坚守在神经网络领域,2006年,他在《Science》上发表文章提出了深度神经网络的概念,一度产生了较大的影响。但深度学习真正的爆发是在ImageNet数据集提出后的第三年。2012年,AlexNet采用了端到端的学习方式,将ImageNet的Top-5分类错误率从25.8%降至16.4%,使深度学习开始被大家所广泛接受。2015年,错误率进一步降低到了3.57%,已经超越了人类的水平。

 

密集连接网络:

多即是少   

介绍完深度学习近年来的发展历程后,黄高紧接着分享了他在神经网络结构设计方面的在研究工作。

深度学习从90年代的LeNet(YannLeCun提出来的一个用来做字符识别的卷积网络)到2012年里程碑式的AlexNet,以及之后我们听到各种各样的模型,像VGG、GoogleNet、ResNet、DenseNet,不同模型的演进也推动了深度学习的发展。那么上述这些模型之间有什么区别?黄高主要就ResNet残差网络和DenseNet模型进行了介绍。

图3:卷积网络的主要模型

从2006年到2014年,深度学习概念最初提出来的8年间里神经网络只发展到20多层,但在2015年突然突破了100多层,并且只是经过了结构上很小的改进,这说明网络结构对深度学习模型的影响非常大。

传统神经网络无法变深的一个主要困难就是梯度消失问题。残差网络ResNet通过引入跳层连接,直接把某一层的输入直接加到输出上,通过这样一个很小的改进,可以让模型突破一百层,甚至可以提高到一千多层。

黄高随后介绍了其研究团队提出的随机深度网络(Stochastic Depth Network)。即在训练ResNet的时候,每个MiniBatch都随机拿掉一些层,因此网络的深度实际上在随机发生变化。仅仅通过这个小的改进,可以使ResNet的泛化性能产生一个显著的提升。基于随机深度网络,我们成功训练了深度达到1202层的残差网络,将CIFAR-10的分类错误率降至4.9%。这说明随机深度网络可以帮助训练更深的网络,并且避免过拟合现象。

图4:随机深度网络模型

那么随机深度网络带给我们什么启发呢?它实际上说明卷积网络中存在大量的冗余性,使得我们可以去掉网络的一些层而不影响网络的正常工作。冗余性对于提升网络的泛化性能和鲁棒性是有帮助的,但是在实际应用中会消耗过多的计算资源。

DenseNet的初衷就是希望降低网络中不必要的冗余计算,通过密集连接实际网络特征重用。这样设计出的模型,虽然看起来连接增加了很多,但实际上是在减小通道的基础上增加连接,所以网络反面变得更加紧凑。

黄高介绍,2018年马里兰大学一个团队对神经网络的损失函数曲面进行了可视化。损失函数曲面即损失函数随着网络参数变化而变化的趋势,对神经网络进行训练就是在这个曲面上寻找一个最低点。他们发现VGG网络的损失函数曲线较为崎岖,加上了残差连接之后的ResNet就变得光滑很多,而DenseNet的损失函数曲线就类似一个凸函数。这个研究告诉我们不同网络结构对于训练的难度影响是非常大的,不同的网络结构会有很不一样的优化性质。

图5:不同网络结构的损失函数曲面

 

自适应网络:

主动适应样本

演讲的第三部分,黄高与观众一起探讨了动态网络(或自适应网络)的发展。从2012年以来,深度学习模型的分类准确率一直在稳步的提升,但模型的计算复杂度也越来越高。其中一个很重要的原因就是网络结构是静态的,即模型训练好之后,其大小就不能再发生变化。使得深度网络为了正确预测少量“较难”的样本,不得不增大模型的大小,从而在“简单”的样本上浪费了大量计算。

 

动态网络的思想就在于探索一种可以根据外界输入的不同而变化自身结构或者参数的模型。因此可以实现用较小的模型去处理简单的图片,用较大的模型去处理难的样本。

黄高随后介绍了其团队提出的一种动态神经网络Mutil-Scale DenseNet (MSDNet)。MSDNet对卷积神经网络进行了重新设计,提出了一种深度与尺度分离的二维网络结构。在这个网络上取中间特征构建分类器,可以保证所有的分类器的特征都经过了充分下采样,从而得到一个较好的分类效果。该网络训练好之后,在推理的过程中,先计算网络的第一个分类器,观察其置信度并与设计好的阈值去进行比较。如果置信度达不到阈值再对第二个分类器进行计算,以此类推一直计算到某个分类器的置信度大于给定的阈值。可以看到在这个网络上,每个样本都有一个自己的计算图,其深度会根据输入的不同而变化,所以称之为动态网络。它与静态网络最大的不同是能够主动去适应样本。

该网络可以实现相对于静态网络2-5倍的提速,大幅降低网络的计算冗余性。同时该网络还有一个很大的优点就是能够根据环境需要动态调整计算负荷。

图6:动态神经网络MSDNet的实验结果

最后黄高还介绍了三种更好地训练该网络的技巧:一,对梯度进行缩放,降低累加梯度的方差,使训练更加稳定;二,采用知识蒸馏方式,因为网络后面的准确率会较高,自然而然用更深层的分类器去帮助前面的分类器进行学习;三,使用特征重用的机制,让浅层学好的一些特征,可以直接传给深层分类器使用。

- 往期文章 -

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/65134.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RANet:MSDNet加强版!清华黄高团队提出分辨率自适应的高效推理网络RANet!

关注公众号,发现CV技术之美 本文分享论文『Resolution Adaptive Networks for Efficient Inference』,由清华黄高团队提出分辨率自适应的高效推理网络RANet!MSDNet加强版! 详细信息如下: 论文链接:https://…

ICLR2021 | 清华大学黄高团队:显存不够?不妨抛弃端到端训练

智源导读:本文主要介绍清华大学黄高团队被ICLR2021接收的一篇文章:Revisiting Locally Supervised Learning: an Alternative to End-to-End Training。 论文链接:https://openreview.net/forum?idfAbkE6ant2 代码链接:https://g…

清华大学黄高——图像数据的语义层扩增方法

⬆⬆⬆ 点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 2020 年 9 月 25 日,在由中国科协主办,清华大学计算机科学与技术系、AI TIME 论道承办的《2020 中国科技峰会系列活动青年科学家沙龙——人工智能学术生态与产业创新》上&#xf…

DenseNet发明者黄高:动态模型好在哪里?

智源导读:自2012年至今,计算机视觉领域蓬勃发展,各种模型不断涌现,短短 8 年时间,计算机视觉领域便发生了天翻地覆的变化。那么如何看待过往变化,当下研究又如何? 12月10日晚,在【青…

对话 DenseNet 一作黄高:做有韧劲、能抗压、不断探索未知的科研

点击上方“计算机视觉工坊”,选择“星标” 干货第一时间送达 作者丨刘冰一 来源丨极市平台 清华大学助理教授、密集连接卷积网络 (DenseNet)提出者 、计算机视觉领域一作顶会论文被引次数最高的国内学者、百万青橙奖奖金获得者..... 这些标签…

测试工程师的好日子来啦?Testin发布AI测试产品,提升易用性和自动化效率

2019年10月26日,以"AI未来"为主题的第二届NCTS中国云测试行业峰会在北京国际会议中心正式开幕。在本次大会上,Testin 总裁徐琨正式发布测试业务Testin云测的全新AI产品iTestin。作为 Testin 人工智能战略中的重要一环,iTestin 融合…

【CodingNoBorder - 07】无际软工队 - 求职岛:ALPHA 阶段测试报告

无际软工队 - 求职岛:ALPHA 阶段测试报告 项目内容这个作业属于哪个课程2022年北航敏捷软件工程这个作业的要求在哪里团队项目-Alpha阶段测试报告我们在这个课程的目标是熟悉敏捷开发的方法论,并通过实际开发产品进行实践。这个作业在哪个具体方面帮助我…

pytest测试报告Allure - 动态生成标题生成功能、添加用例失败截图

一、动态生成标题 默认 allure 报告上的测试用例标题不设置就是用例名称,其可读性不高;当结合 pytest.mark.parametrize 参数化完成数据驱动时,如标题写死,其可读性也不高。 那如果希望标题可以动态的生成,采取的方案…

❀YOLOv5学习❀图像标注工具LabelImg的下载,配置和使用。

LabelImg是图形图像注释工具。它是用Python编写的,并将Qt用于其图形界面。批注以PASCAL VOC格式(ImageNet使用的格式)另存为XML文件。此外,它还支持YOLO格式。下载这个,主要是为了YOLOv5中,做自己的数据集&…

brat事件标注平台使用教程

事件图谱首先涉及到的是事件标注,我采用的是brat事件标注平台,该平台使用的是Linux系统,因为我的电脑是windows系统, 将brat安装在了linux虚拟机(Ubuntu)上。 一.下载与安装 1.下载brat 进入brat官网brat…

OpenAI 成近期顶流团队?如何使用 OpenAI 和 Node.js 构建 AI 图像生成器?

摘要: 12月7号,知名人工智能研究机构 Open AI 在Youtub上发布视频介绍使用OpenAI 和 DALL-E 模型创建一个网络应用程序,该应用程序将根据输入的文本从头开始生成图像。https://www.youtube.com/watch?vfU4o_BKaUZE 前言💖 大家好&#xff0…

AI 自动写代码插件 Copilot(副驾驶员)

AI 自动写代码插件 Copilot 提示:Copilot单词直译过来就是副驾驶员的意思。 介绍:本质上就是基于GitHub开源的亿级别的代码,训练AI模型,自动生成代码。 就是数据量(GitHub的数据量就很大!)能够决定你AI模型精度的上…

软件测试中的AI——运用AI编写测试用例

文章目录 一、现状二、测试技术可结合AI的几个方向三、尝试使用AI编写测试用例(实验过程)1、AI联系上下文的能力弱2、回答的内容类似于能在网上搜索到的内容3、需要有一个明确的指令4、输出内容有限5、无法想象到需求描述之外的内容 四、总结&#xff1a…

AI热度降温?揭秘加德纳技术成熟度曲线与AI发展阶段

一文解决你所有对 AI 的焦虑 近期,我们发现ChatGPT的热度似乎不如前几个月。许多人尝试了这个技术,觉得它非常强大,但似乎与自己的日常生活和工作关系不大,因此逐渐失去了兴趣。 然而,这实际上是技术发展的正常周期&…

王炸赚钱组合!!ChatGPT + AI大模型

“ 你近期有体验过哪些大模型产品呢? 你有使用大模型API做过一些实际开发吗? 在你日常开发中,可以与大模型相关应用结合来完成工作吗? ” 从去年底开始,大模型的发展趋势就非常迅猛,这也代表着人工智能进入…

ChatGPT + AI大模型 = 王炸!!!

“ 你近期有体验过哪些大模型产品呢? 你有使用大模型API做过一些实际开发吗? 在你日常开发中,可以与大模型相关应用结合来完成工作吗? ” 从去年底开始,大模型的发展趋势就非常迅猛,这也代表着人工智能进入…

ChatGPT+低代码,好用到飞起?

ChatGPT 凭借短短 2 个月,月活用户突破 1 亿,成为史上用户增长速度最快的消费级应用程序。ChatGPT 的爆火,在全球范围内掀起了一场关于 AI 技术革命的狂潮,AIGC 也迅速成为科技圈最火赛道。 更有国际咨询机构预测,203…

信用卡兴趣人群洞察报告.pdf

男性用户对信用卡的关注度显著高于女性 信用卡兴趣人群年龄集中在24-40岁,与主流消费人群相吻合。41岁以上人群信用卡关注度明显滑落 深广信用卡关注度最高,占据前四名知州、西安等中西部城市占据前十名中半数名额 信用卡兴趣人群高度集中于iPhone手机,其次分别为三星、魅族…

关于程序员的调查报告

最近Stack Overflow发布一份开发者调查报告,内容涵盖了开发人员最喜欢的技术到工作偏好等等各种问题。下面小编就带大家一起来看一看。 NO.1 最常用的的编程语言: 我们发现Python的使用度今年超过了Java,Python的势头有点猛啊!&am…

c语言进行数据统计分析的研究报告,统计分析报告范文

统计分析报告范文 大家都知道,统计分析的写作是为了制作统计分析文章。在统计部门,统计分析文章则称为统计分析报告。下面是一篇统计分析报告范文,欢迎阅读! 统计分析报告范文 【目录】 一.引言 二.研究目的 三.数据分析 I.对能源生产及构成的…