论文阅读笔记《Improved Few-Shot Visual Classification》

核心思想

  本文提出一种基于度量学习小样本分类算法,在CNAPS算法的基础上,对分类器部分进行改进,引入一种新的距离度量方式,减少了参数数量并且提高了分类的准确率。下面我们首先介绍CNAPS算法。
论文阅读笔记《Improved Few-Shot Visual Classification》
  如上图所示,CNAPS算法包含两个部分:特征提取器(黑色虚线框内的部分)和分类器(红色框内的部分)。其中特征提取器是由带有FiLM层的ResNet-18网络构成的,如下图所示
论文阅读笔记《Improved Few-Shot Visual Classification》
FiLM层的作用是将BN层输出的特征图进行一个仿射变换,Fout=γFin+βF_{out}=\gamma F_{in}+\beta,然后再进入**函数层。而γ\gammaβ\beta两个参数则是利用特征提取器自适应模块ψϕf\psi_{\phi}^f生成的,该模块也包含两个部分:gϕg_{\phi}ψϕj\psi_{\phi}^jgϕg_{\phi}由一个深层网络构成,根据支持集Sτ\mathcal{S}^{\tau}生成对应的任务表征gϕ(Sτ)g_{\phi}(\mathcal{S}^{\tau}),而ψϕj\psi_{\phi}^j则是根据任务表征gϕ(Sτ)g_{\phi}(\mathcal{S}^{\tau})生成每个残差块对应的γ\gammaβ\beta参数。经过该特征提取网络后得到查询图像和支持集图像对应的特征fθτ(xi)f_{\theta}^{\tau}(x_i^*)fθτ(Sτ)f_{\theta}^{\tau}(\mathcal{S}^{\tau})。对于支持集中每幅图像的特征fθτ(Sτ)f_{\theta}^{\tau}(\mathcal{S}^{\tau})按照类别通过平均池化的方式得到每类图像对应的类别特征μk\mu_k,然后再经过类别自适应模块ψϕc\psi_{\phi}^c,生成分类器中每各类别对应的权重wkw_k和偏置bkb_k。最后利用下式得到查询集图像属于各个类别的概率值
p(yi=kfθτ(xi),Sτ)=softmax(wk×fθτ(xi)+bk)p(y_i=k|f_{\theta}^{\tau}(x_i^*),\mathcal{S}^{\tau})=softmax(w_k\times f_{\theta}^{\tau}(x_i^*)+b_k)
  本文保留了CNAPS算法中特征提取的部分,但改进了分类器部分,使用一种新的距离度量方式取代了CNAPS算法中的类别自适应模块,查询集图像属于各个类别的概率值计算过程如下
论文阅读笔记《Improved Few-Shot Visual Classification》
论文阅读笔记《Improved Few-Shot Visual Classification》
式中QkτQ_k^{\tau}是针对类别kk和任务τ\tau的协方差矩阵,其计算过程如下
论文阅读笔记《Improved Few-Shot Visual Classification》
式中kτ\sum^{\tau}_k表示任务τ\tau中类别kk内各个图像间的协方差矩阵,计算过程如下
论文阅读笔记《Improved Few-Shot Visual Classification》
τ\sum^{\tau}表示任务τ\tau中所有类别的图像之间的协方差矩阵,计算过程与kτ\sum^{\tau}_k相似,只不过将Skτ\mathcal{S}_k^{\tau}改为Sτ\mathcal{S}^{\tau}β\beta表示正则化参数,权重λkτ\lambda_k^{\tau}计算过程如下
论文阅读笔记《Improved Few-Shot Visual Classification》
当每个类别仅包含一张图像,即Skτ=1\left | \mathcal{S}_k^{\tau}\right |=1时,λkτ=0.5\lambda_k^{\tau}=0.5,则QkτQ_k^{\tau}主要依赖于正则化参数β\beta的取值,而随着每个类别中包含的图像越多,λkτ\lambda_k^{\tau}的值越接近于1,且任务τ\tau中类别kk内各个图像间的协方差矩阵kτ\sum^{\tau}_k估计的约准确,则QkτQ_k^{\tau}主要依赖于kτ\sum^{\tau}_k。作者指出该方法不仅减少了大量的网络参数(相对于CNAPS的分类器部分),且能够关注到不同类别图像之间的分布情况,之前采用的欧式距离度量方式是假设所有类别图像的协方差是统一的,而本文采用的方式则是考虑到不同类别的图像其协方差是不同的,更加接近于真实情况,如下图所示
论文阅读笔记《Improved Few-Shot Visual Classification》

实现过程

网络结构

  特征提取网络是由带有FiLM层的ResNet-18网络构成,分类器部分不需要网络结构。

创新点

  • 设计了新的距离度量方式,考虑不同类别图像之间的协方差关系,取代了CNAPS算法中分类器部分

算法评价

  本文是在对CNAPS算法进行的改进,虽然CNAPS算法对应的这篇文章《Fast and flexible multi-task classification using conditional neural adaptive processes》我并没有读过,但在本文中做了非常详细的说明。相对于CNAPS算法,本文主要是改进了分类器部分,用一种无参数的距离度量方式取代原有的分类器网络,在减少参数数量的同时,提高了分类的效果。而且本文中有一幅图非常有趣,利用一个散点图表示出各种类型的小样本学习算法之间的关系,如下图所示
论文阅读笔记《Improved Few-Shot Visual Classification》

如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。论文阅读笔记《Improved Few-Shot Visual Classification》