Zero-shot Learning零样本学习 论文阅读(二)——An embarrassingly simple approach to zero-shot learning

Zero-shot Learning零样本学习 论文阅读(二)——An embarrassingly simple approach to zero-shot learning

  • ESZSL算法概况
    • 背景
    • 前提
    • 思路
  • 算法原理
    • 模型
    • 求解
      • 损失函数 L L L
      • 正则化项 Ω \Omega Ω
  • 参考文献

这篇论文提出了一种新的zero-shot learning方法“Embarrassingly simple Zero-Shot Learning”,后来被简写作EsZSL。之所以叫做“embarrassingly simple”,是因为这种新方法只需要一行代码就可以实现,而且在zero-shot learning的几个标准数据集上的表现要优于当时最先进的方法。

ESZSL算法概况

背景

在本篇论文之前zero-shot learning相关的文章更多关注点是attribute learning,从训练实例中提取标签属性,直至《Learning To Detect Unseen Object Classes by Between-Class Attribute Transfer》首次定义了Zero-shot learning并且提出了DAP、IAP,尽管DAP这种方法在一些方面得到应用和进一步研究,但是其弊端也比较明显,主要体现在两方面,一方面是他无法对输出的预测给出可靠性度量,二是算法做出了一些过强的假设,尤其是“各属性之间条件独立”,比如“是否生活在陆地”“是否生活在农场”这两个属性显然不是互相独立的。

前提

假设一共有z个类,其中每个类对应于属性空间中的a维属性向量,称为某个类的signature;集合的所有类用矩阵表示就是属性空间 S ∈ [ 0 , 1 ] a × z S \in [ 0,1 ] ^{a\times z} S[0,1]a×z;有m个实例,维度为d维,写成矩阵形式 X ∈ R d × m X \in R^{d\times m} XRd×m,实例的标签 Y = { − 1 , 1 } m × z Y=\{-1,1\}^{m\times z} Y={1,1}m×z.

思路

在实例空间X和和标签空间Y中间添加一个属性空间,并且通过一个新的映射 V V V连接属性空间和特征空间,最后建立损失函数.

算法原理

模型

从一个一般的线性分类器的原理开始,以岭回归为例,其优化过程就是:
m i n w L ( X T W , Y ) + Ω ( W ) min_wL(X^TW,Y)+\Omega(W) minwL(XTW,Y)+Ω(W)
其中 L L L为损失函数, Ω \Omega Ω为正则化项.
为了实现zero-shot learning,中间添加一个属性空间 S S S,通过映射 V V V连接属性空间 S S S和特征空间 X X X,即
W = V S V ∈ R d × a W=V S \quad V \in R^{d \times a} W=VSVRd×a
那么上式就变为
min ⁡ V L ( X ⊤ V S , Y ) + Ω ( V ) \min _{V} L\left(X^{\top} V S, Y\right)+\Omega(V) VminL(XVS,Y)+Ω(V)
通过学习得到参数 V V V后,输入新的 x x x S ∗ S^* S,就可以根据 a r g m a x i x T V S ⋅ , i ∗ argmax_i\quad x^TVS^*_{\cdot ,i} argmaxixTVS,i确定预测的类别。

求解

上面得到的式子
min ⁡ V L ( X ⊤ V S , Y ) + Ω ( V ) \min _{V} L\left(X^{\top} V S, Y\right)+\Omega(V) VminL(XVS,Y)+Ω(V)
由两部分组成,一部分是损失函数 L L L,另一部分是正则化 Ω \Omega Ω.

损失函数 L L L

损失函数 L L L论文中直接定义为Frobenius范数的形式: L ( P , Y ) = ∥ P − Y ∥ F r o 2 L(P, Y)=\|P-Y\|_{F r o}^{2} L(P,Y)=PYFro2

正则化项 Ω \Omega Ω

对于正则化项的选择,作者有两点考虑:

  1. 应该包含对于 V S VS VS的约束,是因为 V S VS VS代表属性空间中的向量在特征空间中的投影,对 V S VS VS加以约束,理想上保证了所有signature在特征空间里在空间离有相似的欧几里得范数,能够更公平的比较不同的signature,同时能够防止由于高度不平衡数据引发的问题。
  2. 还应该包含对 V T X V^TX VTX的约束,是因为 V T X V^TX VTX是所有训练实例 X X X在属性空间中的表征,对于 V T X V^TX VTX进行约束,可以限制其方差,使其在训练特征分布中拥有足够的不变性,如同传统的ridge和lasso一样,提高模型在不同的测试特征分布中的泛化性。

以此,可以设定:
Ω ( V ) = γ ∥ V S ∥ F r o 2 + λ ∥ X ⊤ V ∥ F r o 2 + β ∥ V ∥ F r o 2 \Omega(V)=\gamma\|V S\|_{F r o}^{2}+\lambda\left\|X^{\top} V\right\|_{F r o}^{2}+\beta\|V\|_{F r o}^{2} Ω(V)=γVSFro2+λXVFro2+βVFro2
其中 γ , λ , β \gamma, \lambda, \beta γ,λ,β 为超参数,此处不妨设 β = λ γ \beta=\lambda \gamma \quad β=λγ ,后面会用到.

综合损失函数和正则化项,目标函数现在可以具体得到:
m i n ∥ X ⊤ V S − Y ∥ F r o 2 + γ ∥ V S ∥ F r o 2 + λ ∥ X ⊤ V ∥ F r o 2 + β ∥ V ∥ F r o 2 min\left\|X^{\top} V S-Y\right\|_{F r o}^{2}+\gamma\|V S\|_{F r o}^{2}+\lambda\left\|X^{\top} V\right\|_{F r o}^{2}+\beta\|V\|_{F r o}^{2} minXVSYFro2+γVSFro2+λXVFro2+βVFro2
显然这是一个凸函数,因此我们可以直接对需要优化的参数 V V V求导,令导函数为零,求解V即可。
m i n { ∥ X ⊤ V S − Y ∥ F r o 2 } + { γ ∥ V S ∥ F r o 2 + λ ∥ X ⊤ V ∥ F r o 2 + β ∥ V ∥ F r o 2 } min\{\left\|X^{\top} V S-Y\right\|_{F r o}^{2}\}+\{\gamma\|V S\|_{F r o}^{2}+\lambda\left\|X^{\top} V\right\|_{F r o}^{2}+\beta\|V\|_{F r o}^{2}\} min{XVSYFro2}+{γVSFro2+λXVFro2+βVFro2}
写作两部分 m i n A + B min A+B minA+B
∂ A ∂ V = ∂ ∥ X ⊤ V S − Y ∥ F r o 2 ∂ V \frac{\partial A}{\partial V}=\frac{\partial\left\|X^{\top} V S-Y\right\|_{F r o}^{2}}{\partial V} VA=VXVSYFro2
由Frobenius范数定义 ∥ X ∥ F r o 2 = tr ⁡ ( X ⊤ X ) \|X\|_{F r o}^{2}=\operatorname{tr}\left(X^{\top} X\right) XFro2=tr(XX),得到

= ∂ t r ( ( X ⊤ V S − Y ) ⊤ ( X ⊤ V S − Y ) ) ∂ V =\frac{\partial t r\left(\left(X^{\top} V S-Y\right)^{\top}\left(X^{\top} V S-Y\right)\right)}{\partial V} =Vtr((XVSY)(XVSY))
计算矩阵的转置并展开括号:
= ∂ tr ⁡ ( S ⊤ V ⊤ X X ⊤ V S + Y ⊤ Y − S ⊤ V ⊤ X Y − Y ⊤ X ⊤ V S ) ∂ V =\frac{\partial \operatorname{tr}\left(S^{\top} V^{\top} X X^{\top} V S+Y^{\top} Y-S^{\top}V^{\top}XY-Y^{\top} X^{\top} V S\right)}{\partial V} =Vtr(SVXXVS+YYSVXYYXVS)
根据迹的性质 t r ( A + B ) = t r ( A ) + t r ( B ) t r ( A B ) = t r ( B A ) tr(A+B)=tr(A)+tr(B) \quad tr(AB)=tr(BA) tr(A+B)=tr(A)+tr(B)tr(AB)=tr(BA):
= ∂ tr ⁡ ( S ⊤ V ⊤ X X ⊤ V S + Y ⊤ Y − 2 Y ⊤ X ⊤ V S ) ∂ V =\frac{\partial \operatorname{tr}\left(S^{\top} V^{\top} X X^{\top} V S+Y^{\top} Y-2 Y^{\top} X^{\top} V S\right)}{\partial V} =Vtr(SVXXVS+YY2YXVS)
省略与 V V V无关的项:
= ∂ tr ⁡ ( S ⊤ V ⊤ X X ⊤ V S − 2 Y ⊤ X ⊤ V S ) ∂ V ( =\frac{\partial \operatorname{tr}\left(S^{\top} V^{\top} X X^{\top} V S-2 Y^{\top} X^{\top} V S\right)}{\partial V} \quad\left(\right. =Vtr(SVXXVS2YXVS)(
根据迹的性质 t r ( A B ) = t r ( B A ) tr(AB)=tr(BA) tr(AB)=tr(BA):
= ∂ tr ⁡ ( V S S ⊤ V ⊤ X X ⊤ − 2 V S Y ⊤ X ⊤ ) ∂ V =\frac{\partial \operatorname{tr}\left(VS S^{\top} V^{\top} X X^{\top} -2VS Y^{\top} X^{\top}\right)}{\partial V} =Vtr(VSSVXX2VSYX)
根据: ∂ tr ⁡ ( A B ) ∂ A = B T \frac{\partial \operatorname{tr}(A B)}{\partial A}=B^{T} Atr(AB)=BT ∂ tr ⁡ ( A B A T C ) ∂ A = C A B + C T A B T \frac{\partial \operatorname{tr}\left(A B A^{T} C\right)}{\partial A}=C A B+C^{T} A B^{T} Atr(ABATC)=CAB+CTABT

(证明:
∂ tr ⁡ ( A B ) ∂ A = ∂ ∑ i = 1 m ∑ j = 1 n a i j b j i ∂ ∑ i = 1 m ∑ j = 1 n a i j = ∑ i = 1 m ∑ j = 1 n b j i = B T \frac{\partial \operatorname{tr}(A B)}{\partial A}=\frac{\partial \sum_{i=1}^{m} \sum_{j=1}^{n} a_{i j} b_{j i}}{\partial \sum_{i=1}^{m} \sum_{j=1}^{n} a_{i j}}=\sum_{i=1}^{m} \sum_{j=1}^{n} b_{j i}=B^{T} Atr(AB)=i=1mj=1naiji=1mj=1naijbji=i=1mj=1nbji=BT

∂ t r ( A B A T C ) ∂ A = ∂ t r ( A T C A B ) ∂ A = ( B A T C ) T + C A B = C T A B T + C A B ) \frac{\partial t r\left(A B A^{T} C\right)}{\partial A}=\frac{\partial t r\left(A^{T} C A B\right)}{\partial A} \begin{array}{l} =\left(B A^{T} C\right)^{T}+C A B =C^{T} A B^{T}+C A B \end{array}) Atr(ABATC)=Atr(ATCAB)=(BATC)T+CAB=CTABT+CAB)
最终得到
= 2 X X ⊤ V S S ⊤ − 2 X Y S ⊤ =2 X X^{\top} V S S^{\top}-2 X Y S^{\top} =2XXVSS2XYS

参考文献

[1]Romera-Paredes B , Torr P H S . An embarrassingly simple approach to zero-shot learning[C]// Proceedings of the 32nd international conference on Machine learning (ICML '15). JMLR.org, 2015.

你可能感兴趣的:(Zero-Shot,Learning,机器学习,python,深度学习,人工智能,算法)