一、动机
目前的检索都是使用混合检索:第一阶段使用,稀疏检索,然后第二阶段使用神经网络对检索到的前k个文档进行重新排序,使用分开的检索器和重新排序器需要维护两个独立的模型。而且,由于它是一个管道流程,系统的各个组件彼此之间没有互相学习,因此在错误传播方面会产生连锁反应。如果第一阶段的检索器没有检索到相关文档,重新排序器就无法从中恢复。
二、解决方法
将检索和重新排序统一到一个模型中,就是UR2N,基于编码解码器的模型,经过训练,编码器表示可以用于检索,解码器用于重新排序。
UR2N构建在Mono-T5重新排序器上,采用XTR风格来训练编码器
三、方法细节
1.背景知识:
XTR 是一种最先进的多向量模型:
1.查询和文档的表示:
每个查询和文档的token都是用一个d维向量表示,就是通过一个神经网络进行token编码维向量
这样查询和文档分别就是一个nxd、mxd的矩阵
2.对齐矩阵:
XTR中使用了一个大小维nxm的矩阵,来表示,查询和文档之间的每个token是否是top-k个相关的token。计算公式:
3.计算查询和文档之间的相似度得分:
计算公式如下:
4.计算损失:
在训练过程中,XTR 使用 交叉熵损失 来优化模型。交叉熵损失用于衡量预测的检索得分和实际标签之间的差异。损失函数表示为:
Mono-T5 是一个基于 T5 模型(一个强大的转换器架构)经过微调的模型:
专门用于处理文档重排序任务。在信息检索(IR)系统中,重排序任务的目的是从初步检索到的文档中,基于其与查询的相关性重新排列它们,通常使用一个评分机制。
2.方法细节
UR2N是一个结合了检索(retrieval)和重排序(reranking)任务的模型。在这个模型中,Mono-T5用作重排序器,而XTR则用来增强检索能力。
模型的设计:
模型架构图:
只微调新增的XTR层,其他的编码层保持冻结
XTR层的表示:
为了减少存储空间,添加了一个线性层,把XTR生成的编码器,嵌入向量压缩到更低的维度(128),表示如下: