IEEE CVPR 2018的脚步(IEEE国际计算机愿景和模式识别会议)正在接近。上个星期,商代科技宣布44篇论文选择CVPR 2018,吸引了许多朋友。下周,我们将发出上代的优先事项, 以及CVPR 2018的关键论文,欢迎大家注意。
以下是大规模分布式培训领域。商朝证技术发布的口头报告(或)论文,提出深度增强分布式训练BlockNN算法,神经网络结构自动设计。本文由商代科技实习研究完成, 中威, 商代科技研究副总裁, 和研究经理。
纸质:实用的块状无套网络架构一代
作者:赵忠, 俊杰燕, 魏武, 景邵, 程林刘
论文的全文:
介绍
神经网络结构设计一直是深度学习中的核心问题。在深度学习等任务中, 测试, 分割, 追踪, 等等。基本神经网络的结构对整个算法的性能具有决定性影响。传统的神经网络结构设计需要大量的专家知识和测试错误成本,甚至有一些灵感和“上帝的笔”,每年只有一些新的网络结构,所以,人工设计网络结构是一个非常困难的事情。网络结构的自动设计/搜索方法最近受到了广泛的关注。它试图向自动化深度学习这一目标。解放来自复杂和繁琐的网络设计的人(如图所示)。
图1 :(从左到右)
从手动设计网络结构
算法自动网络结构
最近的网络结构自动设计/搜索算法通常需要巨大的计算资源(例如,谷歌的NAS算法需要数百个GPU和近一个月的培训时间。而且, 可以迁移生成的模型,真正的实际使用很难。这里提出的BlockNN算法可以解决现有网络结构的自动设计/搜索方法效率和泛化的问题。
基于“块”的网络结构
目前, 主流深度神经网络结构非常复杂。它的深度经常达到数百层。直接在整个网络结构中搜索非常大,这也是先前自动网络结构设计/搜索算法相对效率的原因之一。同时地,整个网络的直接设计将导致网络结构没有Gentructure。E.G,基于CIFAR数据集的网络结构,因为其数据输入的大小限制,仅适用于处理数据输入32X32分辨率,这使得搜索网络结构较弱。
处理这些问题,本文借鉴了现代主流深度神经网络的设计理念。例如, reset, 开始和其他网络。这些网络由相同的结构子网形成在一起。本文指的是此称为块的悬浮子结构。通过设计块结构,您可以使网络结构的搜索空间大大减少。并且块结构本身具有强大的泛化。对于不同的数据集或任务,您只需要叠加不同数量的块以完成(如图2所示)。
图二:
基于块设计的网络整体框架
左边是CiFar的框架,在想象成的右侧
表I:
网络结构编码表
为了代表网络块结构,本文的设计具有网络结构编码。将神经网络视为无路图,每个节点表示网络中的每个图层。并指示数据流的方向。整个编码包括神经网络的层数,种类,核心的大小,以及两次序列号的序列号。该编码方法可以代表任何神经网络结构。例如, 可以使用图3中的编码来表示Reset和Inception的块结构。
图3:
在块结构编码中的成立和reset
基于加强学习的网络结构自动设计
下一个核心问题是如何获得更佳网络结构。虽然设计块已经大大减少了网络结构的搜索空间,但是但直接暴力搜索是可能的,仍然消耗计算资源。因此,本文提出了一种基于加强学习的网络设计方法。自动学习获得网络结构。
在网络设计中, 加强学习,本文将当前的神经网络层定义为学习中的当前状态,下一层结构的决定被定义为研究中的增强动作。先前定义的神经网络结构编码用于表示每个层网络。这样的,通过一系列行动决定,您可以获得指示块结构的代码(如图4所示),通过优化更佳动作决策,凸起的强化学习算法通过优化更佳行动决策来抓住更佳动作决策序列。本文使用Q学习算法来学习。特定的公式不再膨胀。
图4:
基于加强学习的自动设计过程
值得注意的是,这是一般的一般学习问题,此任务仅在整个序列的决定结束后获得REW(即在生成完整的网络结构之后)。以前的决定是对应的奖励。由于获得最终奖励的成本非常高(需要在数据上再培训, 新获得的网络结构),为了加快融合,作者使用奖励整形的诀窍(如图5所示),所以, 终止层的Q值在初始阶段不会太高。让算法倾向于在初始阶段产生层数的网络结构。
图5:
奖励对收敛效率的影响
提前停止策略
虽然可以使用多种技术来使自动化网络结构设计更有效。但自动网络设计时的关键仍然是接收奖励的时间成本非常高。需要培训生成的网络结构来收敛在相应的数据集上,然后获得相应的准确度以指示结构的质量并用作奖励。本文发现了学习率,只需要在过程中进行正常训练30(例如,CiFar-100数据集培训12时代,您可以获得网络的大致最终准确性,这使得可以降低时间成本。但,这种网络结构精度及其相关的REW有错误,导致无法区分网络结构的优缺点,本文提出了体验的解决方案:
那是, 预先停机的真实奖励和准确性成比例。然而, 网络结构的计算复杂性和结构连接复杂度(除以块中间的点数)是verse。通过这种配方纠正,由此产生的奖励具有良好的网络结构灾难(如图6所示)。
图6:
预先网络的准确性和真实准确性,
计算复杂性之间的关系, 复杂连接
实验结果
本文使用32个GPU,在搜索3天后,可以在CIFAR数据集上找到性能(如图7所示)。
图7:
搜索程序和更佳网络结构
与先前的自动网络搜索方法(如谷歌NAS算法的数百个GPUS和一个月)相比,BlockQNN算法非常有效(如表2所示)。
表二:
不同的自动网络结构设计算法
计算资源比较
表3:
CIFAR数据集不同网络结构的错误率
另一方面,学习的网络结构也可以更容易地迁移到ImageNet任务。它具有良好的精度(如表4所示)。
表4:
Imagenet DataSet上不同网络结构的错误率
为了验证BlockQNN算法真的学习设计网络,在相同的搜索空间和暴力搜索下的比较,可以发现,本文提出的BlockNNN算法可以获得比暴力搜索更好的模型(如图8所示)。
图8:
加强学习和暴力搜索以获取网络结构
CIFAR数据集中的准确率
分析整个搜索过程和结果网络结构(如图9所示),本文发现,通过学习获得的结构具有一些共性。例如, 这些现在常见的设计思想,如多分支结构, 短切割方法。同时地,作者还发现了一些罕见的结构共性,例如, 卷积层之间的添加操作非常频繁。通过这些学习获得的网络结构需要进一步的分析和研究。
图九:
设计BlockQNN算法的网络结构
综上所述
本文提出了一种基于强化学习的高效网络结构自动设计算法 - BlockQnn,它通过了“块”的设计理念。让网络结构搜索空间大大减少,并使学习网络具有很强的流动性。同时地,本文使用“早期停止”和分布式架构来加速整个学习过程。谷歌NAS算法的速度(仅限32个GPU和3天的训练)。实验表明,学习, 网络结构达到了CIFAR数据集上人类设计网络结构的准确性。其结构可以迁移到大规模的Imagenet数据集,它也可以实现良好的性能。作者希望在自动化深度的自动化中继续开发算法。最后, 人们将从复杂和繁琐的网络设计和伸展人参中解放。在深度学习中实现进一步的“智能”。
报告/反馈
请立即点击咨询我们或拨打咨询热线: 13968746378,我们会详细为你一一解答你心中的疑难。项目经理在线