Press "Enter" to skip to content

IBM新算法:用AI设计深度神经网络架构,速度提升5万倍

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

为深度学习网络选择最优架构向来是一个非常耗时的过程,而且需要非常专业的知识,但是我们可以用 AI 技术将其简单化和流程化。
在近期于爱尔兰都柏林召开的 ECML PKDD 2018 大会上,来自 IBM 的研究人员 Martin Wistuba 发表了一篇新论文《Deep Learning Architecture Search by Neuro-Cell-based Evolution with Function-Preserving Mutations》(基于神经细胞进化和功能保留突变的深度学习架构搜索)。
在论文中, 作者提出了一种新的进化算法用于深度神经网络架构搜索,相比其它方法,其速度快了 5 万倍,而误差仅增加了一点点。

深度学习模型如今已应用在诸多产品和服务中,用来执行一些很有挑战性的任务,比如视觉识别、语音&文本互转、玩游戏等等。这些模型模仿了人类大脑的工作机制,而和大脑一样,它们的架构对于它们所发挥的作用至关重要。
在 IBM,有众多的工程师和科学家负责从尽可能多的候选架构中为深度学习模型选择最佳架构。时至今日,这仍然是个非常耗时的手动过程。然而,借助更为强大的自动化 AI 解决方案来选择神经网络,能够节省大量时间,也能让新手更快地应用深度学习。IBM 研究员 Martin Wistuba 研发的 这款进化算法能将搜索到正确深度学习架构的时间缩短到只有几个小时,从而让人人皆可快速优化深度学习网络架构。
在论文摘要中,作者以卷积神经网络为例讲解了该算法的实用意义。为新的图像数据集设计卷积神经网络架构是一项既耗时又耗力的任务,且需要专业知识。作者提出的这种新的神经进化方法能够在无需人力介入的情况下解决这个问题。该方法将卷积神经网络假设为一系列的神经细胞,用功能保留(function-preserving)的方式让它们不断突变。
这种将两种方法组合的新方式有几大优势。作者用一系列神经细胞来定义网络架构,降低了搜索空间的复杂性。而且,这些细胞是能够转换的,可以按顺序使用,任意扩展模型的复杂度。而基于功能保留的突变操作则保证了比随机初始化具有更好的参数优化效果,这样以来每个网络架构所需的训练时间也就更少了。
突变操作会调整网络的架构,但不会修改网络的预测,而且还能够添加网络层、添加新的连接或者扩展内核和网络层。作者称,这是学界首次提出将优化神经网络和功能保留突变结合在一起的进化算法。
进化算法和增强学习是目前应用在神经网络架构搜索算法中的两种最先进方法。Zoph 等人在论文《With Neural Architecture Search》中通过实验证明了我们可以找到性能最佳的神经网络架构。此后受此启发,陆续有人提出使用增强学习来检测时序架构,缩小重复神经细胞的搜索空间,应用功能保留方法来加快搜索速度。
神经进化可追溯到三十年前,最开始只是用于进化权重,但人们证明它也能高效进化模型架构。神经进化近来出现了一些新趋势,特别是最近,学习神经细胞而非整个网络的理念也应用在了进化算法中。
Goodfellow 等人于 2016 年在《Net2Net: Accelerating learning via knowledge transfer》中提出了一系列的功能保留操作方法,将一个网络的知识迁移到另一个网络中。 IBM 的研究人员对这些方法进行了优化和扩展,使其应用在深度可分离卷积、内核扩展、跳跃连接和有多个 输入&输出 的网络层上。

标准卷积(左)与可分离卷积(右)

他们用这种方法来初始化突变后的网络架构,然后利用基于梯度的优化技巧将网络额外训练几个周期。通过这种初始化方式,网络在提供预测前只需几个训练周期。

上图为功能保留突变的示例。右边的网络架构发生了突变,但能做出和左边架构一样的预测(表示为相同颜色)。
作者提出的基于神经网络的进化方法的基本理念如下:
给定一个非常简单的神经网络架构,包含多个神经元。神经元本身共享它们的架构,这里的任务就是找到一种架构,它可以针对具体的数据集和机器学习任务来优化整个网络架构。在开始部分,一个神经元等同于一个卷积层,但在进化优化过程中会发生变化。作者提出的进化算法利用竞争式选择法从总体架构中随机选择一个架构,这样随机选择出一部分。从这部分中再选出最合适的用于突变操作。突变也是随机选择,并应用到所有神经细胞中。接着用训练集将网络训练一定周期后,添加到总体架构中。最后,一遍一遍地重复这个过程。在满足一些停止训练的标准后,就会得到拟合度最高的架构。

作者选用的模型架构

最后作者分别用 CIFAR-10 和 CIFAR-100 图像数据集将这种新方法和几种其它方法进行了比较,所用的这两个数据集常用于训练和评估机器学习和计算机视觉算法。经过验证,IBM 提出的新方法相较于当前最先进的人工设计的架构、基于增强学习的架构搜索结果和其它基于进化算法的自动化方法,虽然分类误差略高,但所需时间大幅缩短。和一些方法相比,它的速度最快高了 5 万倍,而误差仅高了 0.6%(以数据集 CIFAR-10 为基准)。
下图展示了算法的优化过程。图中每个热点表示一个不同的架构,连接线表示突变。颜色深浅表示每种架构的准确度,x 轴表示时间。可以看到,准确度在前 10 个小时快速提高,然后趋缓,但保持稳定趋势。

下图展示了优化过程中每小时的网络架构突变情况。

总结
IBM 研究人员提出了一种全新的方法,它基于神经进化算法,能够优化神经网络架构。其需要输入为包含神经元和重复架构模式的简单网络结构,然后会自动优化这种初始架构。所用进化算法的突变则基于功能保留操作,可以修改网络的架构,但不会修改其预测结果。经过验证显示,和当前最新的方法相比,该方法最高可将发现最优架构的速度提高 5 万倍,而误差率只略微提高。
作者表示未来计划将这种优化方式整合到 IBM 云服务中,以及将其扩展到 ImageNet 这样的更大规模的数据集上,并且增加处理数据的类型比如时序数据和文本数据。
论文地址:
http://www. ecmlpkdd2018.org/wp-con tent/uploads/2018/09/108.pdf

参考资料:
https://www. ibm.com/blogs/research/ 2018/09/ai-design-deep-learning/

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注