摘要
由于优化排序的前几位在实践中更加可靠,我们专注于提升排序列表的前几位的精度。
首先,我们使用了一个pairwise的排序loss去优化排序列表的前几位。也就是WARP.
其次,考虑到pairwise的方式没有考虑所有不同类别的样本,我们使用了listwise的方式
去最大化类间距离,最小化类内距离。通过这种方式,类信息被很好地保留并且迭代的
次数也有效地下降。
最后,低秩约束被用于优化特征和标签的关系。因为将不同模态映射到公共子空间后,
可以增强它们之间的相关性。
优化,采用最新的FAST-SSGD方法进行U和V的优化,采用SVD分解和QR分解等,这
一种新的思路,而不是之前的梯度下降的思路。
用图示来表示pairwise,listwise的作用
(a)表示原始样本的分布,圆是图片,方形是文本,相同的颜色即为同一类,同时红色代表
距离最近的错误类,也就是top-1的错误。
(b)表示pairwise ranking的作用,只把top-1的错误踢出去,却没有注意两点:同类的样本y2,
y3依然离x很远;不同类的样本像是y2,y4没有拉开。
(c)把pairwise和listwise结合起来,效果非常好,既分开了那个刺头,同时也有效地将同类样
本拉近,不同类的样本推远。
关于保持低秩的好处
由于标签/特征关联向量可以通过映射的左/右奇异向量来明确描述,因此基于低秩的映射
正则化可以有效地利用标签与特征之间的相关性。
然后在低维子空间中增强各特征间的相关性。此外,低秩约束也增强了映射对高维数据的
可扩展性。
由于语义空间的内在维数通常比原始特征空间低得多,我们使用低秩约束来挖掘数据中嵌
入的低维子空间结构。
提出算法
有两个线性映射U和V,我们通过内积来表示图片和样本的相似度。
我们的损失函数定义为
L(U,V)为两两损失之和,采用抽样手法优化排名靠前的错误项。
Ψ(U,V)表示为列表损失之和,通过约束最近邻的正确邻居和最近邻的错误邻居,用这一种方法
来保存类信息。
Ω(U,V)是一个低秩约束,通过探索数据中嵌入的低维子空间结构来增强映射数据的相关性。
λ > 0和γ > 0是平衡不同约束权值的权衡参数。
Pairwise ranking loss constraint
我们采用WARP.
其中,图片检索文本
同理,文本检索图片
优化方法见上一篇博客。
Listwise loss constraint
为什么要采用Lisewise Loss呢?
- 由于有限迭代的随机性,一些罕见的查询可能不会在大型训练集中进行采样。
- 在每个采样阶段,一个正样本只找到1个最近邻,然后排序损失近似于成对样本的损失。由于
查询样本在一个大型数据集中有很多最近邻,它可能需要更多的迭代来收敛。
Low-rank constraint
由于语义空间的内在维数通常比原始特征空间低得多,我们使用低秩约束来挖掘数据中嵌入的
低维子空间结构。
||U||*和||V||*就代表nuclear norm.
映射的左/右奇异向量明确地描述了标签/特征相关性向量,因此基于低秩的正则化可以有效地
利用标签和特征相关性。
我们可以通过对其奇异值求和来测量U的复杂性,即我们应该保留多少个U的奇异值或奇异
向量Mi(U)和Ni(U).
当我们保留最大的r'个U的奇异值,U的秩等于r'.
通过bFAST-SSGD优化
只要记住映射矩阵的低秩优化有一种bFAST-SSGD的方式。
整体算法
注意第三步有一个步长的学习。