0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

网络结构自动设计算法——BlockQNN

商汤科技SenseTime 来源:未知 作者:胡薇 2018-05-17 09:44 次阅读

以下是在大规模分布式训练领域,商汤科技发表的一篇重磅大会口头报告(Oral)论文,提出基于分布式训练的深度增强学习BlockQNN算法,自动设计神经网络结构。本文由商汤科技实习研究员钟钊在商汤科技研究院副院长闫俊杰和研究经理武伟指导下完成。

神经网络结构设计一直是深度学习里的核心问题。在基于深度学习的分类、检测、分割、跟踪等任务中,基础神经网络的结构对整体算法的性能优劣有着决定性的影响。传统的神经网络结构设计需要大量专家的知识和试错成本,甚至还需要一些灵感和“神来之笔”,每年仅有几个有较大影响的新网络结构被设计出来,因此,人工设计网络结构是一件极其困难的事情。网络结构的自动设计/搜索的方法最近受到了广泛的重视,其试图朝着自动化深度学习这个目标,把人从复杂繁琐的网络设计调参中解放出来(如图一所示)。

图一:(由左至右)

从人工设计的网络结构到

算法自动设计的网络结构

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

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

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

针对这些问题,本文借鉴了现代主流深度神经网络的设计思想,比如ResNet、Inception等网络。这些网络是由同样结构的子网络重复组合在一起形成,本文把这种能重复组合的子结构称为block。通过设计block结构,可以让网络结构的搜索空间大大减小,并且block结构本身具有强大的泛化性,针对不同的数据集或者任务,只需要叠加不同个数的block即可完成(如图二所示)。

图二:

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

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

表一:

网络结构编码表

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

图三:

Inception和Resnet中block结构编码表示

基于强化学习的网络结构自动设计

接下来的核心问题即是如何获得最优的网络结构。尽管网络结构的搜索空间已经通过设计block大大减小,但是直接暴力搜索所有可能结构,依然十分耗费计算资源。本文因此提出一种基于强化学习的网络设计方法,自动学习得到网络结构。

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

图四:

基于强化学习的网络结构自动设计流程

值得注意的一点是,与一般的强化学习问题不同,该任务只在结束整个序列的决策后(即生成完整网络结构后)才会得到一个reward,而之前的每个决策是对应reward。由于获得最终reward的成本非常高(需要在数据上重新训练新获得的网络结构),为了加快它的收敛,作者使用了reward shaping的技巧(如图五所示),因而训练初始阶段终止层的Q值不会过高,让算法不会在训练初始阶段倾向于生成层数过浅的网络结构。

图五:

Reward shaping对收敛效率的影响

提前停止策略

虽然能够使用多种技巧来使自动化网络结构设计变的更加高效。但是自动网络设计中耗费时间的关键还是在于每次获得reward的时间成本非常高,需要将生成的网络结构在对应的数据集上训练至收敛,然后获得相应的准确度来表示结构的好坏并且用作reward。本文作者发现,通过调整学习率,只需要正常训练30分之一的过程(例如,CIFAR-100数据集上训练12个epoch),就可以得到网络的大致最终精度,这样可以大大降低时间成本。但是,这样的网络结构精度及其关联的reward会有误差,导致无法精细区分网络结构的优劣,本文提出一个凭经验的解决公式:

即真实的reward和提前停止的准确度成正比,但是和网络结构的计算复杂度和结构连接复杂度(block中边数除以点数)成反比。通过这样的公式矫正,得到的reward对网络结构的好坏更加具备可鉴别性(如图六所示)。

图六:

提前停止的准确度与网络真实准确度、

计算复杂度、连接复杂度的关系

实验结果

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

图七:

搜索过程以及学习得到的最优网络结构

相比之前的自动网络搜索方法(如Google NAS算法的数百块GPU以及一个月时间),BlockQNN算法可谓十分高效(如表二、表三所示)。

表二:

不同自动网络结构设计算法的

计算资源对比

表三:

在CIFAR数据集上不同网络结构的错误率

另一方面,学习获得的网络结构也可以更容易的迁移到ImageNet任务上,取得了不错的精度(如表四所示)。

表四:

在Imagenet数据集上不同网络结构的错误率

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

图八:

强化学习与暴力搜索获得网络结构

在CIFAR数据集的准确率

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

图九:

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

结论

本文提出了一种高效的基于强化学习的网路结构自动设计算法——BlockQNN,其通过“Block”的设计思想,让网络结构搜索空间大大降低,并且使得学习得到的网络具备非常强的可迁移性。同时,本文使用“提前停止”和分布式架构来加速整个学习过程,达到了百倍于之前Google NAS算法的速度(仅需要32块GPU以及3天的训练)。实验表明,其学习得到的网路结构在CIFAR数据集上达到人类设计网络结构的精度,并且其结构可以迁移到大规模的ImageNet数据集上,也能取得不错的性能。作者希望朝着自动化深度学习这个目标继续发展算法,最终把人从复杂繁琐的网络设计和调参中解放出来,实现深度学习更进一步的“智能化”。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络结构
    +关注

    关注

    0

    文章

    48

    浏览量

    10919
  • Block
    +关注

    关注

    0

    文章

    26

    浏览量

    14556
收藏 人收藏

    评论

    相关推荐

    求助。我国市级电话网络结构

    我国的市级的电话网络结构是一样的么他的结构图是怎么样的
    发表于 11-09 19:43

    linux不同网络结构的不同IP设法

    Linux的装系统设IP,这应该是系统管理员的基本功,可是不同的网络结构有不同的IP设法,您知道吗?
    发表于 07-05 06:52

    神经网络结构搜索有什么优势?

    ,稍有不同就无法复现论文的结果。而网络结构作为一种特殊的超参数,在深度学习整个环节中扮演着举足轻重的角色。在图像分类任务上大放异彩的ResNet、在机器翻译任务上称霸的Transformer等网络结构
    发表于 09-11 11:52

    手绘网络结构

    手绘一些网络结构图,很初级
    发表于 10-25 14:06

    网络结构与IP分组交换技术

    计算机体系结构网络篇1、2》之 网络结构、IP分组交换技术、IP/MAC映射、NAT转换等...
    发表于 12-23 06:05

    基于网络结构的变频器控制系统

    基于网络的变频器能实现监控数据的网络共享以及参数的在线优化。本文介绍A—B变频器的各种网络结构、各种网络的特点以及通信的数据结构。关键词:变
    发表于 05-31 16:54 9次下载

    TD-SCDMA网络结构

    TD-SCDMA 系统的网络结构完全遵循3GPP 指定的UMTS 网络结构,可以分为接入网(UTRAN)和核心网(CN)。本章首先介绍UMTS 的物理网络结构模型,根据TD-SCDMA 系统的接入网和核心网组成阐述
    发表于 06-19 14:10 217次下载

    TD-SCDMA R4网络结构和技术要求

    TD-SCDMA R4网络结构和技术要求:核心网演进过程R99网络结构R4网络结构
    发表于 07-30 08:19 14次下载

    DeviceNet 网络结构

    DeviceNet 网络结构 基于现场总线的开放的自动化系统底层结构近年来发展起来的现场总线技术以其灵活的控制方式信息共享和低成本等特点被广泛的用于复的
    发表于 03-22 15:46 30次下载

    HFC网络,HFC网络结构组成是什么?

    HFC网络,HFC网络结构组成是什么? 一、区域网 多业务系统服务商(MSO)越来越常见,他们将几个相邻的系统做到一起而组成一个更大的区域
    发表于 03-20 14:04 9498次阅读

    环形网络,环形网络结构是什么?

    环形网络,环形网络结构是什么? 这种结构网络形式主要应用于令牌网中,在这种网络结构中各设备是直接通过电缆来串接的,最后形成一个闭环,
    发表于 03-22 11:14 5794次阅读

    4G网络结构及关键技术

    4G网络结构及关键技的精彩讲解
    发表于 11-10 17:19 114次下载
    4G<b class='flag-5'>网络结构</b>及关键技术

    基于自适应果蝇算法的神经网络结构训练

    基于自适应果蝇算法的神经网络结构训练_霍慧慧
    发表于 01-03 17:41 0次下载

    基于网络结构的专利池许可费计算方法_莫愿斌

    基于网络结构的专利池许可费计算方法_莫愿斌
    发表于 03-16 09:09 0次下载

    一种改进的深度神经网络结构搜索方法

    为提升网络结构的寻优能力,提岀一种改进的深度神经网络结构搜索方法。针对网络结构间距难以度量的问题,结合神经网络结构搜索方案,设计基于图的深
    发表于 03-16 14:05 3次下载
    一种改进的深度神经<b class='flag-5'>网络结构</b>搜索方法