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


给神经网络加一个按钮,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个边的有向非循环图 , 每个顶点处的操作是“3x3卷积”、“1x1卷积”和“3x3最大池化” 。
  • 数据集中的类似初始的单元格 。
  • 高级概述每个模块的内部过滤器数量 。

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


推荐阅读