DPR和REALM论文笔记

article/2025/10/11 10:06:12

DPR(2020 EMNLP)

该论文的模型主要是一个双塔结构如下所示:

IMG_0456

整个模型的训练数据D包含m个例子,其中每个例子由一个问题 q i q_i qi、一个相关段落 p i + p_i^+ pi+、n个不相关段落 p i , 1 − , ⋯ , p i , n − p_{i,1}^-,\cdots,p_{i,n}^- pi,1,,pi,n
D = { ⟨ q i , p i + , p i , 1 − , ⋯ , p i , n − ⟩ } i = 1 m \mathcal{D}=\left\{\left\langle q_i, p_i^{+}, p_{i, 1}^{-}, \cdots, p_{i, n}^{-}\right\rangle\right\}_{i=1}^m D={qi,pi+,pi,1,,pi,n}i=1m
loss函数:

image-20220926134007803

负样本的选择方式:

  1. Random:从语料库中随机抽取一个passage,基本上都是跟当前question无关的;
  2. BM25:使用基于BM25的文本检索方式在语料库中检索跟question最相关的文本, 但要求不包含答案;
  3. Gold: 在训练样本中, 其他样本中的positive passage。即对于训练样本 i i i j , q i j, q_i j,qi 对应的正样本 是 p i + p_i^{+} pi+, 而这个 p i + p_i^{+} pi+可以作为 q j q_j qj 的负样本。

In-batch negatives

一个批次的大小为B,则Q和P就是一个大小 B × d B\times d B×d的矩阵, S = Q P T S=QP^T S=QPT则是一个大小为 B × B B\times B B×B的矩阵,其中第i行表示 q i q_i qi和B个段落的相似度,其中 p i p_i pi q i q_i qi的相关段落,因此剩下的 B − 1 B-1 B1个段落就可以当做问题 q i q_i qi的负样本段落。

REALM(2020 ICML)

image-20220927100941342

knowledge Retriever:
p ( z ∣ x ) = exp ⁡ f ( x , z ) ∑ z ′ exp ⁡ f ( x , z ′ ) p(z \mid x)=\frac{\exp f(x, z)}{\sum_{z^{\prime}} \exp f\left(x, z^{\prime}\right)} p(zx)=zexpf(x,z)expf(x,z)

f ( x , z ) = Embed  input  ( x ) ⊤ Embed  doc  ( z ) f(x, z)=\text { Embed }_{\text {input }}(x)^{\top} \text { Embed }_{\text {doc }}(z) f(x,z)= Embed input (x) Embed doc (z)

image-20220927121814792

然后经过一个线性层降维(作者在google ai发布的blog里面显示维度降到了128):

image-20220927121919442 image-20221016164943941

Knowledge-Augmented Encoder:
p ( y ∣ z , x ) ∝ ∑ s ∈ S ( z , y ) exp ⁡ ( MLP ⁡ ( [ h S T A R T ( s ) ; h E N D ( s ) ] ) ) h S T A R T ( s ) = BERT ⁡ S T A R T ( s ) ( join  B E R T ( x , z b o d y ) ) h E N D ( s ) = BERT ⁡ E N D ( s ) ( join  B E R T ( x , z b o d y ) ) \begin{aligned} p(y \mid z, x) & \propto \sum_{s \in S(z, y)} \exp \left(\operatorname{MLP}\left(\left[h_{\mathrm{START}(\mathrm{s})} ; h_{\mathrm{END}(\mathrm{s})}\right]\right)\right) \\ h_{\mathrm{START}(\mathbf{s})} &=\operatorname{BERT}_{\mathrm{START}(\mathbf{s})}\left(\text { join }_{\mathrm{BERT}}\left(x, z_{\mathrm{body}}\right)\right) \\ h_{\mathrm{END}(\mathrm{s})} &=\operatorname{BERT}_{\mathrm{END}(\mathrm{s})}\left(\text { join }_{\mathrm{BERT}}\left(x, z_{\mathrm{body}}\right)\right) \end{aligned} p(yz,x)hSTART(s)hEND(s)sS(z,y)exp(MLP([hSTART(s);hEND(s)]))=BERTSTART(s)( join BERT(x,zbody))=BERTEND(s)( join BERT(x,zbody))

Inverse Cloze Task(ICT)
P I C T ( b ∣ q ) = exp ⁡ ( S retr  ( b , q ) ) ∑ b ′ ∈ ЄATCH  exp ⁡ ( S retr  ( b ′ , q ) ) P_{\mathrm{ICT}}(b \mid q)=\frac{\exp \left(S_{\text {retr }}(b, q)\right)}{\sum_{b^{\prime} \in \text { ЄATCH }} \exp \left(S_{\text {retr }}\left(b^{\prime}, q\right)\right)} PICT(bq)=b ЄATCH exp(Sretr (b,q))exp(Sretr (b,q))
公式(1)两边log求导的推导过程如下:

IMG_0457

IMG_0458


http://chatgpt.dhexx.cn/article/WXZqZC4h.shtml

相关文章

dpr单位

1px dpr^2 * dp 这个是不是有问题? 结尾的总结: 1px dpr^2 * dp 这个是不是有问题? 以下这个等式不成立吧: 320*568 px 2^2 * 1136*640 1px dpr ^2 * dp 是平面上的像素换算,但实际开发当中使用更多的是长度上的换算&#x…

图文并茂带你弄懂物理分辨率、分辨率、物理像素、逻辑像素、dpr、ppi

目录 物理分辨率和分辨率 什么是物理像素 什么是CSS像素 什么是设备像素比 什么是标清屏和高清屏 缩放 什么是PPI(DPI) 物理分辨率和分辨率 首先得知道物理分辨率和分辨率是2个概念,可别混淆。 物理分辨率(标准分辨率&am…

DPSR

testsets/real_imgs/LR 图片chip.pngchip_kernel.pngcolour.pngcolour_kernel.pngfrog.png尺寸109x557x7668x45599x99500x375 testsets/real_imgs/x4_dpsr 图片chip.pngchip_x2.pngchip_x3.pngchip_x4.png尺寸109x55218x110327x165436x220 testsets/Set5/GT 图片:…

说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别?

一、背景 在css中我们通常使用px作为单位,在PC浏览器中css的1个像素都是对应着电脑屏幕的1个物理像素 这会造成一种错觉,我们会认为css中的像素就是设备的物理像素 但实际情况却并非如此,css中的像素只是一个抽象的单位,在不同…

15-移动端布局基础——DPI、PPI、物理像素、DPR、viewportcss像素、DPR

文章目录 1. DPI 和 PPI 是什么?一、物理像素和css像素三、设备像素比DPR四、viewport五、viewport三理论:布局视口、视觉视口、理想视口五、利用meta标签对viewport进行控制 1. DPI 和 PPI 是什么? DPI ---- 最初用于衡量打印物上每英寸的点…

【CSS】聊一聊CSS像素、设备像素、设备独立像素、dpr、ppi 之间的区别

前言 大家好,我是HoMeTown,顺着计量单位,想继续聊一下CSS像素、设备像素、设备独立像素、dpr、ppi 之间的区别。 众所周知,在CSS中我们通常是使用px作为单位的场景多一点,在PC端,1个像素恰好对应电脑屏幕…

移动web开发之像素和DPR详解

前话:   像素在web开发中几乎天天用到,但到底什么是像素,移动端和桌面端的像素有区别吗,缩放对像素有影响吗,视网膜屏幕和像素有什么关系?关于这些问题,可能就不清楚了。本文将介绍关于像素的…

DPR

Dense Passage Retrieval for Open-Domain Question Answering https://github.com/facebookresearch/DPR摘要 开放域问题回答依赖于有效的段落检索来选择候选上下文,其中传统的稀疏向量空间模型,如TF-IDF或BM25,是事实上的方法。作者表明检…

如何理解dpr

首先如何在设备上实现1px边框: 物理像素: 在视网膜屏下面, 显示的实际的像素颗粒,iphone6分辨率7501334px 逻辑像素: 可以认为成就是设备的宽度,css设置的像素,iphone6逻辑像素7501334px dpr 物理像素(设备像素) /逻辑像素(设备独立像素) 所…

基于C99标准的C语言coding技巧

文章目录 Union宏定义数组和柔性数组其它 Union 共用体中有int型和char[10]这两个成员&#xff0c;代码如下&#xff1a; #include <stdio.h> union st { int x; char c[10]; }s;int main(void) { s.x50; s.c"abcdef"; printf("%s",s.c); return 0…

C语言的三套标准:C89、C99和C11

我们今天使用的 Windows、Linux、Mac OS 等操作系统都是由一种叫做 Unix 的系统演化而来。Unix 作为80年代主流的操作系统&#xff0c;是整个软件工业的基础&#xff0c;是现代操作系统的开山鼻祖&#xff0c;C语言就是为 Unix 而生的。 Unix 和C语言的开发者是同一人&#xf…

ANSI C、C89、C99和C51的区别

ANSI C、C89、C99和C51的区别 什么是ANSI C、ISO C、C89、C90标准&#xff1f; 随着C语言使用得越来越广泛&#xff0c;出现了许多新问题&#xff0c;人们日益强烈地要求对C语言进行标准化。1983年&#xff0c;美国国家标准协会&#xff08;ANSI&#xff09;组成了一个委员会…

VS不支持C99标准变长数组的概念

#《VS不支持C99标准变长数组的概念》 文章目录 1.visual studio2022**2.GCC 1.为什么会报错&#xff0c;而gcc编译器不会&#xff1f; *案例 2.vs和gcc的区别 3.总结 案例 1.在第一张图中我们可以看到inta[n]这个地方在报错而且提示表达式的计算结果不是常数&#xff0c;意思就…

c89与c99区别

注&#xff1a; GCC支持C99, 通过 --stdc99 命令行参数开启&#xff0c;如&#xff1a;    代码: gcc --stdc99 test.c --------------------------------------------------------------------------------------------------      1、增加restrict指针   C99中增加了…

C89、C99和C11标准之间的差异

收集了大部分差异特性&#xff0c;不断完善和补充&#xff0c;有遗漏的地方欢迎留言补正。 一、C99针对C89的改变 1.增加了restrict指针 通过restrict修饰指针&#xff0c;可以确保两个指针不能指向同样的内存空间。 如memcpy函数在C99标准下的定义为 void *memcpy(void *rest…

C语言标准——C89、C99、C11、C17、C2x ...

C的标准化过程 C语言自诞生到现在&#xff0c;期间经历了多次标准化过程&#xff0c;主要分成以下几个阶段&#xff1a; Traditional C 此时的 C 语言还没有标准化&#xff0c;来自“C Programming Language, First Edition, by Brian W. Kernighan, Dennis M. Ritchie. Pre…

C89和C99标准有什么不同?

关注星标公众号&#xff0c;不错过精彩内容 编排 | strongerHuang 微信公众号 | 嵌入式专栏 C语言是一门经典的编程语言&#xff0c;经过这么多年&#xff0c;依然是一门很热的编程语言。 在TIOBE 编程语言排行榜中&#xff0c;这几年C语言基本排名第一、第二&#xff0c;可以说…

C语言规范标准-C99(中文版) 完整版正式发布

一直有一个心愿&#xff0c;想翻译<C语言规范标准-C99>,以使更多采用C语言作为开发语言的中国开发者能用自己的母语去阅读这个重要的文档。 特别对于刚开始使用C语言进行开发工作的程序员&#xff0c;去阅读英文版本的原版会感到望而生畏&#xff0c;不自觉的就放弃了。但…

faster-rcnn 之 RPN网络的结构解析以及RPN代码详解

【首先】&#xff1a;大家应该要了解卷积神经网络的连接方式&#xff0c;卷积核的维度&#xff0c;反向传播时是如何灵活的插入一层&#xff1b;这里我推荐一份资料&#xff0c;真是写的非常清晰&#xff0c;就是MatConvet的用户手册&#xff0c;这个框架底层借用的是caffe的算…

RPN定位模块细节回顾

一、主干网络与FPN多尺度特征提取 将一张高宽为H*W的图像输入深度网络&#xff0c;经过主干网络与FPN结构后输出不同级别的特定分辨率特征。 P2&#xff1a;torch.size(1&#xff0c;256&#xff0c;H/4&#xff0c; W/4) P3&#xff1a;torch.size(1&#xff0c;256&#…