目录
论文:Poly-Encoders: Architectures And Pre-Training Strategies For Fast And Accurate Multi-Sentence Scoring
一、论文背景
计算两个句子相似度有两种技术架构:Bi-Encoder(俗称双塔)和Cross-encoder,这两个的区别在于交互的时机,Bi-Encoder构架input_text和candidate分别训练,直到最后预测分数的时候才交互,而Cross-encoder将input_text分别和candidate拼接送入模型或者训练中多次产生交互。从上面的描述可以看到,两架构各有利弊:Bi-Encoder由于交互少,训练和预测会更快些,对线上工程来说,并发和响应时耗是有要求的,Cross-Encoder由于交互训练,模型可以学到更多特征,预测准确度上要优于Bi-Encoder,劣势就是更耗时。那么有没有一种方案够兼顾质量和速度:Poly-Encoder,本文模型提出的初衷正为此。
二、模型架构
Poly-Encoder, 论文是这么定义的:具有额外学习注意力机制的架构,代表更多全局特征,从中执行自注意力。

见图知义,Poly-encoder是在Bi-encoder上加入一些调料,主要包括:
1、query经过Encoder后并不生成单一的向量,出发点是query通常比较长,单一的向量无法完成涵盖全部语义信息,于是采用attention机制生成m个向量,多侧面去刻画query;
2、生成最后query_emb的方式是通过1中的m个向量与candidate_emb做attention,可见,Poly-encoder与candidate进行了两次交互。
三、实验结果

预测准确度上,Poly-encoder的效果是介于Bi-encoder和Cross-encoder之间,但相对于Bi-encoder,在有些数据集上出现较大辐度提升,如ConvAI2和Ubuntu v2。

从耗时上优势就比较明显了,与Cross-encoder准确度相当的条件下,预测效率相差3个量级
本文介绍了一种新型模型Poly-Encoder,它在Bi-Encoder基础上引入注意力机制,平衡了计算速度和准确性。相比于传统架构,Poly-Encoder在保持类似Cross-Encoder预测精度的同时,预测效率显著提高。研究展示了其在多个数据集上的优秀性能和时间效率优势。
661

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



