论文阅读笔记《MetAdapt: Meta-Learned Task-Adaptive Architecture for Few-Shot Classification》

核心思想

  本文提出一种基于神经网络结构搜索(NAS)的小样本学习算法(MetAdapt),整体的思路其实与直接解读过的一篇文章《Meta-Learning of Neural Architectures for Few-Shot Learning》非常相似,但在一些具体的实现方法上还是各有特色的。首先,作者也是采用了经典的可微分NAS算法DARTS对网络结构进行搜索;为了适应小样本学习任务,作者在此基础上提出了MetAdapt Controllers结构,用于调整每个操作的权重系数;最后,作者采用了两级训练的方式,依次对神经网络中的参数和神经网络的结构参数进行训练。
  DARTS进行神经网络结构搜索的过程,就是要构建一个有向无环图(DAG),图中的每个节点表示一组特征图,每个边表示一种操作(1*1卷积,3*3卷积,池化,跳跃连接等),每两个节点之间可能有不止一条边进行连接,每个边上的权重就表示这种操作的重要性,且两个节点之间每条边上的权重是经过归一化处理的,通过加权求和的形式得到一种混合操作(Mixed Operation)。节点 i i j j 之间的混合操作计算方法如下式
在这里插入图片描述
O \mathcal{O} 表示所有操作的集合, α o ( i , j ) \alpha_{o}^{(i,j)} 表示节点 i i j j 之间操作 o o 对应的权重.为了适应小样本学习的需求,提高对于特定任务的自适应能力,作者设计了一个MetAdapt Controllers结构,用于修正每个边上的权重系数。直接搜索和自适应修正后的网络结构如下图所示
在这里插入图片描述
  MetAdapt Controllers结构的处理方法如下图所示
在这里插入图片描述
将每个Episode中支持集 S S 所包含所有样本对应的特征图 x i 0 , . . . , x i S x_i^0,...,x_i^{|S|} ,全部拼接起来构成一个 [ S , D , M , M ] [S,D,M,M] 维的张量, D D 表示特征图的通道数, M M 表示特征图的尺寸。经过全局平均池化后,将所有特征图压缩为一个值,得到 [ S , D ] [S, D] 维张量,接着利用带有ReLU激活层的线性层将特征图通道数进行压缩,得到 [ S , D b o t t l e n e c k ] [S, D_{bottleneck}] 维张量。最后将张量展开为 S D b o t t l e n e c k S·D_{bottleneck} 维的向量,经过一个线性层后输出权重调整值 Δ α ( i , j ) \Delta\alpha^{(i,j)} ,将其与先前搜索得到的权重值 α ^ \hat{\alpha} 相加,就得到修正后的权重系数
在这里插入图片描述

实现过程

网络结构

  最原始结构采用ResNet-12,并且保持前3个残差块(ResNet-9)的结构不变,只对最后一个残差块的结构进行搜索。

训练策略

  本文不仅需要对神经网络中各个网络层中的参数 w w 进行训练,还需要对神经网络各个操作的权重参数 α \alpha 进行训练,如果同时对二者进行训练的话,会导致过拟合的问题。为了减轻过拟合问题,本文采用了两级迭代优化(bi-level iterative optimization)的训练方式。整个训练集分成两部分,一部分用于训练网络参数 w w ,另一部分用于训练权重参数 α \alpha 。首先利用SGD方式训练网络参数,过程如下
在这里插入图片描述
然后在此基础上再训练权重参数
在这里插入图片描述

创新点

  • 利用NAS的方法寻找最优的网络结构
  • 提出了MetAdapt Controllers结构用于修正不同操作的权重,提高对于小样本学习任务的适应能力
  • 采用两级迭代优化的训练方式,缓解了过拟合的问题

算法评价

  本文与Meta NAS都采用了DARTS方法对网络结构进行搜索,不同的是Meta NAS算是是将其与MAML等元学习算法相结合,并且对两种参数(权重参数和网络参数)同时进行训练和优化。而本文提出的MetAdapt的算法,引入了权重修正结构,并且采用两级迭代优化的训练方式。根据实验结果来看,本文提出的算法是很有竞争力的,是目前为止,基于参数优化的小样本学习算法中,精度最高的。

如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。在这里插入图片描述