性能超越谷歌MobileNet!依图团队提出新一代移动端网络架构MobileNeXt ,入选ECCV2020

新智元

共 4742字,需浏览 10分钟

 ·

2020-10-28 03:06



  新智元报道  

编辑:白峰、梦佳

【新智元导读】AIoT的时代即将来临,移动端智能应用呈爆发式增长,但是大型神经网络在移动端的性能制约了AI在移动端的推广。最近,依图团队发表在ECCV的一篇论文,提出了新一代移动端神经网络架构MobileNeXt,大大优于谷歌的MobileNet、何恺明团队提出的ResNet等使用倒残差结构的模型,为移动端算力带来了新的突破。

《三体》中罗辑沉睡了两个世纪后,在位于地下一千多米的城市中醒来;《流浪地球》中,行星推进器下500米的地下城。

在那里是一样的人间烟火,只不过人们生活的场景从地上转移到了地下。
 
              
未来,随着人类栖息空间的不断延展和拓宽,现存的城市管理体系注定会失效,必将需要一个高度复杂的智能系统来维护,而打造智慧城市,要完成交通、供水、供电、供气、通讯、环保等等基础设施的数字化建设,但是很少有城市关注到。
 
而上海的「一网统管」系统做到了,小到每一个路灯、井盖、消防栓,大到26000多公里的地下管网,都被连接了起来,让城市的精细化管理成为可能。
 
这个「一网统管」得益于依图自主研发的人工智能芯片,人工智能算力在城市管理中规模化落地的可能性被大大释放,为此还得到了央视《新闻联播》“十三五”成就巡礼专题的点赞。
              
一直以来,依图都在智能基础设施的建设方面狠下功夫,在基础的算法和芯片方面不断突破新的边界。

移动端神经网络新架构MobileNeXt,超越谷歌MobileNet和何恺明团队ResNet

基础网络结构是各种算法的基础,直接影响模型最终的性能,这方面高质量的研究很稀缺
 
依图研发团队近期在 ECCV 2020 发表了新论文,通过分析当前主流移动端网络的倒残差模块的优势与劣势,提出了一种改良版本MobileNeXt,大大提升了移动端神经网络的性能。
          
论文: 
https://arxiv.org/abs/2007.02269
代码: 
https://github.com/yitu-opensource/MobileNeXt
 
在不使用SE等性能提升模块的条件下,相比于主流的MobileNetV2,MobileNeXt在相同计算量下可达到1.7%的分类精度提升
 
此外,新提出的沙漏模块可用于改良神经网络自动化搜索的搜索空间,在使用相同搜索算法的情况下,加入沙漏模块的搜索空间可以在CIFAR10的数据集上取得更高效的模型架构,大大优于谷歌的MobileNet、何恺明团队提出的ResNet等使用倒残差结构的模型
             
图一:ImageNet 测试结果

倒残差和线性瓶颈,让移动端神经网络彻底「通车」

谷歌在2017年提出了专门为移动端优化的轻量级CNN网络,该研究最大的亮点是提出了深度可分离卷积(depthwise separable convolution)。
 
传统卷积
 
传统卷积分两步,每个卷积核与每个特征图按位相乘,然后再相加,此时,计算量为??∗??∗??∗??∗?∗?,其中??为特征图尺寸,??为卷积核尺寸,M为输入通道数,N为输出通道数。
 
              
深度可分离卷积
 
而谷歌提出的深度可分离卷积,将普通卷积拆分成了一个深度卷积depthwise和一个逐点卷积pointwise。

首先按通道进行按位相乘,通道数没有改变;然后将第一步的结果,使用1*1的卷积核进行传统的卷积,此时通道数可以进行改变。使用了深度可分离卷积,其计算量变为??∗??∗?∗??∗??+1∗1∗?∗?∗??∗??。
              
深度可分离卷积的计算量下降了,也是MobileNet V1能够实现加速的主要原因
 
MobileNet V1的速度虽然提高了,但是低维信息映射到高维的维度较低,经过ReLU后再映射回低维时损失比较大,所以谷歌在V1的基础上,又引入了倒残差(Inverted Residuals)和线性瓶颈(Linear Bottlenecks)两个模块,使得MobileNetV2降低时延的同时精度也有所提升。
 
MobileNetV2 提出的倒残差模块现在已经成为移动端网络的基础构建模块。
 
             
倒残差模块中间粗两头细,扩张-卷积-压缩,提取更高维信息
 
             
线性瓶颈模块,将最后的ReLU替换成线性激活函数,进一步降低信息损失
 
通过在高维度使用深度可分离卷积,倒残差网络可以有效降低计算开销,保证模型性能。
 
同时,瓶颈结构的连接方式可以有效降低点操作的数量、减少所需要的内存访问,进而进一步减小硬件上的读取延时,提升硬件执行效率。
 
          
 
倒残差梯度回传易「走丢」,沙漏型瓶颈结构让梯度不「抖动」

倒残差结构的不足
 
然而,MobileNetV2集中于瓶颈结构的网络连接方式可能会造成优化过程中的梯度回传抖动,进而影响模型收敛趋势,导致模型性能降低。
 
现有研究表明:(1) 更宽的网络可以缓解梯度混淆问题并有助于提升模型性能;(2)逆残差模块中的短连接可能会影响梯度回传
 
为了解决MobileNetV2中瓶颈结构导致的优化问题,依图团队重新思考了由ResNet提出的传统瓶颈结构的链接方式,这种连接方式把梯度主要集中在较高维度的网络层,可以减少梯度抖动、加速网络收敛
 
于是便有了一种新的网络设计模块--沙漏型瓶颈结构,既能保留高维度网络加速收敛和训练的优势,又能利用深度卷积带来的计算开销收益,减少高维特征图的内存访问需求,提高硬件执行效率。 
             
图二:a.瓶颈结构,b.倒残差结构,c.新的沙漏型瓶颈结构
 
依图团队把跳跃链接放置在高维度神经网络层,并使用深度卷积来降低计算开销,然后使用两连续层1x1卷积来进一步降低计算开销的效果。
        
图三:Sandglass Block的具体原理设计
 
可以看到,Sandglass Block可以保证更多的信息从bottom层传递给top层,进而有助于梯度回传;执行了两次深度卷积以编码更多的空间信息。
 
基于上面的分析,我们来看依图研发团队都做了哪些设计优化。
 
降维和升维的位置
 
在原始的倒残差模块中先进行升维再进行降维
 
基于前述分析,为确保高维度特征的短连接,依图团队对两个1x1卷积的顺序进行了调整。假设  表示输入张量,   表示输出张量(注:此时尚未考虑深度卷积),那么该模块的计算可以写成如下形式,
             
见图三b中的中间两个1x1卷积。
 
高维度短连接
 
依图团队并未在瓶颈层间构建短连接,而是在更高维特征之间构建短连接(见图三b)。更宽的短连接有助于更多信息从输入F传递给输出G,从而有更多的梯度回传
 
与此同时,由于高维度的跳跃链接会导致更多的点加操作、需求更多的内存读取访问,直接连接高维度跳跃链接会降低硬件执行效率。
 
一种新颖的残差跳跃连接可以解决这一问题:即只使用一部分信息通道进行跳跃链接。这一操作可直接减少点加操作和特征图大小,进而直接提升硬件执行效率。
 
实验结果显示,仅使用一半的信息通道进行跳跃链接不会造成精度损失。
 
引入更丰富的空间信息
 
我们知道,1x1卷积有助于编码通道间的信息,但难以获取空间信息,而深度卷积可以。因此依图团队沿着倒残差模块的思路引入了深度卷积来编码空间信息。
 
但跟倒残差模块不同的是深度卷积的位置。
 
倒残差模块的深度卷积在两个1x1卷积之间,而1x1卷积会降低空域信息编码,因此依图团队将深度卷积置于两个1x1卷积之外(见图三b中的两个3x3深度卷积),这样就能确保深度卷积在高维空间得到处理并获得更丰富的特征表达。
 
             
(该模块可以采用如上公式进行描述)
 
激活函数的位置
 
线性瓶颈层有助于避免特征出现零化现象导致的信息损失,因此在降维的1x1卷积后不再添加激活函数。同时最后一个深度卷积后也不添加激活函数,激活函数只添加在第一个深度卷积与最后一个1x1卷积之后
 
基于上述考虑,得到了该文所设计的新颖的倒残差瓶颈模块,结构如下表所示。
      
图四:新的残差瓶颈模块的具体连接方式
 
基于上述所示沙漏瓶颈模块,依图团队提出了一种新的移动端网络架构MobileNeXt。
              图五:依图团队提出的新的移动端网络架构
 
依图一直是稳扎稳打型的选手,做研究也很务实、不追求多和杂,梯度抖动就解决抖动的问题,损失大就想办法降低损失,追求的是实用和落地,而不是去刷各种比赛的榜单。
 

对标MobileNetV2,MobileNeXt参数更少精度更高

既然是基于移动端的网络,依图团队在Google Pixel手机上进行了测试,看MobileNeXt跟MobileNet V2相比,性能有多少提升。
 
在PyTorch环境下,可以看到MobileNeXt在不同大小的模型下,精度均优于MobileNetV2,而且模型越小,这种优势越明显。
             图六:与MobileNetV2 对比的实验结果
 
当与后训练量化方法结合时,MobileNeXt也有很大优势。(后训练量化可以简单看做模型压缩)

             
 图七:当与量化方法结合的时候,MobileNeXt的优势会更加明显
 
硬件执行效率方面,仅使用部分新系统进行跳跃链接可有效提高硬件执行效率。值得注意的是,在进行残差信息通道实验的时候,没有使用任何额外的监督信息(比如知识蒸馏)。
 
             
图八:使用不同信息通道数目对模型精度的影响
 
目标检测方面,相比MobileNetV2, 使用MobileNeXt的基础架构,可带来0.9mAP的收益。
             
图九:在PascalVOC 2017 数据集上的实验验证
 
神经网络搜索方面,为验证信息处沙漏模型的高效性,依图团队使用新提出的沙漏模型对神经网络搜索的搜索空间进行了扩充。在使用相同搜索算法的情况下,基于扩充空间的搜索结果可以得到0.13% 的精度提升,同时减少25% 的参数量。
 
             
图十:使用相同搜索算法时基于扩充空间的搜索结果
 
透过现象看本质,是研发团队成功设计沙漏型瓶颈模块及MobileNeXt的根本所在,可以看到,基础领域的进展最终靠的还是自身扎实的基本功
 
从这个层面讲,依图早已不再是传统意义上的CV公司,而是凭借基础算法的优势和芯片的加持,逐渐成长为新一代的AI算力厂商。
 
未来,不光移动端,云端和边缘端的厂商也将从依图的软硬件协同算法创新中获益,节约自主开发的算力成本,更好地驱动整体业务。
 
从看、听再到本质的理解,机器的智能在不断进化中逐渐迈向更高的维度,我们看到,依图正在努力将智能化的理论不断付诸实践,成为AI落地的引路人。

参考链接:
https://arxiv.org/abs/2007.02269
https://github.com/yitu-opensource/MobileNeXt
https://www.cnblogs.com/dengshunge/p/11334640.html
https://bbs.cvmart.net/articles/2861



浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报