符号说明:
VCL Center 投影中心,用□表示
Real Center 真实中心,用☆表示
BMVSc Center 约束中心,用○表示
K-Means Center 聚类中心,用◇表示
paper
观察发现,未见类样本在视觉空间中可分性很好,能被划分成不同的簇。如果学到的投影函数足够好,那么将每个类的语义属性在视觉空间的投影中心会和真实中心对齐。但是由于domain shift的问题,未见类的投影中心会偏离真实中心,导致分类效果不好。观察可以发现未见类的聚类中心和真实中心离得很近。在学习投影函数时,对齐未见类的投影中心和聚类中心可以缓解domain shift的问题。
问题:
对齐之后,如何修正投影中心,因为聚类中心是没有标注的。猜测是C约束是给多个匹配当中,距离最小的那个,B/W约束是一对一
ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅)是CNN特征提取器,x是图像, ϕ ( x ) ∈ R d × 1 \phi(x) \in \mathcal R^{d \times 1} ϕ(x)∈Rd×1。 c j s c_j^s cjs表示第i个已见类在视觉空间的真实中心,用所有特征向量的均值表示。
投影函数有两层全连接表示,如下:
c i s y n , s = σ 2 ( w 2 T σ 1 ( w 1 T a i s ) ) (1) c_i^{syn,s} = \sigma_2(w_2^T\sigma_1(w_1^Ta_i^s)) \tag{1} cisyn,s=σ2(w2Tσ1(w1Tais))(1)
其中, c i s y n , s c_i^{syn,s} cisyn,s表示第i个已见类在视觉空间的投影中心, a i s a_i^s ais表示第i个已见类的属性表示。 σ \sigma σ表示非线性操作Leak ReLU, w w w是全连接层的参数。
loss如下:
测试阶段,用投影函数得到未见类的投影中心 c i s y n , u c_i^{syn,u} cisyn,u,将测试图片在视觉空间距离最近的未见类作为分类结果
我们要对齐未见类的投影中心和真实中心。但是在直推式ZSL中,只有未见类的未标注样本。实验发现,聚类中心和真实中心离的很近。所以,我们用聚类中心来代替真实中心。
那么,对齐聚类中心结构和投影中心结构的问题可以表示成减小两个无序高维点集距离的问题。受启发于3D点云的工作,提出了对称倒角距离约束来解决结构匹配问题:
CDVSc的问题在于,有时候会存在多对一的匹配现象。这会导致投影中心会被拉到错误的真实中心。为了解决这个问题,提出了基于双分区匹配的约束来找到两个集合之间全局最小距离,同时满足一对一匹配原则。我们可以将这个问题形式化为一个最小权重匹配问题:
其中,X是分配矩阵,xij表示集合A中的元素i和集合B中的元素j的匹配关系,D是距离矩阵,dij表示集合A中的元素i和集合B中的元素j的距离。论文用匈牙利算法来解决这个问题,时间复杂度是O(V2E)。总loss如下:
实验效果:
双分区匹配可以达到全局最优匹配的假设前提是投影中心和真实中心是紧凑且准确的。但是,这个假设并不总是成立。通过使用Wasserstein距离,用可变值的矩阵X而不是用固定值(0或1)的分配矩阵来表示两个点集的联合概率分布。这个目标形式化和公式6很像,但是X表示的软联合概率值而不是固定值(0或1)。这篇论文中,采用了基于Sinkhorn迭代的熵正则化最优传输问题:
其中,H(X)是矩阵的熵 H ( X ) = − ∑ i j x i j log x i j H(X) = -\sum_{ij}x_{ij}\log x_{ij} H(X)=−∑ijxijlogxij, ϵ \epsilon ϵ是正则化参数。
X可以写成 X = d i a g { u } K d i a g { v } X=diag\{u\}Kdiag\{v\} X=diag{u}Kdiag{v}迭代优化u和v:
其中,K是矩阵D算出来的核矩阵。最终loss如下:
训练步骤如下:
步骤1: 因为源域数据是干净的,所以假设域漂移问题没有那么严重,我们先用VCL方法得到初始的未见类投影中心C。
步骤2: 每个源域类别和它在视觉空间中距离距离最远的类组成一个点对,组成距离集合 D \mathcal D D。
步骤3: 选择可靠的图像x(符合条件当且仅当存在一个未见类的中心,和它的距离小于距离集合中最大距离的一半)组合成目标域,在这个集合上做聚类。
步骤4: 分别执行CDVSc、BMVSc和WDVSc。
注意:这里有一个筛选目标域图片的过程,为了去除那些和目标域无关的图像,计算无标注图像和目标域所有未见类类中心的距离,然后选择那些距离足够近的。具体来说,如果这个图片和某一个类的最小距离大于类中心的最大距离的话,就去掉它。
简单理解,这个max(D)/2就是目标域/未见类的半径,在半径范围内的,算作目标域样本。
怎么构造包含无关图像的测试集?
在AwA1中混入8K张aPY数据集的图片。
Table 4展示了实验结果,使用过滤策略的训练过程比一般训练过程精度高。
错分类原因:
1) 错误类和正确类视觉特征太像:比如海豹seal和海象walrus
2) 标注错误:比如海豹spots属性,而海象没有,但是两个类都有斑点属性标注
思考:此时有斑点和没斑点的图像都能学到“斑点”这个属性,说明模型学的是某个“视觉特征”到“斑点”这个属性的映射
两个原因:
•使用语义空间作为嵌入空间会加剧投影对象对原点的收缩程度。
•更靠近原点的点更有可能成为中心。
从另一个角度来考虑:视觉到语义的映射会丢失信息,语义都视觉的映射会恢复信息。