NAS入门基础(一)

Neural Architecture Search: A Survey (神经网络结构搜索)
这是一篇入门综述,我们一起看看吧~
(abstract:本文主要是对于NAS定义以及搜索空间的介绍)

NAS的提出:
深度学习模型在很多任务上都取得了不错的效果,但调参对于深度模型来说是一项非常可怕的事情,中股东论文复现的难点就在于参数的选择,图像分类任务上大放异彩的ResNet、在机器翻译任务上称霸的Transformer等网络结构无一不来自专家的精心设计。众多的超参数和网络结构参数也会产生爆炸性的组合,(tinming-out,error-prone),常规的 random search 和 grid search 效率非常低,因此最近几年神经网络的架构搜索和超参数优化成为一个研究热点。
NAS是一个用神经网络设计神经网络的方法,试图使网络架构的搜索过程自动化,通常使用强化学习或进化算法来设计新的神经网络结构。

第一部分:instruction
我们根据 NAS 的方法对方法进行三个维度的分类:搜索空间、搜索策略和性能估计策略。
1.搜索空间:
Incorporating prior knowledge about properties wellsuited for a task can reduce the size of the search space and simplify the search.
合并以前的关于适合任务的属性的知识可以减少搜索空间的尺寸and简化搜索
但注意也能引起:阻止一些新的ieda的产生。
2.搜索策略
搜索策略定义了使用怎样的算法可以快速、准确找到最优的网络结构参数配置。包含:exploration-exploitation trade-of(下一篇文章做重点介绍)
3.性能估计策略
NAS 的目标通常是查找在不可见数据上实现高预测性能的体系结构。
性能估计是指估计此性能的过程:最简单的选择是执行标准训练和验证体系结构,但不幸的是,这是计算昂贵并限制可探索的体系结构的数量。因此,研究的重点是开发方法,降低成本这些性能估计。

第二部分.搜索空间:
(abstract:链式,多分支,基于cell,分层搜索空间)
链式结构
搜索空间的参数:
搜索空间的层数n
每层的类型:例如:卷积、池化等
超参数:例如,卷积核size
Note:每层的超参数和每层的类型相关,搜索空间的参数化不是一个固定长度,而是一个条件化的空间。
左边一副是链式结构
多分支结构:
右边的是一个稍复杂的,包含跳过skip connections,多分支等复杂架构的,颜色相同的代表的是一种类型的。
在这里插入图片描述
*右边:(Brock et al, 2017; Elsken et al, 2017; Zoph et al,2018; Elsken et al, 2018; Real et al, 2018; Cai et al, 2018b)

该复杂结构,这种结构下,第 i 层将前面所有层(0,1,2,…,i-1)的结合体作为输入。 这种结构使得搜索的自由度显著的增大。链接结构网络、残差网络、denseNet 可以视为这种网络结构下的特例。
多分支结构的特殊性:
(i) 链式结构神经网络(通过设定 );
(ii)Residual Networks, 残差神经网络(He et al., 2016),将先前层的输出求和;
(iii) DenseNets (Huang et al., 2017),将先前层的输出组合。

基于cell的搜索空间:
现有的人工设计网络多由重复的单元组成,故部分研究者提出搜索这样的重复单元(称作cells or blocks),而不是搜索整个网络结构。
它们优化两种不同类型的单元格:一种是保留输入尺寸的正常单元格,另一种是减少空间尺寸的缩减单元格。然后,通过以预定义的方式堆叠这些单元格来构建最终体系结构,如图 3 所示。
与上述搜索空间相比,此搜索空间具有两个主要优势
1.搜索空间的大小大大缩小,因为单元格可能相对较小。
2. 通过调整数字,可以更轻松地将单元格传输到其他数据集模型中使用的单元格。

在使用基于单元格的搜索空间时,出现了一种新的设计选择,即如何选择元体系结构:应使用多少个单元格,以及如何连接它们来构建实际模型?
考虑的问题包括:需要使用多少 cell 以及他们之间要如何连接。这方面的例子有上述的Zoph 使用cells的线性结构,并且每个 cell 接受之前的两个 cells 的输出作为输入。Cai 使用类似 DenseNet 这种更复杂的结构来组织 cells。 理论上来说,cell 之间可以被随意的连接, cell 也应该自适应的改变, 否则当大部分的复杂度已被预定义好的 cell 解决时,NAS 就只是简单的学习如何拼凑这些cell。

优化元结构(meta-architecture)方面的迈出第一步的是 Liu 引入的分层搜索空间。此方法具体包括3层。

1保持输入特征维度的 normal cell
2. 减小空间维度的 reduction cell。
3. 最终通过预定义好的规则级联这些 cells。

搜索空间很大程度上决定了优化问题的难度,即使搜索空间只有一种 cell 且 网络结构固定, 优化的问题任然是(i)不连续性 (ii)相对较高的搜索维度 (因为通常模型越复杂,效果越好,但造成了更多的设计选择)。

注意到很多搜索空间的结构可以被写为一个固定长度的向量。 例如Zoph对两个 cell 中的每一个的搜索空间可以写成具有分类维度的40维搜索空间,每个搜索空间在少量不同的构建块和输入之间进行选择。类似的,无界的搜索空间可以被约束为具有最大深度,从而产生具有(可能很多)条件维度的固定大小的搜索空间。

在这里插入图片描述
像第二种,很多的深层 RNN 会有类似的结构,很多的网络结构虽然很深,但会有许多重复 cell,将 cell 抽象出来之后,复杂的结构也会变得简单,一方面可以减少优化变量数目,另一方面相同的 cell 在不同任务之间进行迁移

猜你喜欢

转载自blog.csdn.net/qq_38205273/article/details/111869691
NAS