Poly-encoder

  • Poly-encoder
  • Bi-encoder
  • cross-encoder
  • poly-encoder

Poly-encoder

论文《Poly-encoders: Transformer Architectures and Pre-training Strategies for Fast and Accurate Multi-sentence Scoring》开放了一种新的transformer体系结构,即Poly-encoder。
Poly-encoder学习全局而不是token级别的self-attention特征,同时解决了Bi-encoder匹配质量低的问题以及 ARC-II、BERT等交互式的cross-encoder匹配速度慢的问题。

Bi-encoder


如图,Bi-encoder采用两个相同的网络(如BERT)得出两个句子各自的特征向量,再进行相似度计算。

  1. 计算context向量:ycxt=red(T1(CTXT))y_{cxt}=red(T_1(CTXT))ycxt​=red(T1​(CTXT))

  2. 计算candidate向量:ycand=red(T1(CAND))y_{cand}=red(T_1(CAND))ycand​=red(T1​(CAND))
    red()的三种计算方法:

    ·List item取第一个位置(CLS)的向量
    ·求所有位置向量的平均
    · 求前n个位置向量的平均

  3. 相似度得分:dot-product(点积),即s{CTXT,CAND}=ycxt⋅ycandy_{cxt} ·y_{cand}ycxt​⋅ycand​

  4. 训练,cross-entopy(交叉熵)
    总体来讲,利用2个网络分别将context和candidate编码成向量,最后再通过一个相似性判别函数(如cosine、dot-product)计算两个向量间的相似度。
    Bi-encoder的特点是context和candidate编码成向量的过程独立(编码过程不交互),最后才开始交互,速度快但匹配质量不高。
    因此,这种独立编码的方式可以使我们离线计算出所有candidates的向量,线上服务时,只需要计算query的向量再进行相似度匹配,匹配速度快但质量不能达到最佳。

cross-encoder

如图:

  1. 计算context和candidate的向量yctxt,cand=h1=first(T(ctxt,cand))y_{ctxt,cand}=h_1=first(T(ctxt,cand))yctxt,cand​=h1​=first(T(ctxt,cand))
  2. 相似度得分:s(ctxt,cand)=yctxt,candWs(ctxt,cand)=y_{ctxt,cand}Ws(ctxt,cand)=yctxt,cand​W
  3. 训练:cross-entopy(交叉熵)。
    cross-encoder的特点是context和candidate输入至同意网络结构中,编码过程完全交互(即context和candidate时时刻刻应相互交互),但匹配速度慢,同时无法离线计算出所有candidates的表征向量,没处理一个context必须与所有candidates进行交互,模型非常耗时。

poly-encoder

  1. 计算context向量
    用多个向量表示context,(简化版:直接去前m个向量)
  2. 利用一个独立的encoder编码出candidate的表示特征。
  3. 二者交互,
  4. 相似度得分:dot-product。

参考1
参考2

Poly-encoder相关推荐

  1. 他山之石 | 丁香园 医疗领域图谱的构建与应用

    作者 | 付子玉 编辑 | DataFun 大家好,这里是NewBeeNLP.今天分享丁香园nlp组联合华师大团队发表的文章SMedBERT,在医疗垂直领域下将知识图谱的医学实体和实体的结构化信息引入 ...

  2. 图谱实战 | 丁香园医疗领域图谱的构建与应用

    分享嘉宾:付子玉 观澜网络 算法工程师 编辑整理:孙佩霞 中国电信研究院 出品平台:DataFunTalk 导读:丁香园大数据组旨在为用户提供更优质的内容与服务,使用知识/概念图谱.预训练模型挖掘更深 ...

  3. 付子玉:丁香园医疗领域图谱的构建与应用

    本文约4500字,建议阅读10+分钟 本文介绍了丁香园nlp组联合华师大团队发表的文章SMedBERT,并介绍了丁香园在业务场景下的一些应用. 分享嘉宾:付子玉 观澜网络 算法工程师 编辑整理:孙佩霞 ...

  4. Poly-encoders(2020 ICLR)

    Poly-encoders: architectures and pre-training strategies for fast and accurate multi-sentence scorin ...

  5. 面向开放域密集检索多视图文档表示学习,微软提出​MVR,性能SOTA!(ACL 2022)...

    关注公众号,发现CV技术之美 本文分享 ACL 2022 论文『Multi-View Document Representation Learning for Open-Domain Dense Re ...

  6. Dissecting BERT Part 1: The Encoder 解析BERT解码器(transformer)

    原文:https://medium.com/dissecting-bert/dissecting-bert-part-1-d3c3d495cdb3 A meaningful representatio ...

  7. H.265 HD 和H.265 4K Video Encoder IP Core

    H.265 HD 和H.265 4K Video Encoder IP Core H.265 HD Video Encoder IP Core(H.265 HD Video/Audio Encoder ...

  8. Blender从头到尾创建低多边形角色学习教程 Low Poly Characters – Blender Bitesize Course

    从头到尾创建低多边形角色. 你会学到: Blender界面的基础. 基本建模技术. 如何遵循字符引用? 如何创造和塑造自己的角色(不同风格.发型和服装). 纹理字符. 索具和动画介绍(用于你的游戏引擎 ...

  9. gram矩阵_ZEN-基于N-gram的中文Encoder

    相关背景 深度学习的encoder都是基于大规模的未标注数据,但是这些encoder是否完整利用了语料的所有信息,这是未被证实的.类似于Bert的这些预训练模型使用的是文本的最小单位--字.但是中文的 ...

  10. 亚马逊推出VR/AR开发平台Sumerian,功能强大不同于Poly

    (52VR对原译文进行了润饰和编辑) (文末有同类软件的介绍链接哟,方便大家比对选择.)  亚马逊推出了一个名为"Sumerian"平台,它提供的工具和资源可以允许任何人轻松创建和 ...

最新文章

  1. 【推荐】Flex与Flash组合开发最佳实践__Combain FlexFlash
  2. c#中的long类型示例_C#中带示例的带符号字节数组
  3. 梦如果实现以后。。。。。。
  4. 步进电机工作原理 驱动 _28BYJ-48 以及程序实例下载
  5. 用python写一个简单的贪吃蛇游戏(附代码)
  6. Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 文件的关系
  7. linux xps文件,XPS文件擴展名: 它是什麼以及如何打開它?
  8. 数据结构之树的操作大全
  9. DOTCPP:有关1148心得
  10. xp访问win10计算机名,xp连接win10共享打印机提示凭证不足怎么办
  11. 普通人怎样投资区块链
  12. 深度学习中的优化函数optimizer SGD Adam AdaGrad RMSProp
  13. Thinkphp5威客任务平台网站源码
  14. matlab 水波模拟 代码,matlab - 在Matlab中模拟一艘在水波中航行的船 - SO中文参考 - www.soinside.com...
  15. 2020年程序员技能展望:平均年薪5.4万美元,JavaScript与Python最受欢迎
  16. 程序员的吐槽大会,动机何在?
  17. BCA签约艺术家大悲宇宙NFT作品在苏富比拍卖以14万美元价格成交
  18. 汇编一日一学(12)--求最小偶数
  19. 小型机 PC服务器 性能,大型机、小型机、x86服务器的区别
  20. 微信卖生鲜,他们是怎么做到的

热门文章

  1. MOS管的各项参数解释
  2. Android开发读取通讯录信息
  3. mysql mysqldataadapter_MySql中MySqlDataAdapter类的用法
  4. MATLAB编程-弹簧振动动画
  5. 《基于数字信号处理的相干光通信技术》读书笔记chapter II——单载波先进调制格式
  6. 如何设置亚马逊code促销活动?
  7. SpringBoot - OAuth2第三方登录之新浪微博登录
  8. 从精英云到普惠云,青云QingCloud的“性格”变了
  9. MySQL讲义第 40 讲——select 查询之函数(3):数学函数
  10. 极客领航 C/C++|MCU|软件|物联网|嵌入式|Linux|辅助设计|飞行器