parameter是什么意思(功放parameter是什么意思)

作者|第四范式先知平台架构师陈
编辑| |娜塔莉
本文经作者授权发布于AI前线,未经允许不得转载!
AI前沿介绍:ENAS被称为高效神经架构搜索(Efficient Neural Architecture Search),它来自于2018年Google Jeff Dean等人发表的论文《通过参数共享的高效神经架构搜索》(Efficient Neural Architecture Search Via Parameter Sharing) 。它可以在一天内自动训练出比人类更好的设计效果的模型 。那么,这个神奇的ENAS有什么奇妙之处呢?和最近风头正劲的AutoML有什么关系?本文将一步步介绍业界主流的自动生成神经网络模型的NAS算法,以及目前最流行的ENAS算法,带你一探ENAS究竟 。更多干货请参考微信官方账号“AI前线”(ID: AI-front)
简介
随着机器学习算法的突破,AutoML逐渐被业界所熟悉,并开始被应用 。最近,谷歌频繁发表与AutoML相关的论文,并在谷歌云平台上推出了AutoML Vision服务,允许用户通过上传少量标记的图像数据来重新训练一个专属的图像分类模型 。在我的微博里介绍了这个“AutoML”技术,其实可以通过微调等方式实现 。因此,本文的第一个观点是,对于AutoML的定义没有强制性的标准,只要一个好的模型能够被自动训练出来,就是一个有价值的AutoML 。
ENAS的全称是高效神经架构搜索(Efficient Neural Architecture Search),来自Google 2018年发表的论文《通过参数共享进行高效神经架构搜索》(论文链接:https://arxiv . org/pdf/1802.03268 . pdf),通过共享模型参数,可以高效地探索神经网络模型的结构,也就是说,一天之内就可以自动训练出一个比人类设计效果更好的模型 。ENAS使用了强化学习、动态构建计算图等技术 。从宏观上看,它是一个搜索算法,输出是一个精心选择的NN模型,所以它是一种符合预期的AutoML 。此外,要实现完整的“自动机器学习(ML)”,需要自动特征提取和自动超参数调优的技术支持,但暂时不在本文讨论范围之内 。
关于ENAS的介绍,你可能看过媒体圈吹捧的文章,比如Google Brain发布神经架构搜索新方法:加速1000倍,Jeff Dean等人提出ENAS:通过参数共享实现高效的神经架构搜索等 。这里是本文的第二点 。看媒体翻译的技术文章没用 。想学技术的可以看原论文或者这篇文章 。在介绍ENAS算法的实现细节之前,我希望我们能一步一步地介绍一些基础知识的理解 。
【parameter是什么意思(功放parameter是什么意思)】NAS的原理
NAS又称神经架构搜索,旨在从一堆神经网络组件中找到一个好的神经网络模型 。我们知道神经网络模型是一种可以随意堆砌的模型结构 。基本组件包括FC(全连接层)、卷积层、轮询层、激活函数等 。后一个组件可以将前一个组件作为输入 。不同的组件连接方式和超级参数配置方式,在不同的应用场景下有不同的效果 。例如,下面是一个在图像分类场景中非常有效的初始模型结构 。
看不懂图中的复杂结构也没关系 。我们只需要知道这个神经网络结构是图像领域的专家花了很多精力设计出来的,是经过大量的实验和测试确定的(没有解释深度学习的原理) 。
那么计算机能自己学习并生成这种复杂的网络结构吗?目前还不能,包括各种NAS算法的变形和ENAS算法暂时无法生成这样的网络结构 。这里抛出本文的第三个观点 。机器学习大部分不是人工智能,计算机不会无缘无故获得超出既定目标的能力 。所以计算机不是自己学会编程或者建模的,我们也没有设计出自动建模的数据集和算法 。所谓“AI设计的神经网络模型”,其实只是在给定的搜索中寻找效果最好的模型结构空 。
例如,我们假设模型必须是三层全连接神经网络(输入层、隐含层和输出层),隐含层可以有不同的激活函数和节点数 。假设激活函数必须是relu或sigmoid中的一个,隐藏节点数必须是10、20、30中的一个,那么我们称这个网络结构的search 空区间为{rell}在search 空中可以组合六种可能的模型结构 。我们可以在可枚举搜索空中分别实现这六种可能的模型结构 。最终目标是输出效果最好的机型 。然后我们可以分别对这六个模型进行训练,并用AUC、准确率等指标对模型进行评估,然后返回或生成一个最优的神经网络模型结构 。
所以NAS算法是一个给定模型结构空的搜索算法 。当然,这个search 空不可能只有几个参数组合,ENAS的示例search 空中大概有1.6 * 10 ^ 29个备选结构,搜索算法也不是单独枚举模型结构就能解决的,而是需要多一个 。
使用超级参数自动调谐
前面说过,NAS是一种搜索算法,就是从一个超大规模的搜索空中找到一个模型效果好的模型结构 。这类问题也可以看作是一个优化问题,就是从一个搜索空中找到另一个模型效果更好的模型结构 。但是神经网络模型的结构和效果并不是线性的,没有一个函数可以描述这种关系 。如果存在这样一个函数,我们可以通过求导、SGD等方法在数学上找到最优解,所以这可以看作是一种黑箱优化问题或者多臂老虎机问题 。黑箱优化问题的解决方法,请参考专栏另一篇文章《贝叶斯优化:更好的超参数优化方法》(https://zhuan LAN . zhi Hu . com/p/29779000) 。


推荐阅读