Few-Shot Image Recognition by Predicting Parameters from Activations

Few-Shot Image Recognition by Predicting Parameters from Activations_第1张图片

本文基于神经网络中同一类别倒数层的激活值和最后的全连接softmax层的参数有密切的关系,通过训练一个参数预测器,使得在大量数据集中预训练过的网络可以通过直接从激活值预测参数的方式将模型映射到只有少量样本的测试数据集中。作者希望模型可以在少样本和大量样本的情况下均有良好的表现。

Few-Shot Image Recognition by Predicting Parameters from Activations_第2张图片

作者通过使用t-SNE对激活值的期望 a ˉ y \bar{a}_y aˉy(左)和全连接层的参数 w y w_y wy(右)进行了可视化,同一颜色和形状的点表示同一种类别,形状相同的属于同一大类,可以发现同一类别的激活值在空间分布上是聚集在一起的。在最后的全连接层中,对应类别的   w y ⋅ a y \ w_y\cdot a_y  wyay, f o r   a l l   a y ∈ A y for\ all\ a_y \in A_y for all ayAy , A y = { a ( x ) ∣ x ∈ D l a r g e ∪ D f e w , Y ( x ) = y } A_y = \{a(x) | x\in D_{large} \cup D_{few}, Y(x) = y\} Ay={a(x)xDlargeDfew,Y(x)=y}(a(x)表示样本x的激活值)越大,分类的效果越好。所以 w y w_y wy的分布应该与 a ˉ y \bar{a}_y aˉy的分布越接近越好,以便使內积最大。这个结果说明在一个好的特征提取的情况下是存在一个类别无关的从激活值到参数的映射,也就是要训练的参数预测器 ϕ \phi ϕ

模型

模型在大量的数据集中进行训练,由于激活值和参数在各自的空间中具有相似相似的局部和全局结构,所以在 C f e w C_{few} Cfew的类别上应该有比较好的泛化能力。

1. 预测器

通过在大量数据集上最小化分类损失学习预测器 ϕ \phi ϕ
L = ∑ ( y , x ) ∈ D l a r g e [ − ϕ ( a ˉ y ) a ( x ) + l o g ∑ y ′ ∈ C l a r g e e ϕ ( a ˉ y ′ ) a ( x ) ] + λ ∣ ∣ ϕ ∣ ∣ \mathcal{L} = \sum_{(y,x)\in D_{large}}[-\phi(\bar{a}_y)a(x)+log{\sum_{y\prime\in C_{large}}e^{\phi(\bar{a}_{y\prime})a(x)}}]+\lambda||\phi|| L=(y,x)Dlarge[ϕ(aˉy)a(x)+logyClargeeϕ(aˉy)a(x)]+λϕ
然后,对于少样本的数据集,每一类通常只有几个样本,或者只有一个样本,所以激活值可能只有一个,激活值的平均值就是激活值自身。为了在两个数据集上统一,所以使用 s y ∈ A y ∪ a ˉ y s_y\in\mathcal{A}_y\cup\bar{a}_y syAyaˉy替代 a ˉ y \bar{a}_y aˉy。规定 p m e a n p_{mean} pmean的概率使用 a ˉ y \bar{a}_y aˉy 1 − p m e a n 1-p_{mean} 1pmean的概率从 A y \mathcal{A}_y Ay中均匀抽样。损失函数更新如下:
L = ∑ ( y , x ) ∈ D l a r g e E S l a r g e [ − ϕ ( s y ) a ( x ) + l o g ∑ y ′ ∈ C l a r g e e ϕ ( s y ′ ) a ( x ) ] + λ ∣ ∣ ϕ ∣ ∣ \mathcal{L} = \sum_{(y,x)\in D_{large}}\mathbb{E}_{S_{large}}[-\phi(s_y)a(x)+log{\sum_{y\prime\in C_{large}}e^{\phi(s_{y\prime})a(x)}}]+\lambda||\phi|| L=(y,x)DlargeESlarge[ϕ(sy)a(x)+logyClargeeϕ(sy)a(x)]+λϕ

2.推断

规定一个统计值集合 S = { s 1 , … , s ∣ C ∣ } ,   C = C l a r g e ∪ C f e w S = \{s_1, \dots,s_{|C|}\},\ C = C_{large}\cup C_{few} S={s1,,sC}, C=ClargeCfew,每一个集合S都可以生成一个用于构造分类器的参数集合,由于有多个集合S(指数级),所以使用所有S训练分类器。定义x对y的概率分布如下:
P ( y ∣ x ) = e E S [ ϕ ( s y ) a ( x ) ] / ( ∑ y ′ ∈ C e E S [ ϕ ( s y ′ ) a ( x ) ] ) P(y|x) = e^{\mathbb{E}_S[\phi(s_y)a(x)]}/(\sum_{y\prime\in C}e^{\mathbb{E}_S[\phi(s_y\prime)a(x)]}) P(yx)=eES[ϕ(sy)a(x)]/(yCeES[ϕ(sy)a(x)])
由于S是指数级的,所以对其计算期望及其耗时,为了计算高效假设 ϕ \phi ϕ是一个线性的映射,所以
w ^ y = Φ ⋅ s y \hat{w}_y=\Phi\cdot s_y w^y=Φsy
h ( s y , a ( x ) ) = w ^ y ⋅ a ( x ) = Φ ⋅ s y ⋅ a ( x ) h(s_y,a(x))=\hat{w}_y\cdot{a(x)}=\Phi\cdot s_y\cdot a(x) h(sy,a(x))=w^ya(x)=Φsya(x)
如果 s y s_y sy a ( x ) a(x) a(x)都经过归一化, Φ \Phi Φ是单位矩阵,上式就变成了余弦相似度。所以,通过学习 Φ \Phi Φ,实际上是学习了一个更具有泛化能力的相似度度量。所以概率分布可以简化为
P ( y ∣ x ) = e a ( x ) ⋅ Φ ⋅ E S [ s y ] / ( ∑ y ′ ∈ C e a ( x ) ⋅ Φ ⋅ E S [ s y ′ ] ) P(y|x) = e^{a(x)\cdot\Phi\cdot\mathbb{E}_S[s_y]}/(\sum_{y\prime\in C}e^{a(x)\cdot\Phi\cdot\mathbb{E}_S[s_y\prime]}) P(yx)=ea(x)ΦES[sy]/(yCea(x)ΦES[sy])
现在可以预计算 E S [ s y ] \mathbb{E}_S[s_y] ES[sy]来提高效率,但是当新增的类别 y ∈ C f e w y\in\mathcal{C_{few}} yCfew,由于样本少 E S [ s y ] \mathbb{E}_S[s_y] ES[sy]的估计值可能就不可靠了,所以采取下图的混合策略

Few-Shot Image Recognition by Predicting Parameters from Activations_第3张图片

所以对于少样本集中的新类别,将每一个样本作为一个新类别,计算出对应于新类别內积最大的样本,作为softmax层的输入。

3.训练策略

对于训练集的每个batch的每个类别,随机抽样得到集合 s y ∈ A y ∪ a ˉ y s_y\in\mathcal{A}_y\cup\bar{a}_y syAyaˉy,之后,从数据集中为每一类选取样本组成训练激活值的集合(共计 2 ∣ C l a r g e ∣ 2|C_{large}| 2Clarge)。使用 s y s_y sy生成的参数,之后会用于将训练集分类以检验准确性。

4.实现细节
  • ImageNet
    • 一共1000类, 900类作为 D l a r g e D_{large} Dlarge , 100类作为 D f e w D_{few} Dfew
    • 先在 D l a r g e D_{large} Dlarge上训练一个ReNet-50,将最后的池化层的输出样本x的激活值。
    • 一共有3个参数生成器: ϕ 1 , ϕ 2 , ϕ 2 ∗ \phi^1,\phi^2,\phi^{2*} ϕ1,ϕ2,ϕ2
    • ϕ 1 \phi^1 ϕ1是一个单层的全连接模型
    • ϕ 2 \phi^2 ϕ2是一个双层的RNN,第一层输出后加了ReLU,第二层输出进行了归一化
    • ϕ ∗ 2 \phi^{*2} ϕ2 ϕ 2 \phi^2 ϕ2结构上相同,但是优化的是未经优化的损失函数
  • MiniIMageNet
    • 一共100类,80类作为 D l a r g e D_{large} Dlarge,20类作为 D f e w D_{few} Dfew
    • 为了公平比较,同时训练了和MatchNet一样的浅层网络用于特征提取

实验

在miniImageNet上的准确度如下
Few-Shot Image Recognition by Predicting Parameters from Activations_第4张图片

你可能感兴趣的:(meta,learning)