本文基于度量学习,发现简单的度量尺度会完全改变少样本学习参数更新的本质,同时提出了一个简单且有效的任务依赖的度量空间学习方法,可以根据不同的任务进行特征提取。通过度量缩放的方式,作者将余弦相似度与欧拉距离在少样本学习上的差距缩小了10%,也就是说度量的选择没有那么重要。另外,还提出了辅助任务协同训练,使得具有任务依赖性的特征提取更容易训练,并且具有很好的泛化能力
考虑episodic形式的K-shot,C-way的分类问题
作者发现使用欧式距离分类表现更好的原因主要是度量的尺度不同,而且,输出的维度对输出具有直接的影响。假设 z ∼ N ( 0 , I ) , E z [ ∣ ∣ z ∣ ∣ 2 2 ] = D f z\sim\mathcal{N}(0,I),\mathbb{E}_z[||z||^2_2]=D_f z∼N(0,I),Ez[∣∣z∣∣22]=Df,如果 D f D_f Df很大,网络就必须在优化策略之外工作以便于缩小特征表示的范围,因此提出了可学习的参数 α \alpha α, p ϕ , α ( y = k ∣ x ) = s o f t m a x ( − α d ( z , c k ) ) p_{\phi,\alpha}(y=k|x)=softmax(-\alpha d(z,c_k)) pϕ,α(y=k∣x)=softmax(−αd(z,ck)),使得模型对不同的度量都可以有好的表现。对每种类别的交叉熵损失函数如下:
J k ( ϕ , α ) = ∑ x i ∈ Q k [ α d ( f ϕ ( x i ) , c k ) + log ∑ j e x p ( − α d ( f ϕ ( x i ) , c j ) ) ] {J}_k(\phi,\alpha)=\sum_{x_i\in\mathcal{Q}_k}[\alpha d(f_\phi(x_i),c_k)+\log{\sum_j}exp(-\alpha d(f_\phi(x_i),c_j))] Jk(ϕ,α)=xi∈Qk∑[αd(fϕ(xi),ck)+logj∑exp(−αd(fϕ(xi),cj))]
Q k = { ( x i , y i ) ∈ Q : y i = k } \mathcal{Q}_k=\{(x_i,y_i)\in\mathcal{Q}:y_i=k\} Qk={(xi,yi)∈Q:yi=k}是类别k的query set,对参数 ϕ \phi ϕ求梯度:
∂ ∂ ϕ J k ( ϕ , α ) = α ∑ x i ∈ Q k [ ∂ ∂ ϕ d ( f ϕ ( x i ) , c k ) − ∑ j e x p ( − α d ( f ϕ ( x i ) , c j ) ) ∂ ∂ ϕ d ( f ϕ ( x i ) , c k ) ∑ j e x p ( − α d ( f ϕ ( x i ) , c j ) ) ] \frac{\partial}{\partial\phi}J_k(\phi,\alpha)=\alpha\sum_{x_i\in \mathcal{Q}_k}[\frac{\partial}{\partial\phi}d(f_\phi(x_i),c_k)-\frac{{\sum_j}exp(-\alpha d(f_\phi(x_i),c_j))\frac{\partial}{\partial\phi}d(f_\phi(x_i),c_k)}{{\sum_j}exp(-\alpha d(f_\phi(x_i),c_j))}] ∂ϕ∂Jk(ϕ,α)=αxi∈Qk∑[∂ϕ∂d(fϕ(xi),ck)−∑jexp(−αd(fϕ(xi),cj))∑jexp(−αd(fϕ(xi),cj))∂ϕ∂d(fϕ(xi),ck)]
考虑 α \alpha α的极限情况对梯度的影响
j i ∗ = a r g m i n j d ( f ϕ ( x i ) , c j ) j_i^* = argmin_jd(f_\phi(x_i),c_j) ji∗=argminjd(fϕ(xi),cj)
可以发现,
定义动态的特征提取器 f ϕ ( x , Γ ) f_\phi(x,\Gamma) fϕ(x,Γ), Γ \Gamma Γ是从任务表示中学习的学习的参数集合,所以特征提取器通过task的sample set S进行优化。
形式上, h l + 1 = γ ⊙ h l + β h_{l+1}=\gamma\odot h_l+\beta hl+1=γ⊙hl+β, γ , β \gamma,\beta γ,β 分别是作用于l层的缩放和偏移向量;具体地,使用类原型的均值作为任务表示, c ˉ = 1 c ∑ k c k \bar{c} = \frac{1}{c}\sum_k c_k cˉ=c1∑kck,即©中的TEN的输入,针对每个卷积层中得到不同的 γ , β \gamma,\beta γ,β。
TEN使用两个分开的全连接残差网络生成这两个向量,增加了 L 2 L_2 L2范数的惩罚项 γ 0 , β 0 \gamma_0,\beta_0 γ0,β0,可以限制 γ , β \gamma,\beta γ,β的效果,作者说有个原则是向量中的每一个元素应该是同时趋近于0的,除非任务条件作用对这层提供了明显的信息增益。
β = β 0 g θ ( c ˉ ) , γ = γ 0 h ϕ ( c ˉ ) + 1 \beta = \beta_0 g_\theta(\bar{c}),\gamma=\gamma_0h_\phi(\bar{c})+1 β=β0gθ(cˉ),γ=γ0hϕ(cˉ)+1
并且,TEN对于特征提取器中的每层的影响应该是不均匀的,靠近度量的层受到的条件限制应该比靠近图像的层大,因为浅层网络提取的像素级别的特征不具有任务特异性
使用ResNet-12作为特征提取网络。训练分为两步,第一步遍历sample set,TEN针对每一个卷积层预测 α , β \alpha,\beta α,β的值,之后使用刚刚生成的 α , β \alpha,\beta α,β对sample set和query set进行特征提取。选择相似度度量找到每个query的实例对应的原型类别,最后将度量的输出使用 α \alpha α进行缩放并输入softmax层
由于TEN网络的加入,同时学习TEN的有用特征和主要特征器是很困难的,会陷入局部最优解,使得使用任务条件的效果可能不如不使用。所以,使用mini-ImageNet上的64分类作为辅助任务(从训练集中随机均匀的抽取固定batch的64个图片样本),抽样概率随着episode指数衰减。
通过实验证明,使用辅助任务比预训练特征提取器更有效,作者把这个归功于辅助任务和主要任务在反向传播过程中梯度的共同影响。
辅助任务相当于是不适用任务条件之前的特征提取任务,所以相对来讲更简单,可以帮助学习器通过掌握最低的技能水平进而解决更困难的少样本分类问题。