ViTAA:自然语言搜索中文本属性的视觉对齐
概括:这篇文章解决了什么问题,用了什么方法,有什么效果,你有什么收获
这篇文章从属性特定对齐学习的角度来解决自然语言中人员搜索的问题。
方法:允许将特定属性短语固定到相应的视觉区域。模型学习使用一个辅助属性分割层将一个人的特征空间分解成与属性对应的子空间。然后,通过一种新颖的对比学习方法(k倒数采样),将这些视觉特征与从句子中解析出来的文本属性联系起来。
收获:该方法充分利用不同身份的视觉和文本模式中的共同属性信息,并利用对齐学习模式在视觉属性特征和相应的文本短语之间建立了强大的关联。
1. 概述
本文目的是学习强大的视觉文本联想,能充分利用这两种模式的表征学习。图1中说明大多数打那个钱视觉语言系统出现的错误。
所以现在问题出现在:如何处理**图像和文本之间细粒度交互。**举个例子:一般的模型不能将红色的长裙和一般的裙子分开,或者红色的外套的红色的风衣之类细粒度的特征。
文章对特征提取使用分割标签来驱动从输入图像的属性感知特征学习。
ViTAA:分割标签来驱动从输入图像的属性感知特征学习。通用的语言解析器提取文本信息,对比学习模式学习两个模态的联合嵌入空间。
利用局部片段来进行细粒度的学习。
本文工作:
1.属性感知的表示学习框架提取和对齐视觉和文本特征,完成自然语言搜索任务。
2.设计一种基于对比学习的跨模态对齐学习模式。
3.提出一种无监督数据抽样方法。
本文的方法:输入的图像首先经过ResNet主干网络提取出全局特征和多尺度的局部分支,图像还需要通过HRNet提取到六个部分的细粒度特征,上一步得到的多尺度的局部分支可以得到Segment Layer,将这两部分特征进行组合得到Seg Loss,这是第一个损失函数。多尺度局部分支可以得到局部特征。右边的文本特征首先经过语言解析器将多种重要的名词短语等进行提取,语言模块的全局特征和语言模块的局部特征,两个部分的全局特征进行特征对齐,得到align glo loss,全局特征之间有一个IDLoss,局部特征之间通过k倒数采样可以得到正负样本,然后进行align attr loss。最后就是通过这四个标准衡量模型的性能。
2. 详述
整个模型分为图像组和文本组 I , T \mathcal {I,T} I,T,各部分的特征分别为 { v 1 , . . . , v a t t r } , { t 1 , . . . , t a t t r } \{\mathcal {v_1,...,v_{attr}}\},\{t_1,...,t_{attr}\} {v1,...,vattr},{t1,...,tattr}。
2.1 图像流
经过主干网络可以提取到全局特征 v 0 = F g l b ( F ) v_0 = \mathcal F^{glb}(\mathbf F) v0=Fglb(F)。还有基于属性的局部特征 v a = F a l o c ( F ) v_a = \mathcal F^{loc}_a(\mathbf F) va=Faloc(F)。
然后使用HRNet提取出每个部分的特征图进行比对。从图中可以清楚的看到其中的流程,此处只是将模型量化的表达出来。
2.2 文本流
使用共享权重的双流长短时记忆网络(Bi-Directional LSTM)生成全局和局部的文本特征。
global textual embedding t 0 \mathbf t_0 t0。
单词之间的平均池化向量 d a \mathbf d_a da组成的字典 D = [ d 1 , . . . , d N a t t r ] \mathbf D = [\mathbf {d_1,...,d_{N_{attr}}}] D=[d1,...,dNattr].
local textual embedding { t 1 , . . . , t N } \{\mathbf {t_1,...,t_N}\} {t1,...,tN}。
2.3 图像文本对齐
使用三元组损失进行衡量,模型的输入为: < v i , t + , t − > , < t i , v + , v − > \mathbf {<v^i,t^+,t^->,<t^i,v^+,v^->} <vi,t+,t−>,<ti,v+,v−>。i代表特征的标签,正负号代表第i个人的正负样本。
论文中提到可以由1推导至2 < t i , v + , v − > → < v i , t + , t − > \mathbf {<t^i,v^+,v^-> \rarr <v^i,t^+,t^->} <ti,v+,v−>→<vi,t+,t−>
使用余弦相似度来衡量视觉和文本的特征距离: S = v T ⋅ t ∥ v ∥ ∥ t ∥ \mathbf {S = \frac {v^T \cdot t} {\|v\| \|t \|}} S=∥v∥∥t∥vT⋅t。
三元组中又可以分为正对和负对,positive pair < v i , t + > \mathbf {<v^i,t^+>} <vi,t+>余弦相似性 S + S^+ S+应该尽可能大。
负对中negative pair < v i , t − > \mathbf {<v^i,t^->} <vi,t−>应该尽可能的小。
While for a negative pair < v i , t − > \mathbf {<v^i,t^->} <vi,t−>, enforcing the cosine similarity S − \mathbf S^- S− to be minimal may yield an arbitrary constraint over the negative samples t − \mathbf t^- t−.
正对和负对之间的约束应该如下:
S
+
→
1
a
n
d
S
+
−
S
−
>
m
.
S^+ \rarr 1 ~ and ~ S^+ - S^- \gt m.
S+→1 and S+−S−>m.
m是正负对相似性的最小边界。实验中设置为0.2.
α
=
0.6
,
β
=
0.4
,
τ
p
=
10
,
τ
n
=
40
\alpha = 0.6 ,\beta = 0.4,\tau _p = 10 ,\tau _n = 40
α=0.6,β=0.4,τp=10,τn=40
对比学习中,有一个hinge loss: L ( x ) = max { 0 , 1 − x } \mathcal L(x) = \max \{0, 1-x\} L(x)=max{0,1−x},其中 ∂ L ∂ x = − 1 \frac {\partial \mathcal L} {\partial x} = -1 ∂x∂L=−1
logistic loss: L ( x ) = log ( 1 + exp ( − x ) ) \mathcal L(x) = \log(1 + \exp(-x)) L(x)=log(1+exp(−x)),其中$\frac {\partial \mathcal L} {\partial x} = - \frac {1} {e^x +1} $
由于基于对的训练数据构造导致训练对的多项式增长,因此在训练过程中不可避免地会有部分随机抽取的否定文本信息量较少。
logistic loss还可以被重新写为:
(
S
+
−
α
)
>
0
,
−
(
S
−
−
β
>
0
)
(S^+ - \alpha) \gt 0,~-(S^- - \beta \gt 0)
(S+−α)>0, −(S−−β>0)
α
→
1
\alpha \rarr 1
α→1表示正例相似度的下边界。
β
=
(
α
−
m
)
\beta = (\alpha - m)
β=(α−m)表示负例相似度的上边界。对齐损失可以被写为:
L
a
l
i
g
n
=
1
N
∑
i
=
1
N
{
log
[
1
+
e
−
τ
p
(
S
i
+
−
α
)
]
+
log
[
1
+
e
τ
n
(
S
i
−
−
β
)
]
}
\mathcal L_{align} = \frac 1 N \sum^N_{i=1} \{\log[1+e^{- \tau_p(S^+_i - \alpha)}] + \log[1+ e^{\tau_n (S^-_i - \beta)}]\}
Lalign=N1i=1∑N{log[1+e−τp(Si+−α)]+log[1+eτn(Si−−β)]}
τ
p
,
τ
n
\tau_p,\tau_n
τp,τn代表梯度的范围调整参数。偏导数可以写为:
∂
L
a
l
i
g
n
∂
S
i
+
=
−
τ
p
1
+
e
−
τ
p
(
S
i
+
−
α
)
,
∂
L
a
l
i
g
n
∂
S
i
−
=
τ
n
1
+
e
−
τ
n
(
β
−
S
i
−
)
\frac {\partial \mathcal L_{align}} {\partial S^+_i} = \frac {-\tau _p} {1 + e^{- \tau_p(S^+_i - \alpha)}},~~ \frac {\partial \mathcal L_{align}} {\partial S^-_i} = \frac {\tau _n} {1 + e^{- \tau_n(\beta - S^-_i)}}
∂Si+∂Lalign=1+e−τp(Si+−α)−τp, ∂Si−∂Lalign=1+e−τn(β−Si−)τn
2.4 k倒数采样
属性注释:k倒数采样是一种无监督的方法可以生成属性级的代理标签。
目前的对比学习方法是选择属于同一类的样本构建正对,将来自其他类的随机样本简单的视为负类。无法处理细粒度级别的比较情况。本文提出扩大从跨id实例中正样本的搜索空间。
代替正样本,将这种极其容易被认为正例的样本放在正例中会更有意义。
k倒数采样的过程。
2.4 联合训练
最后将四个部分的损失进行联合即可得到损失的公式:
L
=
L
i
d
+
L
s
e
g
+
L
a
l
i
g
n
g
l
o
+
L
a
l
i
g
n
a
t
t
r
\mathcal L = \mathcal L_{id} + \mathcal L_{seg} +\mathcal L ^{glo}_{align} + \mathcal L ^{attr}_{align}
L=Lid+Lseg+Lalignglo+Lalignattr
3. 取得的结果
使用CUHK-PEDES,是一个机遇自然语言的行人搜索的数据集。训练集上有11003个人的34054张图片,验证集上有1000个人的3078个图片,测试集上有1000个人的3074张图片。
在消融实验中,判断模型中的每个部分对整体的影响。
- 由于视觉特征和对应的文本特征不一致,使用segmentation只能带来微小的改善。同样当训练中只有属性对时,也会出现同样的问题。这种情况下,视觉特征没有被正确分割,因此不能被关联起来进行检索。而将其组合起来,效果会出现显著提升。
- 与属性对齐相比,全局对齐效果很好,当只使用全局对齐效果也比较好,这说明可视化文本对齐模式的有效性。原因是:前者学习不同身份之间的属性相似度,后者专注于学习每个人的独特性。
视觉属性分割与表示:即使仅使用轻量级结构,辅助人分割层也能在不同的人体姿态下产生准确的像素级标签。这表明人的句法分析知识已经成功地从我们的局部分支中提取出来,这对于精确的跨模态对齐学习是至关重要的。
K倒数采样:理想情况下:K越大,挖掘出的潜在代替正例会被充分挖掘,同时假正例也会被更多的采样到,所以要控制到合理的值。在此学习模式中,来自不同人的视觉属性可以作为有价值的正例样本。
定性分析:
在定性分析中,错误的实例紧紧抓住了局部特征进行分析。检索到的图像不准确,但观察到查询中描述的所有属性几乎都存在于检索到的结果中。
属性检索:
为了证明视觉属性和文本短语的关联能力。实验中对上身服装属性类别进行了简单的测试,并将检索结果发布在表4中。我们在补充材料中介绍了我们的实验细节。从表4可以清楚地看出,vita在几乎所有子属性上都取得了很好的性能。这进一步有力地支持了我们的观点,即vita能够成功地将视觉属性特征与文本属性描述相关联。
语的关联能力。实验中对上身服装属性类别进行了简单的测试,并将检索结果发布在表4中。我们在补充材料中介绍了我们的实验细节。从表4可以清楚地看出,vita在几乎所有子属性上都取得了很好的性能。这进一步有力地支持了我们的观点,即vita能够成功地将视觉属性特征与文本属性描述相关联。