AI大众化已不远:神经架构搜索有望调整优化AI的算法核心

时间:2019-11-13 03:19:49   热度:37.1℃   作者:网络

原标题:AI 大众化已不远:神经架构搜索有望调整优化AI的算法核心

作者:James Kobielus是Wikibon的数据科学、深度学习和应用软件开发首席分析师。之前,James是IBM的数据科学宣传官。

如果这种方法深入人心,它有可能彻底颠覆数据科学界的标准实践或做法。

数据科学的发展已远超出了科学领域。现在,它是许多颠覆性业务应用系统的核心和灵魂。

无论在什么地方,企业数据科学实践或做法已在24x7全天候DevOps工作流程中变成了工业化。在这种趋势下,围绕AI的机器学习DevOps管道中的几乎每个过程都实现了自动化。

AI神经网络算法的建模实现自动化

建模是迈向端到端数据科学管道自动化这个过程中的下一个、也许是最终的里程碑。现在,大多数数据科学工具包已经含有用于使模型特征工程和超参数调整实现自动化的工具。这种趋势下的下一批里程碑之一(有时名为AutoML)就是开发标准的“神经架构搜索”(neural architecture search)方法。这是指用于使这项任务实现自动化的一套工具和方法:为属于AI机器学习模型核心的卷积、循环及其他神经网络架构创建经过优化的架构。

实际上,神经架构搜索需要定制机器学习模型的算法“神经元”的结构、权重和超参数,以便使这些算法神经元更准确、更快速、更高效地执行数据驱动的推理。通过针对最严峻的AI挑战,自动构建新颖的神经架构,它可以带来准确性、效率和速度都前所未有的AI应用软件。通过使传统上使用手动技术执行的耗时、容易出错的神经网络架构设计流程实现自动化,它可以把数据科学家解放出来,利用他们的创造力,将更具颠覆性的智能做入到从云微服务到边缘设备的一切中。

随着神经架构搜索从研发领域进入到企业数据科学家的工作平台,它有望彻底改变构建和优化AI应用软件以实现预期目的的实践或做法。它有望大大减少针对预期用途训练机器学习模型这一需求,因而可以减少AI开发人员利用数据湖的大量计算、内存和存储资源这一需求。它还可以提高数据科学家的工作效率,指导他们的决策:无论是基于线性回归和随机森林算法之类的既有算法来构建机器学习模型,还是基于任何更新颖、更高级的神经网络算法来构建机器学习模型。

探究神经架构搜索的各种算法方法

研究文献表明,在实验室环境下,神经架构搜索方法的表现已经比手动设计的神经网络更胜一筹。诸多技术方法已应用于诸如图像分类、对象检测和语义分割之类的AI任务,它们包括如下:

  • 进化算法:自1990年代以来,这类算法就一直是神经架构搜索的基础;实际上,它们现在被OpenAI、优步实验室、Sentient Labs、DeepMind和谷歌Brain团队用于各种AutoML项目。研究人员历来使用进化算法来改进神经架构和权重。他们进化出了一组模型,并且在每个步骤中从该模型组中抽取至少一个模型,通过对其进行突变,充当自动生成后代模型的父模型。就神经架构搜索而言,突变需要添加或删除层、更改层的超参数、添加跳过连接(skip connection)以及更改训练超参数。在训练后代模型后,评估其适用性(应用于验证数据集),并在适当时添加到模型组中。
  • 强化学习:在过去几年里,这类算法在新的神经架构搜索项目中很流行。用强化学习的术语来说,神经架构的生成是代理的行为,代理的回报基于对经过训练的架构处理未见过数据的性能的评估。不同的强化学习方法以不同的方式优化代理的神经架构搜索策略,并以不同的方式对架构、超参数、权重和状态进行编码。一些项目不用明确的权重训练就可以报告可接受的结果。这些方法往往会在很长一段时间内使用大量的计算资源来获得结果,不过研究人员继续降低计算成本,并进一步提升性能。
  • 基于梯度的方法:这类算法通过对验证数据(用于网络架构)和训练数据(用于权重)进行随机梯度下降步骤的交替来执行神经架构搜索。这种方法可扩展到数百万个权重以及拥有复杂超参数的高度连接的架构。最近的神经进化方法还依赖基于梯度的方法来优化权重。
  • 贝叶斯优化:从本世纪初开始,这类算法一直是神经架构搜索的流行方法。它已被用来创建用于计算机视觉和数据增强的最佳神经网络架构。
  • 随机搜索:这类算法使用基于树的模型来有效搜索高维度条件空间,以优化神经架构及其超参数。

向神经网络架构搜索投入敏捷和海量的计算资源

还有其他研究人员从一组初始的神经网络架构开始入手,然后将其发展成一种能够对不同数据类型进行各种推断的单一架构。这方面进行尝试的一个项目是美国能源部橡树岭国立实验室搞的。该实验室的MENNDL项目可以自动发现、生成和测试与任何特定的AI建模挑战有关的数百万个神经网络架构。

目前,该实验室的研究人员使用MENNDL自动构建神经网络以分析癌症扫描结果。MENNDL实现了一个基于Python的框架,通过重新组合此类架构的可重用组件来生成新的神经网络。它创建新神经网络架构的速度比以前的手动过程快16倍。MENNDL是计算密集型的,在一台含有4608个节点的1.3 exaflop超级计算机上运行,每个节点包含两个IBM POWER9 CPU和六个英伟达Volta GPU。典型的MENNDL作业在这台超级计算机上的总共9216个CPU和27648个GPU上运行处理混合精度浮点运算的代码。

在为特定数据集创建的数百万个潜在架构中,MENNDL根据神经网络的大小、训练所需的计算密集强度以及在扫描中检测肿瘤的准确性来选择最佳的架构。然后它选择的模型通过单独的工具加以高强度训练,这些工具针对特定的推理挑战来优化模型。这些模型又由研究人员存储起来,以便为各种各样的应用挑战构建可重用的神经网络架构库。

挖掘神经网络修剪的潜力

最有前途的神经架构搜索方法之一需要找到用于事先“修剪”神经网络的最佳方法。或者,一些研究人员从稀疏网络开始入手,仅在必要时添加连接和其他复杂性。

这些方法在文献中越来越明显,它们生成的稀疏神经网络仅保留一小部分的连接,而在推理任务方面与完整的未修剪网络相比保持了与之相似甚至更好的性能。它们一开始就提高了神经网络的准确性和效率,避免或大大减少了在部署之前对其进行训练的需求。

麻省理工学院(MIT)的最新研究使用修剪技术显著减少了进行神经架构搜索所需的计算能力。研究人员已开发出了一种神经架构搜索算法,该算法可以直接学习针对目标硬件平台的专门的卷积神经网络――仅需200个GPU小时即可处理完海量图像数据集,这有望让这些类型的算法支持广泛得多的应用领域。

为了实现这一目标,他们开发了修剪不必要的神经网络设计组件的方法,因而缩短了计算时间,只需要一小部分的硬件内存即可运行神经架构搜索算法。每个输出的网络在特定的硬件平台上(比如CPU和GPU)运行起来都比传统手动方法设计的神经网络来得高效。

神经架构搜索算法可以在较小的代理数据集上运行,并将学习到的网络快速转移到生产环境中的较大数据集,准确性并不损耗。为了达到这种速度和效率,研究人员开发出了一种名为“路径级二值化”(path-level binarization)的技术,该技术一次仅存储一个采样的神经网络路径,再结合路径级修剪,可以自动调整路径的概率以同时优化准确性和效率。该方法还使用每个目标硬件平台上的延迟作为反馈信号来优化架构。

如果这种方法深入人心,它有可能彻底颠覆数据科学界的标准实践或做法。正如本文所讨论的那样,它有望大幅减少神经网络的大小,提高神经网络的准确性和效率,并使任何人都能够构建高度优化的网络,无需使用庞大的服务器集群和数据湖。

随着这股趋势愈演愈烈,有一天可能会消除像谷歌、亚马逊和微软这些公司在构建先进复杂的AI方面所拥有的与超大规模计算有关的优势。在此过程中,它可能加快AI的持续大众化,因而哪怕一个人的小公司也能开发出令人震惊的创新,这些创新以前凭借它们可怜的资源是不可能取得的。

上一篇: 原创谷歌与医疗系统合作,未经知会收集病患...

下一篇: 冷知识:星鼻鼹鼠可以在水下闻气味


 本站广告