【WWW 2024】POLISH:可以动态增加类别标签的 Hash-based 语义 ID 方法

nlp_gte_sentence-embedding_chinese-large

nlp_gte_sentence-embedding_chinese-large

文本生成
特征提取
模型微调

GTE (General Text Embeddings) 是阿里达摩院推出的通用文本向量模型,专门针对中文场景优化,可将文本转换为高质量的向量表示。

Zhan, Yu-Wei, et al. “Polish: Adaptive online cross-modal hashing for class incremental data.” Proceedings of the ACM Web Conference 2024. 2024.

在大规模跨模态检索任务中(如从图片中检索相关文本,或从文本中检索匹配的图片),如何高效生成能够表达语义关系的哈希码是一个关键问题。这篇博客将详细介绍一篇发表在 WWW 会议,关于跨模态哈希学习的文章。其提出的 POLISH 方法,通过结合类别语义嵌入、Hadamard 矩阵优化和哈希码学习,解决了跨模态检索中的效率和扩展性问题。



一、背景与问题

跨模态检索任务指的是在不同模态(如文本和图片)之间实现高效匹配。由于数据量巨大,直接存储高维特征并逐一计算相似性代价高昂,因此需要将数据映射到低维二进制哈希码,通过哈希码的 Hamming 距离 快速计算相似性。

然而,传统方法在生成哈希码时面临以下难点:

  1. 语义保持:如何保证生成的哈希码能够表达语义相似性?(同类别的数据哈希码应尽量接近,不同类别间应尽量远)。
  2. 类别扩展能力:当有新类别加入时,是否需要重新训练整个模型?
  3. 计算效率:如何在保证语义一致性的同时高效生成哈希码?

为了解决这些问题,POLISH 方法从类别的语义嵌入出发,通过结合 Hadamard 矩阵 和优化目标函数,提出了一种高效、灵活的跨模态哈希学习方法。


二、POLISH 方法简介

POLISH 方法的核心是:利用类别的语义嵌入,通过优化生成的哈希码,使得哈希码既能表达类别的语义关系,又满足平衡性和区分性要求。其主要包括以下四个步骤:

  1. 类别嵌入生成与优化:生成类别的语义嵌入,并利用 Hadamard 矩阵优化嵌入。
  2. 哈希码学习:通过优化损失函数生成哈希码。
  3. 类别扩展:加入新类别时,无需重新训练整体模型,仅需生成新类别的嵌入。
  4. 哈希检索:通过 Hamming 距离实现高效检索。

接下来,我们从技术细节层面深入剖析每个步骤。


三、方法详解

3.1 类别嵌入生成与优化

(1) 类别嵌入的生成

类别嵌入是通过预训练语言模型(如 BERTWord2Vec)生成的高维向量。这些向量能够表达类别之间的语义关系,例如“猫”和“狗”的嵌入距离较近,而“猫”和“汽车”的嵌入距离较远。

(2) Hadamard 矩阵优化

虽然语言模型生成的类别嵌入保留了语义关系,但直接使用可能导致类别间的干扰。为此,POLISH 引入了 Hadamard 矩阵 来优化嵌入。

Hadamard 矩阵是一种正交矩阵,具有以下性质:

  • 每一行与每一列都互相正交,能够减少类别间的冲突。
  • 每个元素仅为 + 1 +1 +1 − 1 -1 1,有助于生成平衡的二进制哈希码。

通过将类别嵌入 E E E 与 Hadamard 矩阵 H H H 相乘,获得优化后的类别嵌入:

E o p t i m i z e d = E × H E_{optimized} = E \times H Eoptimized=E×H

优化后的嵌入既保留了语义信息,又具有数学上的正交性和平衡性,适合用于后续的哈希码学习。


3.2 哈希码学习

(1) 哈希码生成的目标

哈希码学习的目标是通过输入样本特征(如图片或文本)生成一个固定长度的二进制向量(如 [ 1 , 0 , 1 , 1 , 0 , 1 ] [1, 0, 1, 1, 0, 1] [1,0,1,1,0,1])。为此,定义了一个从输入特征到哈希码的映射函数:
h = s i g n ( f ( x ; θ ) ) h = sign(f(x; θ)) h=sign(f(x;θ))
其中:

  • x x x 是输入样本的特征(如图片特征或文本特征)。
  • f ( x ; θ ) f(x; θ) f(x;θ) 是一个可微的连续函数(如神经网络),通过优化学习参数 θ θ θ
  • s i g n ( ⋅ ) sign(·) sign() 是符号函数,将连续值二值化(正数映射为 1,负数映射为 0)。
(2) 优化损失函数

为了生成语义一致的哈希码,POLISH 定义了一个综合损失函数,包括以下部分:

  1. 平衡性损失
    控制生成的哈希码中 1 1 1 0 0 0 的比例接近,避免信息分布不均。
    L b a l a n c e = ∑ i = 1 n ∣ 1 m ∑ j = 1 m h i j ∣ L_{balance} = \sum_{i=1}^n \left| \frac{1}{m} \sum_{j=1}^m h_{ij} \right| Lbalance=i=1n m1j=1mhij
    其中, h i j h_{ij} hij 是第 i i i 个样本的第 j j j 位哈希码, m m m 是哈希码长度。

  2. 相似性损失
    保证同类别样本的哈希码之间的 Hamming 距离尽量小,不同类别样本的 Hamming 距离尽量大。
    L s i m i l a r i t y = ∑ i , j S i j ⋅ ∣ ∣ h i − h j ∣ ∣ H L_{similarity} = \sum_{i,j} S_{ij} \cdot ||h_i - h_j||_H Lsimilarity=i,jSij∣∣hihjH
    其中:

    • S i j S_{ij} Sij 表示样本 i i i 和样本 j j j 的语义相似性(如是否属于同一类别)。
    • ∣ ∣ h i − h j ∣ ∣ H ||h_i - h_j||_H ∣∣hihjH 表示哈希码的 Hamming 距离。
  3. 类别嵌入约束
    保证生成的哈希码与类别嵌入一致,样本哈希码 h h h 应尽量接近其类别嵌入 E [ y ] E[y] E[y]
    L e m b e d = ∑ i = 1 n ∣ ∣ h i − E o p t i m i z e d [ y i ] ∣ ∣ 2 L_{embed} = \sum_{i=1}^n ||h_i - E_{optimized}[y_i]||^2 Lembed=i=1n∣∣hiEoptimized[yi]2

最终的损失函数为:
L = L b a l a n c e + L s i m i l a r i t y + L e m b e d L = L_{balance} + L_{similarity} + L_{embed} L=Lbalance+Lsimilarity+Lembed

通过最小化这个损失函数,映射函数 f ( x ; θ ) f(x; θ) f(x;θ) 被不断优化,最终生成符合语义关系的哈希码。


3.3 类别扩展

在实际场景中,可能会有新类别不断加入。POLISH 提供了一种高效的类别扩展机制:

  1. 生成新类别的语义嵌入:通过语言模型提取新类别的嵌入。
  2. Hadamard 优化:将新类别嵌入与已有嵌入结合,并利用 Hadamard 矩阵进行优化。
  3. 无需重新训练模型:只需更新类别嵌入即可,无需重新优化整个哈希码映射函数。

3.4 哈希检索

在完成哈希码生成后,检索过程非常高效:

  1. 将查询样本生成哈希码。
  2. 计算查询哈希码与数据集中所有哈希码的 Hamming 距离。
  3. 返回 Hamming 距离最小的样本作为检索结果。

由于 Hamming 距离的计算非常简单(基于二进制 XOR 操作),整个检索过程可以在大规模数据集上快速完成。


四、总结

POLISH 方法通过结合语义嵌入和 Hadamard 矩阵优化,提出了一种高效、灵活的跨模态哈希学习框架。其主要特点包括:

  • 语义一致性:利用语言模型生成类别嵌入,保证哈希码能够表达语义关系。
  • 数学优化:通过 Hadamard 矩阵增强类别嵌入的正交性和平衡性。
  • 高效检索:生成紧凑的二进制哈希码,支持快速检索。
  • 类别扩展性:无需重新训练模型即可支持新类别。

该方法在跨模态检索中展现了优异的性能,适用于大规模、多类别场景。

您可能感兴趣的与本文相关的镜像

nlp_gte_sentence-embedding_chinese-large

nlp_gte_sentence-embedding_chinese-large

文本生成
特征提取
模型微调

GTE (General Text Embeddings) 是阿里达摩院推出的通用文本向量模型,专门针对中文场景优化,可将文本转换为高质量的向量表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值