网站 备案 哪个省,找个产品做区域代理,网站制作方法,wordpress mediaelement.js本次论文解读#xff0c;博主带来生成式稠密检索#xff1a;记忆可能成为一种负担的论文分享
一、简介
生成式检索根据给定的查询#xff0c;自回归地检索相关的文档标识符#xff0c;在小规模的文档库中表现不错#xff0c;通过使用模型参数记忆文档库#xff0c;生成…本次论文解读博主带来生成式稠密检索记忆可能成为一种负担的论文分享
一、简介
生成式检索根据给定的查询自回归地检索相关的文档标识符在小规模的文档库中表现不错通过使用模型参数记忆文档库生成式检索实现了查询和文档之间的深层次交互。
但是这种记忆机制存在一些问题1.对文档的细粒度特征记忆准确性不足2.当文档库规模变大时记忆混淆情况加重3.新文档加入时记忆力更新的耗费很大因为当新的文档到来时文档聚簇树需要被更新模型也需要被再次训练来记住所有的文档。
本论文中作者提出生成式稠密检索范式从粗到细粒度的匹配路径上利用稠密检索和生成式检索两种方式进行优劣互补。
具体来说首先使用有限的记忆容量实现了查询到相关的文档簇的匹配再将不用记忆力的稠密检索引入了细粒度的簇内匹配即从簇到相关的文档。
二、相关工作 2.1 稠密检索
使用二编码器结构来提取查询和文档的稠密语义表示使用相似度如欧氏距离来计算这些特征之间的相似度排序后给出匹配的结果。
但是存在一些问题。比如大多数查询和多个文档在语义空间上很接近但是这些文档彼此在语义空间上不一定很接近因此使用一个查询通过匹配机制将所有的相关的文档进行召回是很困难的。
2.2 生成式检索
使用自回归模型结合K近邻算法来产生带有层次信息的识别符存在简介中提出的问题在博主的上一篇博客中详细介绍过。
三、实验方法
3.1 两种机制的应用顺序 在查询到簇的匹配中使用NCI即记忆机制可以减少错误但是当文档变多时注意机制性能下降会更加明显而使用AR2即稠密检索模型可以在文档变多时处理细粒度的特征。
3.2 簇间匹配
先使用查询编码器将查询编码成query embedding取cls token作为查询的表示。将这个概率作为簇间的映射得分 对于每一个查询和相关文档的训练数据对以这种形式的损失函数优化模型 3.3 簇内匹配
文档id使用文档编码器产生应用稠密检索的方法计算查询和文档间的内积作为相似度。
使用如下的负对数似然损失函数使得模型倾向于增加正确类别的概率
总的映射得分为
3.4 建立内存友好的簇id
满足两种特性1含有和查询相关文档的多个簇的标识符共享前缀2簇的数量被内存决定而不是文档的数量以此防止内存溢出
1通过微调ERNIE2.0-base而不是BERT作为文档编码器然后计算在验证集上的每个查询的相关文档的簇id的平均前缀重叠来衡量对1特性的实现程度。
2动态调整c也就是簇中的文档的数量来保持簇的数量不变。
3.5 簇适应负采样
GDR在候选簇中检索相关文档而不是整个文档库因此需要更多簇内的辨别信号
故此选取簇内以及批次内的样本集调整了簇内损失函数 3.6 训练和推理
选取一些这俩阶段中比较有趣的方法
采用DocT5Query方法对文档产生假标签做数据增强。
推理阶段
先产生k个相关的簇ids接着在每个相关的簇中检索前m个相关的文档然后用这个总得分计算后取top-k 局限性
1.推理速度慢因此应用于实时检索系统困难
2.前k个准确率指标落后猜测为部分查询编码器的能力被用来执行簇内匹配任务影响了簇内匹配的准确率。
3.训练慢未在大型的文档库中进行实验