APP下载

给神经网络加一个按钮 AI将适用于所有人

消息来源:baojiabao.com 作者: 发布时间:2024-05-20

报价宝综合消息给神经网络加一个按钮 AI将适用于所有人

点选上方关注,All in AI中国

使用来自Google Research的NASBench进行神经架构搜寻 - 我们是否可以自动设计网络架构,而不是依赖专家经验和知识?

动机

神经结构架构搜寻(NAS)的最新进展需要巨大的计算资源,这使得难以重现实验并对无法进行大规模计算的研究人员施加限制。神经架构搜寻(NAS)被引入用于自动化人工神经网络(ANN)的设计。

搜寻空间定义了可以设计和优化的ANN型别。搜寻策略定义了用于搜寻空间的方法。绩效评估策略从一个可能的人工神经网络的设计(不需要构建和训练)来评估其效能Jeff Dean的幻灯片显示神经架构搜寻可以尝试20种不同的模型来找到最准确的

此文的结构如下:

陈述NAS及其在不同领域的优势和应用。用简单的程式码示例总结Google研究论文NASBench -101。举一个用pytorch进行高效神经网络搜寻的例子。神经架构搜寻(NAS)应用程序

设计有辨别力的深度学习模型,如影象分类、物件检测和语义分割。搜寻生成模型,或者特别是基于自动编码器的通用样式转移,缺乏系统的探索。结合不同输入型别(即RGB和光流)的抽象表示和基于视讯的CNN架构的分辨率。这有助于允许不同型别或资讯源彼此互动,通过增加一组过度连线的架构及其连线权重学习。NASBench-101的演变

在影象分类领域,研究已经产生了许多将神经网络层组合成独特架构的方法,例如初始模组、残差连线或密集连线。这使得研究更多地研究神经架构搜寻(NAS),并发现新架构作为一个优化问题,不仅是影象分类领域,还有其他领域,如序列建模。

由于大量的训练时间和不同的搜寻空间的不同训练程式,NASBench-101,Google研究引入了第一个NAS架构资料集,以满足上述目的

利用图同构来识别423k独特的卷积体系结构。列出他们的评估指标,包括执行时和准确性。通过查询预先计算的资料集,可以在几毫秒内轻松评估各种模型的质量。NASBench通常由一个表格资料集组成,该资料集将卷积神经网络架构对映到他们在CIFAR-10上经过训练和评估的效能。所有网络共享相同的网络“骨架”,神经网络操作的唯一变化以任意图形结构连线。下面的3个数字从左到右表示如下:

具有多达9个顶点和7个边的有向非循环图,每个顶点处的操作是“3x3卷积”、“1x1卷积”和“3x3最大池化”。资料集中的类似初始的单元格。高阶概述每个模组的内部过滤器数量。

体系架构

NASBench架构选择很大程度上取决于网络的效能。对于网络的每个所选层,该算法对该延迟预测模型上的架构进行取样。研究发现,用1×1卷积或3×3最大池操作替换3×3卷积通常导致绝对最终验证准确度分别下降1.16%和1.99%。这也反映在训练时间的相对变化上,下降了14.11%和9.84%。尽管3×3最大池是无引数的,但是它在训练时间上比1×1卷积高5.04%,并且平均绝对验证准确度低0.81%。选择正确的网络取决于评估神经网络的深度与宽度的准确性。随着网络越来越广,网络的训练时间增加,但有一个例外:宽度1网络是最昂贵的。这是因为所有宽度为1的网络都是简单的前馈网络而没有分支,因此启用对映永远不会通过其通道维度进行分割。NAS旨在使用HPO(超引数优化)找到最佳神经网络架构,该架构涉及通过执行粗网格搜寻来找到最佳的鲁棒训练超引数集。 HPO通过调整各种数值神经网络训练引数(例如,学习速率)以及分类选择(例如,优化器型别)来操作以优化训练过程。

NASBench使用元架构作为其设计的一部分,以评估应使用多少个单元以及如何连线它们以构建实际模型。下图是NAS内建手工制作架构的示例,例如跳过连线,允许构建复杂的多分支网络。该图由以下组成:左 - >两个不同的单元,例如,正常单元(顶部)和缩小单元(底部),右 - >通过顺序堆叠单元而构建的架构。细胞也可以以更复杂的方式组合,例如在多分支空间中,只需要通过简单地用单元格替换层即可。

区域性性

NASBench展示了局部性,通过区域性性,、“接近”的体系架构往往具有类似效能指标的属性。 “接近度”是根据编辑距离来定义的:将一个体系结构转换为另一个体系结构所需的最小更改次数;其中一个更改需要在顶点或边的存在/不存在处翻转操作。区域性性也通过随机游走自相关(RWA)来测量,RWA定义为当我们在空间中进行长距离随机变化时所访问的点的精度的自相关。 RWA在较低的距离上显示出较高的相关性高,表明了局部性。当距离超过6时,这种相关性与噪声就无法区分了。

评估指标

神经网络的结构和连通性通常可以由可变长度字串指定,其中可以使用递回神经网络(RNN)控制器来生成这样的字串。在实际资料上训练由字串指定的网络 - “子网络” - 将导致验证集的准确性。

使用此准确度作为奖励讯号,我们可以计算策略梯度以更新控制器。因此,在下一次迭代中,控制器将为具有高精度的架构提供更高的概率。这有助于控制器随着时间的推移学习和改进其搜寻,从而使架构尽可能快地执行。

可以通过训练准确度、验证准确度、测试准确度,以秒为单位的训练时间和可训练模型引数的数量来测量改进。

实施

NASBench - Google Research

Sample Response:

使用Pytorch进行高效的神经网络搜寻

结论

麻省理工学院的研究人员开发了NAS算法,目的是直接学习目标硬件平台的专用神经网络,在大型资料集上执行仅需200个小时。 NAS使用网络嵌入将现有网络编码为可训练的嵌入向量。

嵌入有助于控制器网络生成目标网络的变换。多目标奖励功能考虑通过策略梯度与控制器网络预先训练或共同训练的网络准确性、计算资源和训练时间。由精确网络和训练时间网络评估所得到的网络。结果由奖励引擎组合,将其输出传递回控制器网络。

由Google研究开发的NAS-Bench-101代表了神经架构搜寻的基准,具有以下特征:

评估成本低廉,有助于严格比较各种算法并对一系列架构优化算法进行基准测试。分析经过详尽评估的卷积神经架构集的属性。使用少量操作符/引数,以500倍的推理时间加速,生成储存细节的更好的样式传输影象。

2019-09-11 21:56:00

相关文章