亚马逊的Alexa科研人员发表了一篇论文,为神经网络优化提供了理论基础。虽然该文指出,很难通过计算找到一个完美的解决方案,但它提供了一个公式“近似结构搜索问题(a-ASP)”,可以用遗传算法解决。
在最近的一篇博文中,研究工程师 Adrian de Wynter 把神经网络架构选择问题转换成了函数逼近;在这个公式中,函数是输入数据到输出的“真”映射,而近似是通过训练形成的神经网络模型。网络架构的选择通常基于直觉或反复试验,但是 de Wynter 认为,这种“任意选择的神经架构不太可能提供最佳解决方案”。相反,给定一组神经网络组件,如卷积或最大池化层,自动优化架构搜索将找到这些组件的组合,以最小的误差逼近函数,而 de Wynter 的工作提供了“计算准确性的理论保证”。他证明了一般架构搜索问题(ASP)难以解决——也就是说,它不能保证在多项式时间内运行完。因此,他针对这个问题提出了一个“宽松”的公式“近似 ASP(a-ASP)”,可以在多项式时间内使用共同进化遗传算法解决。
机器学习系统的自动优化是一个活跃的研究领域。许多主要的云平台都提供AutoML系统,并且提供多个开源选项。大多数 AutoML 解决方案都处理 ML 管道的所有部分,包括数据清理、超参数优化和模型选择。相比之下,de Wynter 的研究主要集中在最佳神经网络模型结构的选择上。虽然一些研究人员使用贝叶斯优化等技术解决了这个问题,但 de Wynter 的论文称,遗传算法“在一般环境中比其他算法表现得更好”。
遗传算法是一种基于生物进化概念“适者生存”的优化技术。每个问题的潜在解决方案都有一个适应度评分,表明它解决问题的程度,以及一个遗传表示。其主要思想是,一个解决方案必须以一种允许随机突变以及与其他解决方案交叉的方式表示。遗传算法运行数代,尝试各种解决方案,应用突变,并保持最适合的结果。在 de Wynter 的公式中,遗传算法搜索神经网络组件的组合,如卷积层,那些组件属于一个组件集,其表现就相当于一个图灵机。遗传算法必须找到这些组件的一个序列,该序列生成的网络最好地近似于所需要的输入数据到输出的映射,但受到最大序列长度的限制。
其他研究团队已经应用遗传或进化算法来优化深度学习系统。谷歌去年发布了开源的AdaNet,这是一个基于TensorFlow的框架,用于基于进化的 AutoML。最近,Uber 开源了EvoGrad,这是一个进化算法的PyTorch库,它将种群视为一个抽象的概率分布。根据 Wynter 的说法:
[M]任何研究人员都得出了这样的结论:共同进化算法为构建机器学习系统提供了最佳途径。但本文提出的函数近似框架为他们提供了直觉上更可靠的理论基础。
原文链接:
Alexa Research Paper Shows Genetic Algorithms Offer Best Solution for Neural Network Optimization
评论