Zero-shot Learning零样本学习 论文阅读(七)——Unsupervised Domain Adaptation for Zero-Shot Learning
这篇论文运用了一个unsupervised domain adaptation的技巧结合正则化字典稀疏学习,主要解决zero-shot learning中的domain shift问题。
背景
字典稀疏学习
- 稀疏表示
假如我们用矩阵 X = { x 1 , x 2 , ⋯ , x n } ∈ R d × n X=\{x_1,x_2,\cdots,x_n\}\in R^{d\times n} X={x1,x2,⋯,xn}∈Rd×n表示数据集,每一列代表一个样本,即 n n n个样本,每个样本有 d d d维属性.一般情况下这个矩阵的大多数元素不为零,称之为稠密的.
稀疏表示的含义是,寻找一个系数矩阵 A = { α 1 , α 2 , ⋯ , α n } ∈ R k × n A=\{\alpha_1,\alpha_2,\cdots,\alpha_n\}\in R^{k\times n} A={α1,α2,⋯,αn}∈Rk×n以及一个字典矩阵 B ∈ R d × k B\in R^{d\times k} B∈Rd×k,使得 B A BA BA尽可能的还原 X X X,且 A A A尽可能稀疏,则 A A A就为 X X X的稀疏表示.
- 字典学习
为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表达形式,从而使学习任务得以简化,模型复杂度得以降低,通常称为"字典学习"(dictionary learning).
目标函数:
min B , α i ∑ i = 1 m ∥ x i − B α i ∥ 2 2 + λ ∑ i = 1 m ∥ α i ∥ 1 \min _{B, \alpha_{i}} \sum_{i=1}^{m}\left\|x_{i}-B \alpha_{i}\right\|_{2}^{2}+\lambda \sum_{i=1}^{m}\left\|\alpha_{i}\right\|_{1} B,αimini=1∑m∥xi−Bαi∥22+λi=1∑m∥αi∥1
其中, x i x_i xi为第 i i i个样本, B B B为字典矩阵, α i \alpha_i αi为 x i x_i xi的稀疏表示, λ \lambda λ为大于0的参数。
上式中第一个累加项说明了字典学习的第一个目标是字典矩阵与稀疏表示的线性组合尽可能的还原样本;第二个累加项说明了alphai应该尽可能的稀疏。之所以用L1范式是因为L1范式正则化更容易获得稀疏解。
求解过程中:对字典 B B B以及样本稀疏表示 α i \alpha_i αi交替迭代优化。即先初始化字典 B B B,(1)固定字典 B B B对 α i \alpha_i αi进行优化;(2)固定 A A A对字典 B B B进行优化。重复上述两步,求得最终 B B B以及 X X X的稀疏表示 A A A。
其中第一步可采用与LASSO正则化相似的方法进行求解,第二步可采用KSVD方法进行求解。
算法模型
算法思路
传统的ZSL,思路就是建立一个语义空间,可以人工建立属性也可通过词嵌入模型构建,然后建立训练数据点到该空间的映射,然后测试样本也通过这个映射到语义空间再结合最近邻方法输出预测,但是已经通过实验证实这样直接将训练得到的映射给测试样本用存在domain shift问题,本文通过一个domain adaptation的框架以及结合传统的字典学习解决这个问题。
设定
定义符号:将训练样本集称为source domain(源域),测试样本集称为target domain, 样本所在 的视觉特征空间维度为 d d d, 语义空间维度为 m , m < d ; m, mm,m<d; 有 c s c_{s} cs 个可见类,共 n s n_{s} ns 个样本, 所 有可见样本的类标签为 z s ∈ R n s ; c t z_{s} \in R^{n_{s}} ; c_{t} zs∈Rns;ct 个不可见类, n t \quad n_{t} nt 个样本,所有不可见样本的类标签为 z t ∈ R n t ; z_{t} \in R^{n_{t}}; zt∈Rnt; 将所有写成矩阵形式就是: X s ∈ R d × n s , X t ∈ R d × n t , X_{s} \in R^{d \times n_{s}}, \quad X_{t} \in R^{d \times n_{t}}, Xs∈Rd×ns,Xt∈Rd×nt, 其在语义空间中的对
应语义向量组成矩阵为 Y s ∈ R m × n s , Y t ∈ R m × n t Y_{s} \in R^{m \times n_{s}}, Y_{t} \in R^{m \times n_{t}} \quad Ys∈Rm×ns,Yt∈Rm×nt (未知) , , , 对于source domain的字典为 D s , D_{s}, Ds, 对于target domain的字典为 D t , D_{t}, Dt, 都是 d × m d \times m d×m 维的, d i d_{i} di 为 D D D 的第 i i i 列。
算法原理
传统的字典学习包含字典矩阵 B B B以及稀疏表示矩阵 A A A两个变量,通过迭代的方式,轮流优化,来学习得到参数。在本文中对源域和目标域分开学习:
- 源域source domain:
D s ∗ = argmin D s ∥ X s − D s Y s ∥ F 2 \quad D_{s}^{*}=\operatorname{argmin}_{D_{s}}\left\|X_{s}-D_{s} Y_{s}\right\|_{F}^{2} Ds∗=argminDs∥Xs−DsYs∥F2
s.t. ∀ i ∥ d i ∥ 2 2 ≤ 1 \forall i\left\|d_{i}\right\|_{2}^{2} \leq 1 ∀i∥di∥22≤1
这是标准的形式,再加上正则化项:
D s ∗ = argmin D s ∥ X s − D s Y s ∥ F 2 + λ 1 ∥ D s ∥ F 2 D_{s}^{*}=\operatorname{argmin}_{D_{s}}\left\|X_{s}-D_{s} Y_{s}\right\|_{F}^{2}+\lambda_{1}\left\|D_{s}\right\|_{F}^{2} Ds∗=argminDs∥Xs−DsYs∥F2+λ1∥Ds∥F2
s.t. ∀ i ∥ d i ∥ 2 2 ≤ 1 \forall i \quad\left\|d_{i}\right\|_{2}^{2} \leq 1 ∀i∥di∥22≤1
这个形式就和ridge regression很相似了, 这也区分于传统的字典稀疏学习,因为这里只有一个优化变量 D s D_{s} Ds
- target domain: { D t ∗ , Y t ∗ } = argmin D t , Y t ∥ X s − D t Y t ∥ F 2 + λ 2 ∥ Y t ∥ 1 \left\{D_{t}^{*}, Y_{t}^{*}\right\}=\operatorname{argmin}_{D_{t}, Y_{t}}\left\|X_{s}-D_{t} Y_{t}\right\|_{F}^{2}+\lambda_{2}\left\|Y_{t}\right\|_{1} {Dt∗,Yt∗}=argminDt,Yt∥Xs−DtYt∥F2+λ2∥Yt∥1
s . t . ∀ i , ∥ d i ∥ 2 2 ≤ 1 s.t. \forall i,\left\|d_{i}\right\|_{2}^{2} \leq 1 s.t.∀i,∥di∥22≤1
这里就是标准的字典稀疏学习的形式了,但是再观察这个式子,对于两个优化变量,仅仅是促使了 Y t Y_{t} Yt 变的稀疏(1-范数约束),而没有保证学习得到的 D t D_{t} Dt 对于 X t X_{t} Xt 是正确的投影.再再目标函数上加上几个正则化项,才能让学到的 D t D_{t} Dt 和 Y t Y_{t} Yt 更有 用。
改写为:
{ D t ∗ , Y t ∗ } = argmin D t , Y t ∥ X s − D t Y t ∥ F 2 + λ 2 ∥ Y t ∥ 1 + λ 3 ∥ D t − D s ∥ F 2 + λ 4 ∑ i , j w i j ∥ y i − p j t ∥ 2 2 \left\{D_{t}^{*}, Y_{t}^{*}\right\}=\operatorname{argmin}_{D_{t}, Y_{t}}\left\|X_{s}-D_{t} Y_{t}\right\|_{F}^{2}+\lambda_{2}\left\|Y_{t}\right\|_{1}+\lambda_{3}\left\|D_{t}-D_{s}\right\|_{F}^{2}+\lambda_{4} \sum_{i, j} w_{i j}\left\|y_{i}-p_{j}^{t}\right\|_{2}^{2} {Dt∗,Yt∗}=argminDt,Yt∥Xs−DtYt∥F2+λ2∥Yt∥1+λ3∥Dt−Ds∥F2+λ4i,j∑wij∥∥yi−pjt∥∥22
s . t . ∀ i ∥ d i ∥ 2 2 < 1 s.t. \forall i\left\|d_{i}\right\|_{2}^{2}<1 s.t.∀i∥di∥22<1
其中, p i t p_i^t pit代表未见类 i i i 在语义空间的prototype
新添加的两个正则化项:
其中 ∥ D t − D s ∥ F 2 \left\|D_{t}-D_{s}\right\|_{F}^{2} ∥Dt−Ds∥F2 以 D s D_{s} Ds 为基础约束 D t D_{t} \quad Dt (毕竟两个都是映射到同一个语义空间,这也就是相当于将 D s D_{s} Ds 作为先验知识,结合了传统的寻找视觉特征映射方法。
而 ∑ i , j w i j ∥ y i − p j t ∥ 2 2 \sum_{i, j} w_{i j}\left\|y_{i}-p_{j}^{t}\right\|_{2}^{2} ∑i,jwij∥∥yi−pjt∥∥22,对于每个数据点学到的 y i y_{i} \quad yi,其对应的类标签为 z t i z_{t}^{i} zti,而该标签在语义空间的prototype为 p t i p_{t}^{i} pti, 因此两者做一个误差项 ∥ y i − p j t ∥ 2 2 \left\|y_{i}-p_{j}^{t}\right\|_{2}^{2} ∥∥yi−pjt∥∥22; w i j = p ( z t j ∣ x i ) w_{i j}=p\left(z_{t}^{j} \mid x_{i}\right) wij=p(ztj∣xi) 这个值可以通过IAP (indirect attribute prediction) 求出来,两者相乘再求和跑遍所有样本和类,结合了传统的视觉-语义相似度匹配方法。
实验也证明了这两个额外的正则化项提高的模型的分类能力
接下去就是和传统的字典学习差不多了,轮流固定,优化另一个,因为一起优化的话就是非凸问题了。
参考文献
[1]E. Kodirov, T. Xiang, Z. Fu, and S. Gong, ‘Unsupervised Domain Adaptation for Zero-Shot Learning’, in 2015 IEEE International Conference on Computer Vision (ICCV), Santiago, Chile, Dec. 2015, pp. 2452–2460, doi: 10.1109/ICCV.2015.282.