东升国际官网

申请试用
登录
  • hd-share-img01
主题技术
以原创技术系统为根基,SenseCore东升国际官网AI大装置为主题基座,布局多领域、多方向前沿钻研,
急剧买通AI在各个垂直场景中的利用,向行业赋能。

CVPR 2018 | 东升国际官网科技Oral论文详解:BlockQNN自动网络设计步骤

2018-05-15

距离全球推算机视觉顶级会议IEEE CVPR 2018 (IEEE国际推算机视觉与模式鉴别会议) 召开的脚步越来越近。上周,东升国际官网科技颁发以44篇论文入选CVPR 2018,吸引了诸多伴侣点赞。接下来几周,我们将陆续颁布东升国际官网科技入选CVPR 2018的沉点论文解读报路,欢迎各人关注。


以下是在大规模散布式训练领域,东升国际官网科技颁发的一篇沉磅大会口头汇报(Oral)论文,提出基于散布式训练的深度加强进建BlockQNN算法,自动设计神经网络结构。本文由东升国际官网科技实习钻研员钟钊在东升国际官网科技钻研院副院长闫好汉和钻研经理武伟领导下实现。


论文:Practical Block-wise Neural Network Architecture Generation

作者:Zhao Zhong, Junjie Yan, Wei Wu, Jing Shao, Cheng-Lin Liu


论文全文链接:

https://arxiv.org/abs/1708.05552


简介


神经网络结构设计一向是深度进建里的主题问题。在基于深度进建的分类、检测、宰割、跟踪等工作中,基础神经网络的结构对整体算法的机能曲直有着决定性的影响。传统的神经网络结构设计必要大量专家的知识和试错成本,甚至还必要一些灵感和“神来之笔”,每年仅有几个有较大影响的新网络结构被设计出来,因而,人为设计网络结构是一件极其难题的事件。网络结构的自动设计/搜索的步骤最近受到了宽泛的器沉,其试图朝着自动化深度进建这个指标,把人从复杂繁琐的网络设计调参中解放出来(如图一所示)。


vshbr.jpg

图一:(由左至右)

从人为设计的网络结构到

算法自动设计的网络结构


近期的网络结构自动设计/搜索算法通常必要耗费巨大的推算资源(例如,Google的NAS算法必要使用数百块GPU以及近一个月的训练功夫),并且天生的模型可迁徙性不强,难以做到真正的实用化。本文提出的BlockQNN算法可能解决现有网络结构自动设计/搜索步骤效能和泛化性的问题。


基于“Block”的网络结构暗示


目前主流的深度神经网络结构极其复杂,其深度往往达到数百层,直接搜索整个网络结构的搜索空间极度重大,这也是之前自动网络结构设计/搜索算法比力低效的原因之一。同时,直接设计整个网络的战术会导致网络结构不具备泛化性。例如,基于CIFAR数据集搜索出来的网络结构,由于其数据输入的大幼限度,只适合处置输入为32x32分辨率的数据,从而使得搜索出的网络结构泛化机能较弱。

针对这些问题,本文借鉴了现代主流深度神经网络的设计思想,好比ResNet、Inception等网络。这些网络是由同样结构的子网络沉复组合在一路形成,本文把这种能沉复组合的子结构称为block。通过设计block结构,能够让网络结构的搜索空间大大减幼,并且block结构自身拥有壮大的泛化性,针对分歧的数据集或者工作,只必要叠加分歧个数的block即可实现(如图二所示)。


fragh.jpg

图二:

基于Block设计的网络整体框架

左边为针对CIFAR的框架,右边针对ImageNet


gerhj.jpg


表一:

网络结构编码表


为了暗示网络block结构,本文设计了一套网络结构编码,把神经网络看做一个有向无环图,每个节点暗示网络中的每一层,而边就暗示数据流动的方向。整个编码蕴含神经网络的层数序号,类型,核的大幼,以及两个前序节点的序号。使用这种编码方式就能够暗示肆意的神经网络结构,例如ResNet和Inception的block结构就能使用图三中的编码进行暗示。


frehg.jpg


图三:

Inception和Resnet中block结构编码暗示


基于强化进建的网络结构自动设计


接下来的主题问题即是若何获得最优的网络结构。只管网络结构的搜索空间已经通过设计block大大减幼,但是直接暴力搜索所有可能结构,依然极度耗费推算资源。本文因而提出一种基于强化进建的网络设计步骤,自动进建得到网络结构。


在网络设计强化进建中,本文把当前神经网络层界说为加强进建中的目前状态(current state),而下一层结构的决策界说为加强进建中的作为(action)。这里使用之前界说的神经网络结构编码来暗示每一层网络。这样,通过一系列的作为决策,就能获得一条暗示block结构的编码(如图四所示),而提出的强化进建算法通过优化寻获最优的作为决策序列。本文使用Q-learning算法来进前进建,具体的公式不再发展。


arhj.jpg

图四:

基于强化进建的网络结构自动设计流程


值妥贴心的一点是,与通常的强化进建问题分歧,该工作只在实现整个序列的决策后(即天生齐全网络结构后)才会得到一个reward,而之前的每个决策是对应reward。由于获得最终reward的成本极度高(必要在数据上沉新训练新获得的网络结构),为了加快它的收敛,作者使用了reward shaping的技巧(如图五所示),因而训练初始阶段终止层的Q值不会过高,让算法不会在训练初始阶段偏差于天生层数过浅的网络结构。


arhgh.jpg


图五:

Reward shaping对收敛效能的影响


提前终场战术


固然可能使用多种技巧来使自动化网络结构设计变的越发高效。但是自动网络设计中耗费功夫的关键还是在于每次获得reward的功夫成本极度高,必要将天生的网络结构在对应的数据集上训练至收敛,而后获得相应的正确度来暗示结构的曲直并且用作reward。本文作者发现,通过调整进建率,只必要正常训练30分之一的过程(例如,CIFAR-100数据集上训练12个epoch),就能够得到网络的大体最终精度,这样能够大大降低功夫成本。但是,这样的网络结构精度及其关联的reward会有误差,导致无法精密分辨网络结构的曲直,本文提出一个凭经验的解决公式:


fgrrh.jpg


即真实的reward和提前终场的正确度成正比,但是和网络结构的推算复杂度和结构衔接复杂度(block中边数除以点数)成反比。通过这样的公式改过,得到的reward对网络结构的曲直越发具备可甄别性(如图六所示)。


faehgehjh.jpg


图六:

提前终场的正确杜纂网络真实正确度、

推算复杂度、衔接复杂度的关系


尝试了局


本文使用了32个GPU,经过3天的搜索,能够在CIFAR数据集上找到机能达到目前先进水平的网络结构(如图七所示)。


vbfhnt.jpg

图七:

搜索过程以及进建得到的最优网络结构


相比之前的自动网络搜索步骤(如Google NAS算法的数百块GPU以及一个月功夫),BlockQNN算法可谓极度高效(如表二、表三所示)。

vfdbrhn.jpg

表二:

分歧自动网络结构设推算法的

推算资源对比

grhjk.jpg

表三:

在CIFAR数据集上分歧网络结构的谬误率


另一方面,进建获得的网络结构也能够更容易的迁徙到ImageNet工作上,获得了不错的精度(如表四所示)。


fgerh.jpg表四:

在Imagenet数据集上分歧网络结构的谬误率


为了验证BlockQNN算法是否真的进建到了设计网络的方式,在统一搜索空间下和暴力搜索进行对比,能够发现本文提出的BlockQNN算法能获得比暴力搜索更好的模型(如图八所示)。


vdhj.jpg


图八:

强化进建与暴力搜索获得网络结构

在CIFAR数据集的正确率


对整个搜索过程和了局网络结构进行分析(如图九所示),本文作者发现进建得到的优异结构占有一些共性。好比multi-branch结构、short-cut衔接方式等这些此刻常用的设计思想。同时,作者也发现了一些不太常见的结构共性,好比卷积层之间的addition操作出现的十吩斓繁,这些进建得到的网络结构还有待进一步的分析和钻研。


rehthjjt.jpg图九:

BlockQNN算法设计的网络结构示例


结论


本文提出了一种高效的基于强化进建的网路结构自动设推算法——BlockQNN,其通过“Block”的设计思想,让网络结构搜索空间大大降低,并且使得进建得到的网络具备极度强的可迁徙性。同时,本文使用“提前终场”和散布式架构来加快整个进建过程,达到了百倍于之前Google NAS算法的速度(仅必要32块GPU以及3天的训练)。尝试批注,其进建得到的网路结构在CIFAR数据集上达到人类设计网络结构的精度,并且其结构能够迁徙到大规模的ImageNet数据集上,也能获得不错的机能。作者但愿朝着自动化深度进建这个指标持续发展算法,最终把人从复杂繁琐的网络设计和调参中解放出来,实现深度进建更进一步的“智能化”。

frbtj.jpg

产品试用
填写此单一表格,我们将尽快联系您!
商务合作
400 900 5986
周一至周五 9:00-12:00,13:00-18:00
合作同伴招募
【网站地图】