飞道的博客

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

324人阅读  评论(0)

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

 

12月10日晚,在【青源Talk】第 3 期上,清华大学助理教授,智源青年科学家黄高将计算机视觉中的深度神经网络结构设计从2012年至今的发展,划分为三个阶段,并分析了各个阶段的特点:

-> 2012-2015,为快速发展期;

-> 2015-2017,为成熟期;

-> 2017-至今,为繁荣期。

在此之后,黄高重点讲解了当下 CV 深度模型设计领域的两大研究方向,NAS 和动态网络,特别是后者。听其报告,我们能够感受到黄高的工作优美、简单且自然。

在演讲之后的交流中,黄高向与会的学生们强调了一条科研经验:研究需要韧性。

本文根据演讲内容整理,供读者参考。报告视频及PPT下载地址:

https://hub.baai.ac.cn/view/4937

整理:贾伟、周寅张皓

校对:廖璐

黄高 · 简介

黄高是清华大学自动化系助理教授,博士生导师。2015年获清华大学博士学位,2015年至2018年在美国康奈尔大学计算机系从事博士后科研工作。主要研究领域为深度学习和计算机视觉,提出了主流卷积网络模型DenseNet。目前在NeurIPS,ICML,CVPR等国际顶级会议及IEEE多个汇刊共计发表学术论文50余篇,被引用18000余次。获CVPR最佳论文奖、达摩院青橙奖、世界人工智能大会SAIL先锋奖、中国自动化学会优秀博士学位论文、全国百篇最具影响国际学术论文、中国人工智能学会自然科学一等奖和吴文俊优秀青年奖等荣誉,入选智源青年学者计划。

 

01

视觉模型的发展

 

在过去一些年里,计算机视觉领域涌现出许多经典的深度学习的网络架构。这说明网络的架构在深度学习(计算机视觉)中尤为重要。原因是什么?

 

黄高认为网络架构的重要性体现在四个方面,分别为:表达能力、优化特性、泛化性能和计算/存储效率。

  • 表达能力:不同网络结构,其表达能力显然不同。举例来说,线性模型,无论多深,仍然只是线性模型,其表达能力有限。

  • 优化性能:ResNet出现之前,所谓的“深度网络”并不很深,当时最深的GoogleNet、Inception等也仅 20 多层。这并非当时硬件不足,主要原因是梯度反传过程会出现梯度消失问题。ResNet以及后续的DenseNet通过结构上的改进,可以很好地改善这种问题。

  • 泛化性能:从本质上来说,神经网络是一个函数,训练网络即是拟合。网络的结构定义了函数的特性,同时也关系到它的泛化能力。

  • 计算/存储效率:当达到同样精度时,有的模型需要很大,有的模型却比较小;有的模型消耗计算资源很高,有的模型却相对要小得多。

 

02

神经网络结构三个阶段

 

从2012年至今,计算机视觉领域的深度学习网络模型经历了天翻地覆的变化。如何看待这些变化?

 

黄高将这 8 年多的黄金时期划分为三个阶段,分别为:2012-2015,快速发展期;2015-2017,成熟期;2017-至今,繁荣期。

 

如下图所示:

 

2012-2015的快速发展期:2012年,AlexNet在ImageNet比赛中一举挑战各种传统模型,让大家意识到深度学习在视觉任务中的潜力,从而掀起了一股研究热潮。随后不断涌现的很多深度模型都是围绕ImageNet进行设计,包括后来的VGG、GoogleNet等。这一阶段发展非常快速,每种模型都是从各自的角度对优化特性、泛化能力等进行改进。

 

2015-2017的成熟期:这一阶段的标志性事件是ResNet的提出。ResNet的跳层连接思想给大家带来了极大的启发,让模型设计有了一个明确的概念指引,于是迅速出现了诸如DenseNet,ResNeXt等知名模型。这个阶段,研究者逐渐认识到,模型设计并不需要过多的技巧和变化,存在一些简单而基本的设计原则可以依据。

 

2017年至今的繁荣期:17年之后,深度学习在工业界的应用变得更加广泛,于是针对不同的应用场景,便出现了不同角度的模型设计和优化。目前研究较热的方向包括面向边缘端的轻量级模型、网络架构搜索(NAS)、动态模型、Transformer等。

 

03

网络架构搜索的 What and How

 

自动架构搜索(Automatic Architecture Search)的本质是让算法自己去设计网络架构。自Google的NAS(Nerual Architechure Search)方法提出后,NAS逐渐成为备受关注的研究领域,研究者们希望能够从模型设计开始降低人工干预程度,最终实现机器的自动学习(Auto-ML)。现在有一个专门的网站(www.automl.org)汇总该方向上的相关研究。

对比以下模型,最左边(ResNet)为手工设计模型,右边三个(GENet、NASNet、ENASNet)为结构搜索后得到的模型。从直观上可以看出,人工设计模型相对比较规整,而搜索得到的模型则一般比较复杂。

NAS是将模型设计转化为搜索问题,通过在定义的模型搜索集中寻找最优的参数配置实现结构设计。因此,搜索集的定义往往是NAS任务的关键。

 

其次,在确定搜索集后,需要选择合适的搜索算法。当前的搜索方法主要有:强化学习方法(NASNet, Progressive NAS)、进化算法与遗传算法(GeNet,AmoebaNet)、可微分方法(DARTS,Fbnet)等。

 

另外,模型评估为搜索的结果提供可靠的比较依据。往往评估模型达到一定精度所需的计算量,以此评价模型的优劣。方法目前也存在一些问题,例如理论计算量与实际应用时存在偏差。

 

因此,网络架构搜索主要有四个核心问题:

 

1、搜什么:定义搜索问题。

2、从哪里搜:定义搜索空间;

3、怎么搜:设计搜索算法;

4、如何评估:说明搜索对象。

 


04

动态神经网络

在2017年之前的主流深度模型都属于静态模型,一旦训练结束,其参数和结构便固定了下来。这种模型的缺点是,设计上一步到位,但在应用时却无法根据具体需求而做调整。

 

1、Small - Easy,Big - Hard

 

如上图所示,从12年至17年,模型在数据集上的准确率逐步提升,但这种提升的背后,则是计算量的巨大开销,往往为了提高零点几个点,模型便需要增加几十层。这给我们导致了一个印象,认为模型越大性能越好。

 

但大模型相比小模型,到底好在哪里?

 

黄高认为:Bigger Models are needed for those noncanonial images.

 

如上图所示,尽管数据集中有大量“正常”【马】的照片,但由于数据的长尾分布特点,必然会存在一些非常规的图片。若想将这些非常规图片正确预测出来,神经网络在特征提取上就需要有更丰富、更高级的特征。但这里存在的问题是,大多数图片可能仅需少量层的网络便可以正确识别出来;但为了处理极少数非常规的图片,却需要耗费大量的算力。

 

所以,我们为什么要用相同的代价来处理所有的图片呢?

 

换句话说,我们是否可以用小且便宜的模型来处理容易识别的图片,用大且昂贵的模型处理难识别的图片呢?

 


 

按照这种初始的想法,存在一个问题,即在现实中没有一个“上帝”告诉模型,哪张图是容易的,哪张图是难的。

 

黄高等人提出一种多尺度的DenseNet模型,如下图所示,模型中包含许多分类器在中间提取特征并做分类,然后在每个出口做一次判断,预测值大于阈值,那么就输出判断;而如果小于阈值,便送入下一层分类器继续计算,直到预测值大于相应阈值。

 

这种模型,相比于DenseNet,同样的性能可以做到2~5倍的提速。

 


可视化结果:

 



 

这个工作中一个亮点在于,阈值是可以设定的,这种特点非常适用于边缘设备。阈值越低,精度相应也就相对降低,但模型运算速度却能够变得更快;反之,阈值越高,精度越高,速度则变慢。对于边缘设备,传统的静态模型在训练好后,精度是固定的,计算时间是固定的,耗电量也是固定的。作为对比,动态模型的好处在于,当设备电量较低时,可以将阈值调低,从而以牺牲一点精度的代价去换取更长的电池续航时间,从而在精度和电量之间做一个自适应平衡。

 

在黄高等人近期的一项最新工作中,他们将这种思想做了进一步的拓展——分辨率自适应。简单来说,在不同的图片中,有的识别物体占比较大,而有的则较小。(如上图两张猫头鹰的图片)那么如果识别物体占比较大,用分辨率低一些的图片就足以完成识别任务;如果识别物体占比较小,可以选择更高清一些的图片。

 

具体如下图所示,先用低分辨率图片进行计算,如果置信度高于阈值,则输出结果;如果低于阈值,则使用更高分辨率的图片、更深的网络进行计算,直至置信度大于阈值。

 


  

2、更进一步:空间自适应

 

前面提到的自适应主要是样本级别的自适应,针对与图像数据还可以考虑空间维度的自适应。

 

如下图所示,人的视觉会关注不同的空间区域,比如街道,车辆,行人;但是对于另外的窗台,花纹,则会选择性忽略。这说明人在看一张图片时,并不会在所有的像素上投入同样多的精力。但现有网络的卷积操作,并不能适应图片的空间信息,而是简单地对图片的不同区域做同样的处理。


黄高针对这一问题,提出了 Sampling and Interpolation 的方法。正如其名,该方法先进行稀疏采样和计算,然后通过插值的方式进行稠密重建。如下图所示:

 


 

具体方法则是:对于输入 X,并不直接进行卷积计算获取其特征,而是先进行稀疏采样,将采样结果进行稀疏卷积,从而获得一个稀疏的特征图;根据稀疏特征图进行插值后获得重建特征图。

 

 

这里关键的一点在于,采样的模型并非随机采样,其参数是可学的,依赖于数据,因此对于不同物体,生成的mask则不同。mask事实上告诉了模型哪些区域应该重点关注,从而指导SparseConv去计算;SparseConv并不会提取所有像素的特征。


 

黄高等人的另一项关于空间自适应的工作,发表在NeurIPS 2020 上。他们注意到,人在做视觉识别时,是一个渐进、迭代的过程。例如看一张图,我们初步瞥一眼,知道它是一只鸟;然后我们会更加关注它的头部、身体、尾部等,从而获取更多的特征。

 


依据这种思想,黄高等人提出了GFNet(Glance and Focus Network),基本思想如下图所示,通过降低图像分辨率来模拟最初的glance,如果模型预测置信度不够,则通过使用局部的图像模拟人仔细观察获得信息,丰富模型观察到的细节。

 


 

具体模型框架如下:

 


 

值得强调的是,模型中所采用的都是通用框架,因此从理论上说,可以在方法中兼容任何已有的深度网络(手工设计的或搜索出来的)。

 

实验结果如下:

 


 


 

05

研究需要韧性

 

报告之后,黄高与现场的学生进行了线下问答交流。

 

在交流中,黄高多次强调这样一个观点:“研究需要韧性。”

 

他提到:当初在有DenseNet想法时,并不被周围的人看好;但他和合作者一直坚持把结果做了出来,最终证明了这项工作的价值。

 

黄高工作中的韧性自很早的时候就有所展现。2009年前后,在AI领域,深度学习的工具并未如此普及,优化方法、梯度回传这些在现在看来简单到仅仅需要一行代码的操作,在那时黄高的工作中,都需要一次次手动实现。因此,那时候的研究者都在想着如何节省算力缩减模型连接,以减少工作量。但当时黄高便已有另外的思考:如果每层的信息都能逐层向前传,那模型的信息通道将更加通畅,那么虽然每层连接变多,传递底层信息到高层所需的模型层数就可以大大减少。这一想法,也启发了他后来对 DenseNet的设计。

 

黄高说,当初在DenseNet获得最佳论文的推特下,很多人惊讶于模型想法的简洁优美,但同时,也有许多研究者表示惋惜,因为或多或少曾经也有过这样的思考,但由于缺乏动力,或者是遇到挫折,没能坚持推进研究。

 

在交流的最后,主持人刘知远副教授问到:“如果给在场的学生一句take away message,你会说什么?”

 

黄高思考良久,仍然坚定地说:“研究是需要韧性的。我相信在场的大家都十分优秀,但做研究,遇到挫折是常态,一个好的想法中途会有太多因素让它夭折,但最终需要的是一股韧劲才能坚持下来,将想法化为现实。”

 

参考论文

[1] Huang, Gao, et al. "Densely connected convolutional networks." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.

[2] Wang, Yulin, et al. "Glance and Focus: a Dynamic Approach to Reducing Spatial Redundancy in Image Classification." Advances in Neural Information Processing Systems 33 (2020).

[3] Huang, Gao, et al. "Multi-scale dense networks for resource efficient image classification." arXiv preprint arXiv:1703.09844 (2017).

[4]Xie, Zhenda, et al. "Spatially Adaptive Inference with Stochastic Feature Sampling and Interpolation." arXiv preprint arXiv:2003.08866 (2020).


点击左下角“阅读原文”,下载PPT!


转载:https://blog.csdn.net/BAAIBeijing/article/details/111306722
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场