文章目录
Learning From Expert: Vision-Language Knowledge Distillation for Unsupervised Cross-Modal Hashing Retrieval【ICMR ’23, June 12–15, 2023, Thessaloniki, Greece】
向专家学习:无监督跨模态哈希检索的视觉-语言知识蒸馏
Abstract 摘要
现存方法的问题/提出动机:
无监督跨模态哈希的现有方法存在一些瓶颈:
1)现有的无监督方法由于缺乏不同模态特征之间的相关性,简单的特征不能完全描述多模态数据的细粒度关系,导致相似性度量不准确。
2)现有的方法很少探索视觉-语言知识蒸馏方案,以提取这些视觉-语言模型的多模态知识来指导学生网络的学习。
本文提出:无监督跨模态哈希检索的视觉-语言知识蒸馏 Vision-Language Knowledge Distilation for Unsupervised Cross-Modal Hashing Retrieval(VLKD)
VLKD利用视觉-语言预训练(VLP)模型对多模态数据进行特征编码,然后构建相似度矩阵对学生模型进行软相似度监督,它将VLP模型的知识提炼到学生模型种,以获得对多模态知识的理解。
此外,我们设计了一个端到端的无监督哈希学习模型,该模型包含一个图卷积辅助网络。辅助网络根据教师模型提取的相似矩阵,聚合相似数据节点的信息,生成更一致的哈希码。
最后,教师模型不需要额外的训练,它只需要引导学生网络学习高质量的哈希表示,在训练和检索方面都是相当高效的。
1 Introduction
现有的跨模态检索方法可分为两类:
- 实值表示学习方法
- 例如子空间学习和深度学习。
- 通常使用欧几里得距离进行测量,以确保语义相关数据彼此接近。
- 实值表示空间中的相似性度量存在搜索响应低和计算复杂度高的问题。
- 哈希表示学习方法
- 跨模态哈希CMH可以有效地将多模态数据的高维实值表示投影到公共汉明空间,使包含公共语义的跨模态数据能够映射到相似的哈希码。
- 数据存储要求低,距离计算效率高
跨模态哈希方法根据在训练阶段是否使用类标签进一步分为无监督和有监督两种方法。
- 无监督跨模态哈希方法使用多模态数据对,通过计算不同模态数据的相似度,将原始多模态数据投影成哈希码表示,并在投影过程中保留跨模态数据的语义相关性。无监督方法具有标签无关性。
- 监督跨模态哈希方法通过类别标签来弥合不同模态的语义差距,并在学习哈希码的同时保持标签的语义相似性。由于增加了标签信息,具有更好的检索精度。然而,标签的获取成本是巨大的,并且包含了很多噪音。
以往方法的局限性:
1)构造的相似矩阵只表示一组数据中的两两关系,而不表示其他图的邻域关系
2)现有的方法通常只考虑全局相似关系,可能无法有效地挖掘细粒度的相似信息
过去两年中,视觉-语言预训练(VLP)模型呈指数级增长,并在各种视觉和语言的下游任务(目标检测、语义分割、多模态匹配和检索等)中取得了令人印象深刻的表现。其中最具有代表性的作品是CLIP(对比语言图像预训练),它在4亿个有噪声的多模态网络数据上进行了预训练,并在各种下游视觉和语言相关任务上表现出令人满意的性能。
尽管VLP模型已经成功地微调到各种视觉和语言任务,但是由于它不能直接应用于UCMH,需要设计一个统一的无监督哈希表示学习框架。
知识蒸馏(KD) 将知识从一个或多个大型(教师)模型转移到小型(学生)模型上。
受此启发,我们提出使用VLP模型作为专家模型,在不增加模型参数量的情况下,将专家模型中的知识提取到学生模型中,从而提高模型的检索性能。
Framework
图1说明了提出的VLKD方法的总体框架,包括训练和检索过程。
知识蒸馏方法基于师生学习范式,其中 教师模型的输出作为损失函数中的软目标来训练学生模型。

基于上述思想,我们提出了一个有效的框架,称为无监督跨模态哈希检索的视觉-语言知识蒸馏(VLKD)。
Contributions
- 首先提出了一种应用于UCMH的有效的视觉-语言知识蒸馏框架,该框架从视觉-语言模型中提炼出细粒度的语义信息来指导学生网络的学习。我们的框架是通用的,可以应用于一系列的跨模态哈希检索方法。这是对知识蒸馏和UCMH新颖而具体的贡献。
- 我们设计了一个UCMH学生网络,它由一个哈希编码网络和一个图卷积辅助网络组成。
- 哈希编码网络 将多模态特征编码成二值码,同时保持数据的语义相似性。
- 图卷积网络GCN 基于从教师模型中提取的多模态细粒度信息挖掘潜在的图邻域相关性,帮助学习哈希函数以生成更高质量的哈希码。
- 在三个基准数据集(MS COCO、NUS-WIDE和MIRFLICKR-25K)上进行的充分实验表明,所提出的方法优于其他最先进的无监督跨模态哈希方法,验证了VLKD方法的有效性。
2 Related work
Deep Corss-Modal Hashing
Vision-Language Pre-training(VLP)
Knowledge Distillation
3 Methodology
3.1 Notation and problem Definition
给定一个多模态数据集 O = { v i , t i } i = 1 n O = \{v_i, t_i\}_{i=1}^n O={vi,ti}i=1n,其中 v i v_i vi 和 t i t_i ti 表示图像-文本对,我们采样小批次的训练数据 o = { o 1 , o 2 , … , o m } o = \{o_1, o_2, \dots, o_m\} o={o1,o2,…,om}。
对于每一个随机抽样的批训练样本 { o k = [ v k , t k ] } k = 1 m \{o_k =[v_k, t_k]\}_{k=1}^m {ok=[vk,tk]}k=1m,其中 m m m 表示 batch size。
F v V L P ∈ R m × d v F_v^{VLP} \in \mathbb R^{m \times d_v} FvVLP∈Rm×dv 和 F t V L P ∈ R m × d t F_t^{VLP} \in \mathbb R^{m \times d_t} FtVLP∈Rm×dt 表示从VLP模型中提取的视觉和文本特征。
学生网络生成的哈希码:
B
v
∈
{
−
1
,
+
1
}
m
×
c
B_v \in \{-1,+1\}^{m \times c}
Bv∈{−1,+1}m×c 和
B
t
∈
{
−
1
,
+
1
}
m
×
c
B_t \in \{-1,+1\}^{m \times c}
Bt∈{−1,+1}m×c
辅助网络生成的哈希码:
B
v
A
∈
{
−
1
,
+
1
}
m
×
c
B_v^A \in \{-1,+1\}^{m \times c}
BvA∈{−1,+1}m×c 和
B
t
A
∈
{
−
1
,
+
1
}
m
×
c
B_t^A \in \{-1,+1\}^{m \times c}
BtA∈{−1,+1}m×c
c
c
c 表示哈希码的长度。
之后,根据得到的哈希码
B
v
,
B
t
,
B
v
A
,
B
t
A
B_v, B_t, B_v^A, B_t^A
Bv,Bt,BvA,BtA 构建相似度矩阵。
使用余弦相似性计算视觉和文本哈希码的相似矩阵
S
v
B
=
c
o
s
(
B
v
,
B
v
)
S_v^B = cos(B_v,B_v)
SvB=cos(Bv,Bv) 和
S
t
B
=
c
o
s
(
B
t
,
B
t
)
S_t^B = cos(B_t,B_t)
StB=cos(Bt,Bt)。同样地,构造辅助矩阵
S
v
A
S_v^A
SvA 和
S
t
A
S_t^A
StA。
汉明距离用于度量哈希码之间的距离。给定两个哈希码 b i b_i bi 和 b j ∈ { − 1 , + 1 } 1 × c b_j \in \{-1,+1\}^{1 \times c} bj∈{−1,+1}1×c,公式如下:

3.2 Framework Overview

VLKD是一个端到端的模型,它集成了四个组件:学生网络、教师网络、图卷积辅助网络 和 哈希码重构组件。
Student Hashing Encoding Network 学生哈希编码网络
学生网络将多模态数据编码为特征向量
F
v
F_v
Fv 和
F
t
F_t
Ft。
将视觉特征编码器表示为
E
n
c
v
Enc_v
Encv ,文本特征编码器表示为
E
n
c
t
Enc_t
Enct ,方程表示为:

- I I I 和 T T T 表示mini-batch的图像和文本训练样本。
- θ t \theta_t θt 和 θ t \theta_t θt 表示文本和视觉编码器的参数。
随后,我们使用 MLP 作为哈希编码器生成哈希码:

- 其中 lim α → ∞ t a n h ( α x ) = s i g n ( x ) \lim_{\alpha \to \infin} tanh(\alpha x) = sign(x) limα→∞tanh(αx)=sign(x).
- 迭代二值优化策略 是用来 减少哈希码二值化的信息损失。
- α \alpha α 代表迭代次数
- H E ∗ ( ⋅ , ⋅ ) HE_*(\cdot,\cdot) HE∗(⋅,⋅) 和 θ h ∗ \theta_{h*} θh∗ 分别表示哈希编码器和参数。
Teacher Knowledge Distillation Network 教师知识蒸馏网络
受VLP和相关工作的启发,采用 VLP编码器 作为教师模型,它可以提取细粒度的跨模态语义特征。
具体而言, 视觉-语言模型提取的多模态特征包含模态交互信息,并且具有强相关性。方程如下所示:

- V L P E n c ∗ ( , ) VLPEnc_*(,) VLPEnc∗(,) 表示 VLP编码器
- θ ∗ \theta_* θ∗ 表示网络的参数
- m m m 表示batch size
- d v d_v dv 和 d t d_t dt 分别表示特征向量的维度
为了给学生哈希网络提供可靠的学习目标,我们使用从教师网络中提取的多模态特征构建了一个相似图similarity graph,该图由矩阵表示。
我们使用一个mini-batch的视觉特征 F v V L P ∈ R m × d v F_v^{VLP} \in \mathbb R^{m \times d_v} FvVLP∈Rm×dv 来构建视觉模态相似度矩阵 S v = c o s ( F v V L P , F v V L P ) ∈ [ − 1 , + 1 ] m × m S_v = cos(F_v^{VLP}, F_v^{VLP}) \in [-1,+1]^{m \times m} Sv=cos(FvVLP,FvVLP)∈[−1,+1]m×m.
对于文本模态,我们直接使用文本特征 F t V L P ∈ R m × d t F_t^{VLP} \in \mathbb R^{m \times d_t} FtVLP∈Rm×dt 来构建文本模态相似度矩阵 S t = c o s ( F t V L P , F t V L P ) ∈ [ − 1 , + 1 ] m × m S_t = cos(F_t^{VLP}, F_t^{VLP}) \in [-1,+1]^{m \times m} St=cos(FtVLP,FtVLP)∈[−1,+1]m×m.
随后,我们构造了一个模态间相似度矩阵来捕捉不同模态数据的共存相似性。特别地,我们使用 F v V L P F_v^{VLP} FvVLP 和 F t V L P F_t^{VLP} FtVLP 来构造模态间余弦相似度矩阵 S i n t e r = c o s ( F v V L P , F t V L P ) ∈ [ − 1 , + 1 ] m × m S_{inter} = cos(F_v^{VLP}, F_t^{VLP}) \in [-1,+1]^{m \times m} Sinter=cos(FvVLP,FtVLP)∈[−1,+1]m×m$.
最终,我们权衡了模态内和模态间的相似性,并构建了相似性图矩阵 S G S_G SG,用于指导图卷积辅助网络的哈希学习。公式如下所示:

- β 、 η 、 γ \beta、\eta、\gamma β、η、γ 是平衡不同模态之间相似性矩阵贡献的超参数。
Graph Convolutional Auxiliary Network 图卷积辅助网络
为了更好地利用提取的细粒度多模态特征,我们设计了一个图卷积辅助网络来增强学生编码网络的哈希表示。
辅助网络由相似图 S G S_G SG 引导,并通过图卷积网络(GCN)聚合相邻数据节点之间的信息,从而为类似的数据产生更一致的哈希码。
然后,我们将相似度图 S G = { s i j } i , j = 1 m ∈ [ − 1 , + 1 ] m × m S_G = \{s_{ij}\} _{i,j=1}^m \in [-1,+1]^{m \times m} SG={sij}i,j=1m∈[−1,+1]m×m 放在一个两层GCN中,其聚合了相邻节点之间的图邻域相关性:

- D ~ i i = ∑ j s i j \tilde D_{ii} = \sum_j s_{ij} D~ii=∑jsij
- W ( 1 ) W^{(1)} W(1) 和 W ( 2 ) W^{(2)} W(2) 是参数矩阵
- σ 1 \sigma_1 σ1 和 σ 2 \sigma_2 σ2 是两个GCN层的激活函数
- Z ∗ ( i ) Z_*^{(i)} Z∗(i) 表示图像和文本模态图卷积网络第 i i i 层的输出
由此,我们可以利用图神经网络强大的图特征表示能力来聚合语义相似的数据信息。在训练过程中,通过 图卷积网络聚合相邻数据节点的语义信息,使相似数据生成更一致的哈希码,而不相似数据生成更多不相似的哈希码。这有助于使生成的哈希码包含更多的模态交互信息。
图卷积辅助网络生成的哈希码 如下:

- α \alpha α 代表迭代次数
我们使用迭代量化策略来优化哈希码。将哈希码离散问题转化为一系列连续量化问题,可以有效地缓解二值化过程中的信息丢失问题。
Hash Code Reconstructing 哈希码重构
为了从VLP模型中提取知识,以指导学生网络的哈希表示的学习,我们将 VLP特征生成的哈希码 与 学生网络生成的哈希码 对齐。
其次,我们将 辅助网络的哈希码相似矩阵 重构为 学生网络的哈希码矩阵。
此外,我们还提取了 用于知识蒸馏的相似图similarity graph S S S ,以指导学生哈希码网络的优化。
具体来说,我们使用 从网络中生成的哈希码 B v , B t , B v A , B t A B_v, B_t, B_v^A, B_t^A Bv,Bt,BvA,BtA 构造 相似度矩阵 S v B , S t B , S c B , S B v A , S b c A S_v^B, S_t^B, S_c^B, S_{Bv}^A, S_{bc}^A SvB,StB,ScB,SBvA,SbcA,其中:
- S ∗ B = c o s ( B ∗ , B ∗ ) , ∗ ∈ { v , t } S_*^B = cos(B_*,B_*), * \in \{v,t\} S∗B=cos(B∗,B∗),∗∈{v,t}
- S c B = c o s ( B v , B t ) S_c^B = cos(B_v,B_t) ScB=cos(Bv,Bt)
- S B ∗ A = c o s ( B ∗ A , B ∗ A ) , ∗ ∈ { v , t } S_{B*}^A = cos(B_*^A,B_*^A), * \in \{v,t\} SB∗A=cos(B∗A,B∗A),∗∈{v,t}
然后,我们用它们来设计损失函数,如下所示:

-
L A l i g n L_{Align} LAlign 为 哈希码对齐损失
- 它将图卷积辅助网络生成的哈希码与学生网络的哈希码对齐,从而将VLP模型中的 细粒度语义信息 迁移到学生网络中。
- 它将图卷积辅助网络生成的哈希码与学生网络的哈希码对齐,从而将VLP模型中的 细粒度语义信息 迁移到学生网络中。
-
L A u x L_{Aux} LAux 表示 辅助相似度重构损失
- 将辅助网络的哈希码相似度重构为学生网络的哈希码相似度,从而为学生网络提炼出 细粒度数据相似度
- 将辅助网络的哈希码相似度重构为学生网络的哈希码相似度,从而为学生网络提炼出 细粒度数据相似度
-
L K D L_{KD} LKD 表示 知识蒸馏损失
- 它将VLP模型的相似度知识蒸馏给学生模型,为学生网络的学习提供可靠的监督目标。
- 它将VLP模型的相似度知识蒸馏给学生模型,为学生网络的学习提供可靠的监督目标。
-
μ \mu μ 是一个可扩展的超参数,可以调节矩阵的量化范围
-
⊗ \otimes ⊗ 表示矩阵的哈达玛积
3.3 Objective Function and Optimization 目标函数及优化
通过SGD算法迭代更新整个网络的参数,直到学生模型收敛。经过几十轮迭代优化,我们的模型得到了充分的训练,得到了最优的网络参数。
目标函数的公式如下:

- λ 、 δ 、 φ \lambda、\delta、\varphi λ、δ、φ 是权衡的超参数
最小化目标损失函数允许迭代更新学生网络的参数,学习从教师网络中提取的知识,并使学生网络能够理解视觉-语言模型中的细粒度多模态知识。
值得注意的是,本文提出的VLKD框架适用于其他基线模型,师生网络可以替换为其他高级网络,通过优化目标函数实现哈希函数学习,VLKD方法使用SGD或Adam优化算法进行迭代优化。
4 Experiments
为了证明所提出的VLKD的效率,我们在三个基准数据集(MS COCO、NUS-WIDE和MIRFLICKR-25K)上进行了综合实验。通过对比实验、参数敏感性分析和消融实验对该方法进行了实证分析。
4.1 Datasets
- MS COCO
- 是用于目标检测、分割、图像描述等场景的多任务数据集。
- 它包含了123,287张真实场景图像,相应的文本描述以及91个对象类别标签
- NUS-WIDE
- 它是一个应用于web图像标注和检索任务的多标签数据集
- 包含从真实场景中采集的269,648个样本以及对应的标签。
- 我们选择了10个最广泛使用的类别和相关的186,577个图像-文本对,每个文本短语提供1000维的BOW特征表示。
- MIRFLICKR-25K
- 它是一个应用于多媒体任务的多标签数据集
- 从Flickr网站上的24个不同类别中捕获的25,000张照片、相关文本和标签。
- 它还提供了一个1386维的文本特征向量
三个检索基准数据集的分区统计信息如表1所示:

4.2 Evaluation Metrics
UCMH着重于两个检索任务: ( I → T ) (I \to T) (I→T) 和 ( T → I ) (T \to I) (T→I),它们使用一种模态的样本作为查询数据,从另一种模态的数据库中检索语义相似的数据。
在我们的实验中,我们使用了两种跨模态检索方法:平均精度(MAP)和 top-N精度曲线。它们为所提出的模型相对于其他检索性能方法的优越性提供了一个很好的直观衡量标准。
平均精度 等于所有查询数据的平均检索精度,我们使用MAP@5000评估指标,表示检索Hamming排序后前5000个样本的平均精度。
top-N精度曲线 反映了检索不同数量样本的精度变化。它表示排名前N位的检索结果的平均精度,并反映了大规模检索模型的总体性能。
4.3 Implementation Details
提出的VLKD方法是用PyTorch 和 32GB内存在NVIDIA RTX 3060 GPU上实现的。
超参数设置如下: β = 0.5 \beta=0.5 β=0.5, η = 0.2 \eta=0.2 η=0.2, γ = 0.3 \gamma=0.3 γ=0.3, λ = 0.1 \lambda=0.1 λ=0.1, δ = 1 \delta=1 δ=1, φ = 0.2 \varphi=0.2 φ=0.2。
此外,使用 S G D SGD SGD 作为优化器,学习率为 0.01 0.01 0.01,权重衰减为 5 e − 4 5e-4 5e−4,动量为 0.9 0.9 0.9。
为了进行公平比较:
- 使用VGG-16作为视觉特征提取器
- 文本编码器使用多层感知机(MLP)作为骨干网络
- 对于辅助网络,我们使用两层图卷积网络作为骨干网络
(
D
f
→
1024
→
c
)
(D_f \to 1024 \to c)
(Df→1024→c)
- D f D_f Df 表示VLP模型特征的维度
- c c c 表示哈希码的长度
- 最后,我们重构了多层感知器生成的哈希码
(
d
f
→
4096
→
c
)
(d_f \to 4096 \to c)
(df→4096→c)
- d f d_f df 表示视觉或文本特征的维度
Comparison Results and Discussions 对比结果及讨论
在三个基准数据集上,将所提出的VLKD与几种先进的基线方法进行了比较,包括LSSH、CMFH、DJSRH、JDSH、DSAH、AGCH、HNH、DGCPN、DUCH、DAEH。
我们比较了所有基线和VLKD在两种检索任务种的 MAP@5000 和 top-N精度曲线。
MAP comparison results

Top-N precision curves

所提出的VLKD曲线变化平滑,这侧面反映了所提出方法的稳定性和适合大规模检索任务。
从图3的曲线可以看出,所提出的方法优于所有比较的基线方法,这说明了VLKD的先进性。
值得注意的是,随着检索样本数量的增加,我们方法的top-N精度曲线相对于其他基线方法下降缓慢。一种解释是,学生网络获得了对大规模多模态知识的理解,弥合了数据中的模态差距。此外,设计良好的图卷积辅助网络可以帮助学生网络学习哈希码,从而获得更高质量的哈希码。
Ablation Experiments 消融实验
- VLKD-1:没有采用迭代二值量化策略
- VLKD-2:没有辅助相似性重构损失
- VLKD-3:没有辅助哈希码对齐损失
- VLKD-4:没有使用视觉-语言知识蒸馏

通过表3可以看出,每个模块对模型的整体性能提升都起到了重要的作用。
- 值得注意的是,VLKD-4的性能下降最为明显,因为视觉-语言知识蒸馏包含细粒度的跨模态信息,并且蒸馏改善了学生网络的哈希表示。
- VLKD-1表明,这种迭代二值量化减少了二值化过程中的精度损失。
- VLKD-3显示哈希码对齐模型的影响很小。
- VLKD-2的实验结果表明,辅助图卷积网络可以增强学生网络的学习能力。
Parameter Sensitivity Analysis
5 Conclusions
提出了一种新颖有效的无监督跨模态哈希检索方法(VLKD)。
在该方法中,设计了一个统一的视觉-语言知识蒸馏框架,用于提取VLP模型中的多模态细粒度语义信息,并以细粒度语义信息指导学生网络的优化。
此外,我们还设计了一个图卷积辅助网络来辅助生成哈希码,该网络以蒸馏信息为指导,从相似的数据节点中聚合信息,并从语义相似的数据中生成更一致的哈希码。
最后,VLKD方法在不增加模型参数量的情况下提高了UCMH的检索性能,保持了模型的轻量化。
在三个多媒体检索数据集上的充分实验表明,该方法优于目前代表性的无监督跨模态哈希方法。
VLKD是一种新的无监督跨模态哈希方法,通过视觉-语言知识蒸馏从VLP模型中提炼细粒度语义信息,指导学生网络学习。该方法利用图卷积辅助网络增强哈希编码,提高检索性能。实验表明,VLKD在多个数据集上优于其他无监督方法,验证了其有效性。

2619

被折叠的 条评论
为什么被折叠?



