无监督句子对比较技术新突破

本文介绍了一种名为trans-encoder的无监督句子对建模方法,通过自蒸馏和互蒸馏技术结合交叉编码与双向编码优势,在句子相似性基准测试中比现有技术提升高达5%,无需标注数据即可实现高效句子对比较。

改进无监督句子对比较技术

自然语言处理和信息检索中的许多任务涉及句子对的比较,例如句子相似性检测、释义识别、问答蕴含和文本蕴含。最准确的句子比较方法是交叉编码,它逐对映射句子。然而,训练交叉编码器需要标注训练数据,收集这些数据劳动密集。

在今年的国际学习表示会议(ICLR)上,提出了一种名为trans-encoder的无监督句子对模型,在句子相似性基准测试中比现有技术提升高达5%。

两种编码器的比较

目前句子对任务主要有两种范式:交叉编码器和双向编码器。选择取决于计算效率和性能之间的标准权衡。

交叉编码器:两个序列连接后一次性输入句子对模型,通常基于Transformer语言模型(如BERT或RoBERTa)构建。Transformer的注意力头可以直接建模一个序列元素与另一个序列元素的相关性,从而计算准确的分类/相关性分数。然而,交叉编码器需要为每对输入句子计算新编码,导致高计算开销。因此,交叉编码对于涉及大规模句子对比较的任务(如信息检索和聚类)不实用。此外,将预训练语言模型(PLM)转换为交叉编码器总是需要在标注数据上微调。

双向编码器:每个句子分别编码并映射到共同嵌入空间,测量它们之间的距离。由于编码句子可以缓存和重用,双向编码更高效,且双向编码器的输出可作为句子嵌入直接用于下游任务。但众所周知,在监督学习中,双向编码器性能不如交叉编码器,因为它们不显式建模句子间交互。

Trans-encoder:结合两者优势

Trans-encoder旨在以无监督方式利用双向和交叉编码器的优势引导准确的句子对模型。其直觉是:从双向编码器表示开始,微调交叉编码器。凭借更强大的句子间建模,交叉编码器应从PLM中提取比双向编码器更多的知识。反过来,更强大的交叉编码器可以将知识蒸馏回双向编码器,提高计算更实用模型的准确性。可以重复此循环以从双向和交叉编码器迭代引导。

具体训练过程如下:

  1. 将PLM转换为有效的双向编码器:利用简单的对比调优程序。给定句子,用两个不同的PLM编码两次。由于dropout(随机丢弃神经网络节点以防止瓶颈的标准技术),两个PLM会产生略有不同的编码。然后训练双向编码器以最大化两个几乎相同编码的相似性。此步骤使PLM擅长嵌入序列。细节可参考先前工作Mirror-BERT和SimCSE。
  2. 自蒸馏:从双向到交叉编码器:获得合理的双向编码器后,使用它创建交叉编码器的训练数据。具体来说,用双向编码器计算的 pairwise 相似性分数标记句子对,并将其用作基于新PLM构建的交叉编码器的训练目标。
  3. 自蒸馏:从交叉到双向编码器:将交叉编码器获得的额外知识蒸馏回双向编码器形式,这对下游任务更有用。更重要的是,更好的双向编码器可以产生更多自标记数据以调优交叉编码器。通过重复步骤2和3,可以持续引导编码器性能。

论文还提出了其他技术(如互蒸馏)以提高模型性能。更多细节请参考论文第2.4节。

基准测试:句子相似性的新 state-of-the-art

在七个句子文本相似性(STS)基准测试上实验trans-encoder。在所有数据集上观察到比先前无监督句子对模型的显著改进。

还基准测试了二进制分类和域转移任务。更多细节请参考论文第5节。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计