Background
零样本学习(Zero-shot),在不获取真实图像的情况下合成看不见的类(未知类别)的视觉特征
1、不可见视觉数据合成算法
→
\rightarrow
→获得未知类别数据特征的中间线索,即语义属性
2、零样本学习转换为常规的监督学习问题
PS:本文全篇所用词汇“Unseen”,代表的是不可见的数据类别,即未知类别,下文按作者个人习惯直接改成“未知”。
问题来源
目标识别任务依赖于大量的训练样本,然鹅面临如下问题:
1、获得良好标签的训练样本成本高,网上的数据专用性强
2、细粒度的识别任务导致类别更加深入,即类的数量扩充
3、稀有类别数据采集困难
主要贡献
1、提供了一个可行的框架,从给定的语义属性中合成看不见的视觉特征,而不需要获取真实的图像。在训练阶段获得的综合数据可以直接输入到传统的分类器中,从而使ZSL识别被巧妙地转换为传统的监督问题
2、在语义-视觉嵌入过程中引入了方差衰减问题,并提出了一种新的扩散正则化方法,它可以明确地使信息扩散到合成数据的每个维度。具体的,提供了一个有效的优化策略来解决正交旋转问题、结构差异和训练偏差问题,最终实现信息扩散
Method
准备工作
-
训练集包含集中的视觉特征、属性和可见的类标签: ( x 1 , a 1 , y 1 ) , . . . , ( x N , a N , y N ) ⊆ X s × A s × Y s (x_1,a_1,y_1),...,(x_N,a_N,y_N) \subseteq X_s \times A_s \times Y_s (x1,a1,y1),...,(xN,aN,yN)⊆Xs×As×Ys
N N N代表训练样本数; X s = [ x n d ∈ R N × D ] X_s=[x_{nd} \in R^{N \times D}] Xs=[xnd∈RN×D]代表 D D D维特征空间; A s = [ a n m ∈ R N × M ] A_s=[a_{nm} \in \mathbb{R}^{N \times M}] As=[anm∈RN×M]代表 M M M维属性空间; y n ∈ { 1 , . . . , C } y_n \in \{1,...,C\} yn∈{1,...,C}包含 C C C个离散类标签。 -
对于 N ^ \hat{N} N^个给定的具备 C ^ \hat{C} C^个未知类语义属性的实例对: ( a ^ 1 , y ^ 1 ) , . . . , ( a ^ N ^ , y ^ N ^ ) ⊆ A u × Y u (\hat{a}_1,\hat{y}_1),...,(\hat{a}_{\hat{N}},\hat{y}_{\hat{N}})\subseteq A_u\times Y_u (a^1,y^1),...,(a^N^,y^N^)⊆Au×Yu,零样本学习的目的是学习一个分类器: X u → Y u X_u\rightarrow Y_u Xu→Yu。
这里的 s , u s,u s,u分别代表了可见和不可见, ^ \hat{} ^ 代表了未知样本相关的变量
未知视觉数据合成
通过给定的语义属性来合成未知类的视觉特征,即获得测试集数据类别属性描述。具体的,在训练集 f f f上学习一个嵌入函数 A s → X s A_s\rightarrow X_s As→Xs,就可以通过 X u = f ( A u ) X_u=f(A_u) Xu=f(Au)来推断 X u X_u Xu。
为了合成视觉特征,最直观的框架是学习从语义空间到视觉特征空间的映射函数:
- P P P为映射矩阵, L \mathcal{L} L为损失函数, Ω \Omega Ω为具有超参数 λ \lambda λ的正则化项,一般来说选择 F r o b e n i u s Frobenius Frobenius范数。
在测试之前,我们可以通过给定的未知实例属性,从属性空间中合成未知视觉特征: X u = A u P . . . . . . . . . . . . ( 2 ) X_u=A_uP............(2) Xu=AuP............(2)
视觉-语义结构
上述结构面临两个问题:
- 结构差异:在实践中,视觉空间和语义空间之间往往存在着巨大的差距。根据最小重构误差,模型倾向于学习两个空间之间的主成分。因此,零样本学习对于合成数据没有足够的区别度。
- 训练偏差:合成未知数据可能偏向于已知数据,并获得与真实未知数据不同的数据分布。这个问题是由于基于回归的框架没有发现语义空间的内在几何结构,也不能捕捉到未知的关系。
直接从语义空间映射到视觉空间会导致性能的下降,提出引入一个辅助的潜在嵌入空间
V
\mathcal{V}
V来协调语义空间和视觉特征空间:
V
=
[
v
n
d
∈
R
N
×
D
]
\mathcal{V}=[v_{nd}\in \mathbb{R}^{N\times D}]
V=[vnd∈RN×D],让
V
\mathcal{V}
V同时保留视觉空间和语义空间的内在数据结构信息:
- (3)中可知 V \mathcal{V} V是由 X X X分解得到, A A A是由 V \mathcal{V} V分解得到, Q = [ q d ′ d ∈ R D × D ] , P = [ p m d ∈ R M × D ] Q=[q_{d'd}\in \mathbb{R}^{D\times D}],P=[p_{md}\in \mathbb{R}^{M\times D}] Q=[qd′d∈RD×D],P=[pmd∈RM×D]是两个映射矩阵, Ω 1 \Omega_1 Ω1是一个对偶图。
采用局部不变假设和谱双图方法同时估计 X , A X,A X,A的数据结构:
- N N N个数据点 { x 1 , . . . , x N } → N \{x_1,...,x_N\}\rightarrow N {x1,...,xN}→N个顶点 { g 1 , . . . g N } → \{g_1,...g_N\}\rightarrow {g1,...gN}→视觉空间的图(这里感觉有点奇怪,原文用的是“graph”,但我个人感觉应该还是用“weight”比较好) W X ∈ R N × N W_X \in \mathbb{R}^{N\times N} WX∈RN×N
- N N N个属性 { a 1 , . . , a N } → \{a_1,..,a_N\}\rightarrow {a1,..,aN}→属性图 W A ∈ R N × N W_A\in \mathbb{R}^{N\times N} WA∈RN×N
PS:这里感觉有点奇怪,原文用的是"graph",个人感觉应该是想表达"weigth"的意思
对于图像级属性,我们同时为视觉空间和语义空间构造KNN图,权值可以定义为:
对于类级属性,
W
A
W_A
WA计算时,
w
i
j
=
k
/
n
c
,
n
c
w_{ij}=k/n_c, n_c
wij=k/nc,nc是类
c
c
c的大小。
对于嵌入空间
V
\mathcal{V}
V,
W
=
1
/
2
∗
(
W
X
+
W
A
)
W=1/2*(W_X+W_A)
W=1/2∗(WX+WA),由此得到正则化结果:
- D , D i i = ∑ i w i j D,Dii=\sum_iw_{ij} D,Dii=∑iwij是 W W W的度矩阵, L = D − W L=D-W L=D−W, T r T_r Tr计算矩阵的迹
扩散调控
从属性中学习视觉特征时,特别是使用 P P P投影 A A A到 V \mathcal{V} V时,维度 D ≫ M D \gg M D≫M导致学习算法逐步选择具有低方差的方向。这表示学习到的特征存在严重冗余,为此期望集中的信息可以通过调整旋转有效地扩散到所有学习到的维度,即调整(3)中的旋转矩阵 Q Q Q,其中 Q Q T = I QQ^T=I QQT=I。文献16中报告了这样一个特性,即正交旋转可以保护在语义空间中捕获的属性。
(3)中显示,最优的合成数据为
X
=
V
Q
,
V
=
A
P
X=\mathcal{V} Q, \mathcal{V}=AP
X=VQ,V=AP。首先,文中证明了旋转前后的总体方差没有变化。其次,希望总体方差倾向于平均扩散到所有学习到的维度,以恢复
X
X
X的真实数据分布。扩散调控的目的是最小化从属性到视觉特征的重构误差,同时保留数据结构,使信息能够扩散到所有维度:
优化策略
1、通过固定
P
,
Q
P,Q
P,Q(9)简化为:
2、通过固定
P
,
V
P,\mathcal{V}
P,V,(9)简化为:
3、通过固定
Q
,
V
Q,\mathcal{V}
Q,V,(9)简化为:
这样,我们依次更新V、Q和P(步骤1、2、3),以基于坐标下降的T时间优化UVDS(未知视觉数据合成)。对于每个变量,都可以实现全局最优或局部最优,这保证了我们的方法的收敛性。在实践中,UVDS可以很好地收敛于T = 5∼10。
零样本识别
利用全局视觉特征,将零样本识别问题转化成典型分类问题, X u → Y u X_u\rightarrow Y_u Xu→Yu。一旦我们得到了嵌入矩阵 P , Q P,Q P,Q,未知类的可视化特征就可以很容易地从它们的语义属性中合成出来: X u = A u P Q . . . . . . . . . ( 19 ) X_u=A_uPQ.........(19) Xu=AuPQ.........(19)
Experiment
四个数据集上试验:CUB、aPY、SUN、AwA,前三个提供图像级和类级属性,最后一个只提供类级属性。采用VGG-19提取深度特征。训练集中每个类的一半数据被用作验证集。我们使用10倍交叉验证来获得最优的超参数 λ λ λ和 β β β。对于KNN图, K K K被固定为10。
对比实验
- 表1总结了对比实验结果。连字符表明,所比较的方法没有在原论文中相应的数据集上进行测试。
- 上半部分,所有的比较方法都使用传统的低水平特征进行了测试。下半部分,采用了深度学习特征。
- 对于所有这四个数据集,我们首先使用类级属性(CA)来评估我们的方法。在这个场景中,每个未知类都从类属性标签中获得一个综合的视觉特征原型。利用这些原型,通过神经网络分类来预测未知的测试图像。
- 当CUB、aPY和SUN中的图像级属性可用时,进一步使用SVM分类器进行实验。每个未知的图像视觉特征向量由所提出的UVDS合成,然后训练SVM模型并预测。该方法可以稳步优于传统的零样本学习场景上的最先进的方法。
- 在大多数情况下,使用SVM可以进一步提高识别率,特别是当类级属性是有噪声的时候。但是,如果类级的属性更精确,例如CUB,那么类级的NN分类器可以比SVM更好。
评估
与基线方法比较
比较了两种可能的方法来获得类级视觉原型的方法:
1、(CA)计算每个类中图像级属性的平均值,并使用平均类级属性(CA)为每个类合成一个视觉原型;
2、(MF)从图像级属性中综合视觉特征,并使用特征的平均值(MF)作为类原型。在测试过程中,我们使用神经网络分类来预测测试图像的标签
本文所述方法可以有效地防止训练偏差,而没有正则化的线性回归从已知到未知的平均性能下降了30%。DR是对GR的补充,可以进一步提高性能。CA和MF情景之间没有显著差异。因此,我们提出的方法可以可靠地应用于图像立面和类级属性。另一个优点是,合成的视觉数据可以被提供给典型的监督分类器,以获得更好的性能,这可以由使用SVM的结果来支持。