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


给神经网络加一个按钮,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将适用于所有人】


推荐阅读