1. 数据分析网首页
  2. 人工智能

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

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

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

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

动机

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

  • 搜索空间定义了可以设计和优化的ANN类型。
  • 搜索策略定义了用于搜索空间的方法。
  • 绩效评估策略从一个可能的人工神经网络的设计(不需要构建和训练)来评估其性能
给神经网络加一个按钮,AI将适用于所有人

Jeff Dean的幻灯片显示神经架构搜索可以尝试20种不同的模型来找到最准确的

此文的结构如下:

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

神经架构搜索(NAS)应用程序

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

NASBench-101的演变

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

由于大量的训练时间和不同的搜索空间的不同训练程序,NASBench-101,谷歌研究引入了第一个NAS架构数据集,以满足上述目的

  • 利用图同构来识别423k独特的卷积体系结构。
  • 列出他们的评估指标,包括运行时和准确性。
  • 通过查询预先计算的数据集,可以在几毫秒内轻松评估各种模型的质量。

NASBench通常由一个表格数据集组成,该数据集将卷积神经网络架构映射到他们在CIFAR-10上经过训练和评估的性能。所有网络共享相同的网络“骨架”,神经网络操作的唯一变化以任意图形结构连接。下面的3个数字从左到右表示如下:

  • 具有多达9个顶点和7个边的有向非循环图,每个顶点处的操作是“3×3卷积”、“1×1卷积”和“3×3最大池化”。
  • 数据集中的类似初始的单元格。
  • 高级概述每个模块的内部过滤器数量。
给神经网络加一个按钮,AI将适用于所有人
给神经网络加一个按钮,AI将适用于所有人
给神经网络加一个按钮,AI将适用于所有人

体系架构

  • 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通过调整各种数值神经网络训练参数(例如,学习速率)以及分类选择(例如,优化器类型)来操作以优化训练过程。

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

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

局部性

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

评估指标

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

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

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

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

实施

NASBench – Google Research

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

Sample Response:

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

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

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

结论

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

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

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

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

来自:AI中国

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

发表评论

登录后才能评论

联系我们

如有建议:>>给我留言

QR code