一、关于Few-shot Learning
Few-shot Learning与Meta-learning相似,可以视为其的一种应用,但又有区别。在图像分类领域:Few-shot Learning的目的是根据已知给定的extremly limited examples,学习到知识并用来识别新的类别。
最naive的想法是用深度卷积神经网络学习到support set中类别的一些特征,在query set做预测时直接比较特征间的相似性,但是直接使用卷积学到的特征受限很于数据,对于没有见过的类别很难泛化其分类能力。需要进一步增加模型特征提取与匹配的能力。
二、Learning Dynamic Alignment via Meta-filter for Few-shot Learning的思想
1.前人的工作
参考CAN和FEAT这两篇论文。它们的思想是aggregates support knowledge to formalize an alignment function for query samples以此达到特征匹配的目的(没看过这两篇,咱也不懂)。
作者认为存在一些缺陷:
Roughness,作者认为图像特征的空间位置的差异性(空间分辨率spaial resolution)比通道间的差异性大得多而很少有工作在提取特征是关注channel 相关特征。
如下图,特征应该是黄色区域,channel1提现得很好而channel2较差。CAN做特征匹配时会赋予两个通道相同的权重,而DMF不会
Redundant matching. 冗余主要出现在两个地方,一个是待识别的物体可能在一张图像中多次出现;其次是当 aligning each query position时,会利用所有的support feature,效率较低(不是很懂,大受震撼)。
Inflexible alignment. The alignment strategy in these works only runs one time for all tasks. Thus, for those diffificult ones, the alignment may be insuffificient to appropriately embed the support knowledge into query feature.
2.作者的方法
- Dynamic meta-filter. 用于高效特征匹配
- Dynamic sample and group strategy.提升Dynamic meta-filter的灵活性与效率。
- Neural ODE.
预测一个和空间位置、通道相关的Dynamic meta-filter,将filters应用于feature positions而不是整个support feature。Features positions不是采取的固定的而是学习得到动态采样策略。同时为了使匹配能适用于更复杂的任务而固定超参数很难控制匹配的过程、程度,所以采用ODE的方法执行residual alignment的过程并在迭代过程中自适应地调整步长以获得最终解。
在获取到aligned query feature后,将support knowledge以不可学习方式聚合在一起,利用mata-slassifier做最终的预测。
3.相关工作
1.Few-shot recognition.
目前两种主流解决策略: 一种是optimization-based methods.首先根据base class data训练一个网络,再在遇到未见过的类别、数据时微调网络或者改变整个网络架构。第二种是metric-based method,应用现成的或者学习到的图像特征做FSL。
2.Dynamic Sampling
以前的采样方法:固定大小采样,动态区域采样但是滤波器大小固定。
作者:先用动态采样策略获取feature position的邻域再再这个区域上预测得到与位置和通道相关的滤波器。
3.Input dependent weights
也是learnable module的一种体现,weights不是直接优化得到而是与输入数据相关。
4.Neural Ordinary Difference Equation
Neural ODE将神经网络的前递视作ODE的一种离散形式(???为什么是离散的?因为网络架构是固定的吗?)。在此情况下,可以加入一个时间变量控制输出以使得修改neural networks为neural ODE。
三、DMF架构与操作
1.DMF架构
包含四个子模块:特征提取器femb,动态匹配模块fd, meta-classifier fmc, global-classifier fgc. 在一次Episode中,给定每对support image和query image,首先利用特征提取器提取得到大小为[c, h, w]的feature maps,对应channel,height和width;再动态采样获取特征;用fd进行特征的动态匹配;最后用fmc根据query feature与support feature之间的相似性输出confidence score.
2.DMF(Dynamic Meta-filter for Adaptive Alignment)
对support feature先做一次卷积,卷积核大小为3,输出通道为c x K x K,可以视为图像每个位置的像素对应一个c x K x K大小的张量,再将其视为该位置一个输出通道为c,核大小为K的卷积核。对query feature的每个位置使用对应的卷积核进行group为3的分组卷积,与原本的query feature相加得到aligned query feature.
值得注意:channel wise正是通过分组卷积实现的。每个K x K的卷积核对应于原query maps中的一张query feature。
3.Dynamic Sampling
先将support feature与query feature拼接在一起,用核大小为5,通道为9的卷积核进行卷积,生成一张9 x h x w的feature mapM。M的每个位置的9个数值包含生成在位置(i,j)的卷积核的信息。
4.Adaptive Alignment
重复匹配过程
F是前面的动态卷积的过程。问题是超参数T的调整,对于FSL,面对不同的任务,超参数T应该不同,所以作者使用了Neural ODE的方法。
5.Meta classifier
获取Dynamically aligned query feature后,不需要任何可学习参数生成一个meta-classifier。方法:使用glaobal averge pooling将support feature聚集到一个c x 1 x 1的feature上,将这个c x 1 x 1的张量作为一个卷积滤波器,也即架构中的fmc,并运用在aligned上可以得到一个1 x h x w的张量。如果query set中某张图属于category c,则它们对应位置应该有很高数值。
四、实现细节
1.损失函数
2.网络架构
使用ResNet12去除最后的池化层用于特征提取,feature map