论文:Finding Task-Relevant Features for Few-Shot Learning by Category Traversal

tag:热插拔,类内共有&类间独有

一言以蔽之:作者提出了一个名叫CTM的盒子,这个盒子的作用就是为了更好的照顾到类内共有的特征核类间独有的特征。

原理:这是↓最常见的metric-learning的模型,提取特征然后进行比对。

1_p1.png

作者将之变成了↓,确实是即插即用型

1_p2.png

也就是说他其实起到了一个特征值强化的作用。其内部结构↓

1_p3.png

↑其中c就是concentrator,它的主要作用是两个:1.先用resnet卷积做下采样 2.再取平均把K-shot变成“1-shot”,很明显的,这里把不同类之间的信息做了融合,所以这步写作 Intra-class Commonality。此外,p表示projector,在前一步的基础上是做了一个小小卷积。concentrator->O->\hat O ->projector的过程中,tensor的维度变化是这样的↓。

(N\times K,c1,w1,h1)\stackrel{concentrator}{\longrightarrow}O:(N,c2,w2,h2)\stackrel{concat}{\longrightarrow}\\\hat O:(1,N\times c2,w2,h2)\stackrel{projector}{\longrightarrow}p:(1,c3,w3,h3)

↑其中reshaper比较简单,用一个小CNN

(N\times K,c1,w1,h1)\stackrel{resahper}{\longrightarrow}(N\times K,c3,w3,h3)

所以最后p会做NK次boardcast。

创新点: 这个工作确实很强,以往的模型都只看一些类内的信息,没有这种思维。就像找不同一样,可以帮助机器更好地发现不同类之间的差别,这种差别才决定了最终分类的结果。而且这种热插拔的模式还是蛮不错的,做实验会很爽。

多想

  1. 最直观的一点,他是用resnet做的卷积,但是这个东西也可以试试别的,毕竟他是19年的。之前更是万物皆可transformer,我估计他后面如雨后春笋,谁手快谁改的好就可以氵一篇;

  2. 其次,我觉得最后把p和reshape完的tensor做一个简单的boardcast有点马虎了,这个世界上肯定存在一种更好的方法能完成这两个tensor的embed;

  3. 最后,按着他的思路,其实有很多方法可以实现它的目的,类似的结构可以有很多种设计方法,后人估计也会不断提出类似的。我感觉借助这个思想的工作也很多,inter class 和 intra class这两个词好像经常看见;