精华内容
下载资源
问答
  • DPR

    2021-01-12 17:08:42
    https://github.com/facebookresearch/DPR 摘要 开放域问题回答依赖于有效的段落检索来选择候选上下文,其中传统的稀疏向量空间模型,如TF-IDF或BM25,是事实上的方法。作者表明检索实际上可以单独使用密集表示来...

    在这里插入图片描述

    Dense Passage Retrieval for Open-Domain Question Answering
    https://github.com/facebookresearch/DPR
    

    摘要

    开放域问题回答依赖于有效的段落检索来选择候选上下文,其中传统的稀疏向量空间模型,如TF-IDF或BM25,是事实上的方法。作者表明检索实际上可以单独使用密集表示来实现,其中embedding是通过简单的dual-encoder framework从少量的questions 和 passages 中学习的。评估时,前20个段落检索准确性方面优于BM25系统9%-19%。

    介绍

    将open-domain QA 转换为机器阅读(一个retriever和一个reader)是一个非常合理的策略,但是这么做往往会导致性能下降,所以需要改进retriever。
    以往的open-domain QA使用TF-IDF和BM25检索相关passages,这些方法无法匹配具有相同语义的上下文信息。dense(潜在语义编码)可以解决这个问题。
    但是,人们普遍认为,学习一个好的dense向量表示需要大量的问题和上下文的标记对。因此,在ORQA 出现之前,dense检索方法在open-domain QA方面从未表现出优于TF-IDF/BM25,ORQA提出了一个复杂的逆完形填空任务(ICT)目标,预测包含Mask句子的block,用于额外的预处理。然后使用成对的问题和答案对问题编码器和阅读器模型进行微调。尽管ORQA成功地证明了密集检索的性能优于BM25,在多个开放域上设置了新的最先进的结果,但是也有一些弱点:

    1. 首先,ICT的预训练需要大量的计算复杂度,并且尚不清楚完全一致的句子是否是目标函数中question的良好替代品。
    2. 其次,因为上下文编码器没有使用成对的问题和答案进行微调,所以相应的表示可能不是最佳的。

    在这篇文章中,作者提出了这样一个问题:**是否只使用成对的问题和段落(或答案)来训练一个更好的密集嵌入模型,而不需要额外的预处理?**通过利用现在标准的BERT预训练模型和dual-encoder framework,使用相对少量的问题和段落对开发正确的训练方案。

    DPR

    DPR使用一个dense encode : EEP_P((·)),它将任何文本passages映射到一个实值向量,并为将用于检索的所有MM个passages建立一个索引。
    run-time,另一个encoder :EEQ_Q((·))映射输入question为一个dd维的向量,然后根据相似度(doc 乘)检索前KK个passages.
    在这里插入图片描述

    Encoder

    encoder使用两个独立的BERT,取[CLS] token 作为输出(dd=768)

    Inference

    在推理过程中,将passages encoder EEP_P应用于所有passages,并使用FAISS (Jeff Johnson, Matthijs Douze, and Hervé Jégou. 2017.Billion-scale similarity search with GPUs. ArXiv,abs/1702.08734.)离线对它们进行索引。FAISS是一个非常高效的开源库,用于密集向量的相似性搜索和聚类,可以轻松应用于数十亿个向量。在运行时给定一个问题qq,导出它的嵌入vqv_q= EEQ_Q((qq)),并检索嵌入最接近vqv_q的前kk个passages。

    Training

    训练encoder,使点积相似度成为一个好的检索排序函数本质上是一个度量学习问题。目标是通过学习一个更好的嵌入函数来创建一个向量空间,使得相关的成对问题和段落比不相关的问题和段落具有更小的距离(即,更高的相似性)。
    训练数据(mm个例子):
    在这里插入图片描述
    包含一个正例子,nn个负例,Loss Function(negative log likelihood of the positive passage):
    在这里插入图片描述

    Positive and negative passages

    对于检索问题,通常情况下正面例子是显式可用的,而负面例子需要从一个非常大的库中选择。例如,与问题相关的段落可以在QA数据集中给出,或者可以使用Answer找到。集合中的所有其他段落,虽然没有明确指定,但默认情况下可以被视为负例。在实践中,如何选择负面的例子往往被忽视,但可能是学习高质量编码器的决定性因素,本文考虑三种采样方式

    1. Random:随机在corpus取样作为负例
    2. BM25:取不包含最佳匹配question的BM25检索的passages作为负例。
    3. Gold:取其他question的精确匹配passages作为当前question的负例。

    In-batch negatives

    假设在一个mini-batch中有BB个questions,每个question都与一个相关的passage相关联。设QQPP为一批总量为BB的questions和passages嵌入的(BB×dd)矩阵(dd是BERT [CLS] 位置的token向量,维度为dd),SS = QQPPT^T是(BB × BB)的相似度得分矩阵,其中每一行对应一个question,与BB个passages配对。这样,在每个batch中有效地训练B2B^2(qiq_ipjp_j)个questions/passages对。当ii = jj时,任何(qiq_ipjp_j)对都是正例,否则为负例。这将在每一batch中创建BB个训练实例,其中每个问题都有BB-11个负例。这样可以大大增加训练样本的数量。

    Experimental Setup

    Wikipedia Data Pre-processing

    使用2018年12月20日的英文维基百科转储作为回答问题的源文档。首先应用DrQA代码处理数据。这一步将删除半结构化数据,如表格、信息框、列表以及歧义消除页面。然后,将每篇文章分成多个不相交的100个单词的文本block(passsage)作为基本检索单元,最终得到21,015,324篇文章。每篇文章还附有文章来源的维基百科文章的标题以及[SSEEPP]标记。

    Question Answering Datasets

    Natural Questions (NQ)
    TriviaQA
    WebQuestions (WQ)
    CuratedTREC (TREC)
    SQuAD v1.1
    在这里插入图片描述
    Train中的两列表示数据集中的原始训练示例和过滤后用于训练DPR的实际question。

    Selection of positive passages

    因为在TREC、WQ和TriviaQA中只提供成对的问题和答案,所以作者使用BM25中包含答案的最高等级的段落作为psoitive段落。如果检索到的前100篇文章都没有答案,则该问题将被丢弃。对于SQuAD v1.1和NQ,由于原始段落的分割和处理不同于我们的候选段落池,我们将每个黄金段落与候选段落池中的相应段落进行匹配和替换。当匹配因维基百科版本或预处理不同而失败时,我们会丢弃这些问题。上表显示了所有数据集的训练/开发/测试集中的问题数量以及用于训练检索器的实际问题。

    Experiments: Passage Retrieval

    实验中使用的DPR模型是使用in-batch negative setting训练的,批大小为128,每个question增加一个BM25的negative通道。为大数据集(NQ、TriviaQA、SQuAD v1.1)训练了40个epochs的questions和passages encoder ,为小数据集(TREC、WQ)训练了100个纪元的questions和passages encoder,使用Adam的学习率为10^-5^5,linear scheduling with warm-up和dropout为0.1。

    虽然让检索器适应每个数据集是很好的,但也希望获得一个在所有情况下都能很好工作的检索器。为此,作者通过组合来自所有数据集(不包括SQuAD v1.1)的训练数据来训练多数据集encoder。除了DPR还展示了BM25(参数b = 0.4和k1= 0.9)、BM25+DPR的结果,使用它们的分数的线性组合作为新的排序函数。具体来说,分别获得基于BM25和DPR检索的前2000篇文章,并使用BM25((qq,,pp)) + λλ sim((qq,,pp)作为排序函数对它们的并集进行了rerank。其中λ = 1.1。Multi表示数据集融合后的结果

    Ablation Study on Model Training

    实验用1000个例子训练的DPR已经超过了BM25:在这里插入图片描述

    In-batch negative training

    在这里插入图片描述
    N:负例的数量
    IB:in-batch training.

    Experiments: Question Answering

    bert(base, uncased)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    表示第ii个passage,L是passage的最大长度。
    在这里插入图片描述
    是可学习的参数。
    在training期间,从检索系统(BM25或DPR)返回的前100篇文章中为每个问题抽取一篇正面文章和mm-11篇负面文章。m是查参数为24,目标函数为最大化所有passages中正确答案跨度的对数似然

    结果

    在这里插入图片描述

    展开全文
  • dpr

    2018-04-20 17:06:46
    dpr:设备像素比 dpr = 物理像素/独立像素标注尺寸的时候是物理像素,代码中是独立像素,根据不同设备的设备像素比,编写不同的样式代码
    dpr:设备像素比 
    dpr = 物理像素/独立像素
    标注尺寸的时候是物理像素,代码中是独立像素,根据不同设备的设备像素比,编写不同的样式代码
    展开全文
  • DPR+BM25

    2020-12-26 07:36:57
    re codes for DPR + BM25 as described in your paper: <p>"In addition to DPR, we also present the results of BM25, the traditional retrieval method9 and BM25+DPR, using a linear combination ...
  • Fine tune DPR

    2020-12-26 21:42:49
    <div><p>I have around 5000 Question and passage pairs with me and would like to fine tune DPR on my data. I didn't find any script to convert QA pairs to format which DPR uses for training (with ...
  • adds dpr transformation

    2021-01-10 08:09:40
    ve tried to implement the DPR transformation as well as support this in client hints. <p>The DPR factor can be a float number between 1 and 8 and will multiply the resulting image sizes by this ...
  • dpr单位

    千次阅读 2016-03-17 15:16:07
    1px = dpr^2 * dp 这个是不是有问题? 结尾的总结: 1px = dpr^2 * dp  这个是不是有问题? 以下这个等式不成立吧: 320*568 px = 2^2 * 1136*640 1px = dpr ^2 * dp 是平面上的像素换算,但实际开发...

    1px = dpr^2 * dp 这个是不是有问题?

    结尾的总结:

    1px = dpr^2 * dp 
    这个是不是有问题?
    以下这个等式不成立吧:
    320*568 px = 2^2  * 1136*640

    1px = dpr ^2 * dp 是平面上的像素换算,但实际开发当中使用更多的是长度上的换算: 1px = dpr * dp。

    所以320px = 640dp 注意这时候320px 是长度不是平面,568px同理 



    这个表达的是在CSS里的1px等于多少个设备上的像素,对于iphone5,他的drp=2,那会放大2倍,所以1个csspx会用1*2的平方即4个设备像素来展示(记住X,Y两个方向都是放大2倍的)






    用友iUAP马太航:Html 5 屏幕适配解决方案

      摘 要:开发者在开发HTML5应用时必须考虑所有屏幕尺寸和分辨率类型的应用场景,为移动应用做屏幕尺寸和分辨率的适配工作。

      随着移动和HTML5的持续火热,移动市场涌现出了大量基于HTML5开发的移动APP。由于移动市场的高速发展,移动设备的快速更新,使得市场上出现了种类繁多具有各种屏幕尺寸和分辨率的移动设备,开发者在开发HTML5应用时就必须考虑所有屏幕尺寸和分辨率类型的应用场景,为移动应用做屏幕尺寸和分辨率的适配工作。

      想要为移动应用做屏幕适配首先要了解一些概念。物理像素,即屏幕上的最小显示单元;设备独立像素,即由程序使用的虚拟像素(如CSS中的px);设备像素比,设备像素比 = 物理像素 / 设备独立像素,定义了物理像素与设备独立像素间的对应关系,简称dpr(device pixel ratio)。在不同屏幕上,CSS像素呈现的大小(物理尺寸)是一致的,不同的是一个CSS像素对应的物理像素个数是不同的。举例来讲,普通屏幕的每个像素点与CSS中定义的像素点大小相同,但是苹果的retina屏幕一个CSS像素对应4个物理像素。因此,在开发应用时就需要对不同屏幕(高清和非高清)进行区分处理。就一张普通的图片(PNG、JPG、GIF等)来讲,其最小的数据单元称为位图像素。理论上,一个位图像素对应一个物理像素,这样图片才能完美的清晰展示,但是对于高清屏幕(Retina)就会出现位图像素点不够的情况,这样会导致图片模糊。遇到这种情况,通常要准备两张图片,如一张200×300(CSS px),并提供一张400×600的高清图片,这样位像素点就是原来的4倍,在retina屏幕下正好与其物理像素点一一对应,图片自然就清晰了。当然,具体要加载那种图片是有dpr来判断的,在JavaScript中,可以通过window.devicePixelRatio获取到当前设备的dpr,在css中,可以通过-webkit-device-pixel-ratio,-webkit-min-device-pixel-ratio和 -webkit-max-device-pixel-ratio进行媒体查询,对不同dpr的设备,做一些样式适配。与图片问题类似,高清屏幕还存在一种“失真”的问题,即border:1px问题。对于border:1px在所有屏幕中的物理大小其实是相同的(下图灰色区),但这怎能体现出高清呢?对于retina屏幕来说,一个 CSS像素由4个物理像素组成,因此其最细的线条并不是1px,而是0.5px,如下图红色框。而一般情况下设计师想要的retina下border: 1px,其实就是1物理像素宽,这种更细粒度的划分也带来的视觉上的高清。

      

        当然,除了高清上的适配,还存在着屏幕大小上的适配,即页面布局问题。目前解决该问题最好用的方案是使用相对单位(rem),主要工作就是针对不同手机屏幕尺寸和dpr动态的改变根节点html的font-size大小(基准值)。rem=document.documentElement.clientWidth * dpr / 10,乘以dpr是因为页面有可能为了实现1px border缩放1/dpr倍(如果没有,dpr=1),除以10是为了取整,方便计算。可以通过JavaScript来实现,使用公式计算出基准值rem,然后写入样式,代码如下:

      var dpr, rem, scale;

      var docEl = document.documentElement;

      var fontEl = document.createElement('style');

      var metaEl = document.querySelector('meta[name="viewport"]');

      scale = 1 / dpr;

      dpr = win.devicePixelRatio || 1;

      rem = docEl.clientWidth * dpr / 10;

      // 设置viewport,进行缩放,达到高清效果

      metaEl.setAttribute('content', 'width=' + dpr * docEl.clientWidth + ',initial-scale=' + scale + ',maximum-scale=' + scale + ', minimum-scale=' + scale + ',user-scalable=no');

      // 设置data-dpr属性,留作的css hack之用

      docEl.setAttribute('data-dpr', dpr);

      // 动态写入样式

      docEl.firstElementChild.appendChild(fontEl);

      fontEl.innerHTML = 'html{font-size:' + rem + 'px!important;}';

      // 给js调用的,某一dpr下rem和px之间的转换函数

      window.rem2px = function(v) {

      v = parseFloat(v);

      return v * rem;

      };

      window.px2rem: function(v) {

      v = parseFloat(v);

      return v / rem;

      };

      window.dpr = dpr;

      window.rem = rem;

      那么如何在CSS编码中实现真实布局呢?举例来讲,一个针对iPhone6(rem=375 * 2 / 10 = 75)的高清视觉稿750×1334px,采用上面JS代码方案。如果有一块750×300px的div,用less这样写:

      // 例如: .px2rem(height, 80);rem在iphone6时为75

      .px2rem(@name, @px , @rem){

      @{name}: @px / @rem * 1rem;

      }

      .px2rem(width, 750);

      .px2rem(height, 300);

      转化成HTML就变成了10×4rem,再经过0.5的缩放,在屏幕中的实际现实的是375×150px,这样就动态的生成了div的大小完成了适配过程。

      HTML 5已成为移动发展的趋势,很好的解决屏幕适配问题只是其众多亮点之一,但是它也存在着性能不如原生应用之类的问题,相信随着其不断发展完善,HTML 5未来一定会成为前端的新标准。


    展开全文
  • I have tried to embed the same document using both DPR repository (as described <a href="https://github.com/facebookresearch/DPR#retriever-inference">here) and DensePassageRetriever. <p>For both the ...
  • m working with enabling client-hints DPR support since it is now available (although only by flag) in chrome. See https://plus.google.com/app/basic/stream/z12atluq5kz3jbgds23cf3qbtm3bir1r404</p> <p>...
  • 移动端适配dpr

    千次阅读 2019-02-09 22:19:24
    以下都以iPhone6来说明 ... var dpr = window.devicePixelRatio; var docEle = document.documentElement; var scale = 1 / dpr ; document.write(&amp;amp;quot;&amp;amp;amp;lt;meta name=viewp...

    1. 移动端适配的代码(设计稿iPhone6)如下:

    (function (doc,win) {
        var dpr = win.devicePixelRatio,
            scale = 1 / dpr;
        doc.write("<meta name=viewport content=width=device-width,initial-scale="+scale+",minimum-scale="+scale+",maximum-scale="+scale+",user-scalable=no>");
    
        var fn = function () {
            var deviceWidth =  doc.documentElement.clientWidth; // 获取的是物理像素,设备横向分辨率
            // 移动设备的横向逻辑像素超过640(这时候物理像素大于1280),可以去访问pc端了。
            if (deviceWidth > 1280) { // 保持font-size值不变。
                deviceWidth = 1280;
            }
            doc.documentElement.style.fontSize = deviceWidth / 7.5 + 'px';
        }
        window.addEventListener('orientationchange'in win ? 'orientationchange' : 'resize', fn ,false);
        doc.addEventListener('DOMContentLoaded',fn,false);
    
    })(document,window)
    

    2.window.devicePixelRatio

    window.devicePixelRatio获取的是设备物理像素和独立像素的比。缩放比用1/dpr可以解决1px边框在移动端屏幕上显示“粗”的问题,以屏幕物理像素来显示这1px的边框。

    3.屏幕分辨率

    有一点要明确,谷歌浏览器模拟调试移动端看到的iPhone6的屏幕宽度为375,指的是css像素(设备独立像素或者逻辑像素),而750px指的是手机上的真实存在的物理像素,例如,iPhnoe6屏幕物理像素点750 * 1334。这里也就是手机系统设置中的屏幕分辨率。

    4.document.documentElement.clientWidth

    document.documentElement.clientWidth获取的是移动设备的layout viewport(布局视口宽度),也是网页的宽度。实际上也是设备的横向物理像素。

    5.理想视口

    理想视口怎么得到?width=device-width,这是将layout viewport(布局视口)宽度设置为设备屏幕宽度,这句就得到了理想视口。

    6.若屏幕分辨率过大,像平板这种,如何处理呢?

    • 我的处理是设置一个屏幕阈值,当屏幕物理像素(document.documentElement.clientWidth)超过某个值时,页面便不再等比变化进行适配。js如下:
      在这里插入图片描述
    • 这样处理,势必会导致视口区域留白。因此,我会将页面居中显示,然后,背景色为黑色。这样显示稍微好点。如图:
      在这里插入图片描述
      css样式为:
    html{
        width: 100%;
        background-color: #000;
    }
    body{
        width: 7.5rem;
        margin: 0 auto;
        background: #fff;
    }
    
    展开全文
  • 移动端DPR和REM

    2019-10-25 11:07:44
    移动端布局需要解决的问题 单位问题:因为不同的设备具有不同的就要有...对于不同的设备,DPR也是不一样的,那么什么才是区别DPR大小的因素呢? 答案就是设计图,设计图的大小会导致DPR为2,3之类的,也就是我们常...
  • 前端 - DPR

    2019-10-10 21:52:32
    参考博客:(全解析)屏幕尺寸,分辨率,像素,PPI之间到底什么关系? 1.设备物理像素:指的是手机屏幕上横向(或纵向)上共有多少个像素...2.DPR(Device Pixel Ratio):设备像素比,指的是设备一逻辑像素点内能...
  • 关于dpr的理解

    千次阅读 2019-03-18 10:44:44
    关于dpr的理解 h5移动端设备像素比dpr介绍 做手机端项目,不可避免要寻找一个手机端页面与手机屏幕适配最佳方案。在这之前,我觉得还是要去理解一下dpr(设备像素比)。 我们还要了解一些与dpr相关的概念: (1)...
  • HTML的dpr

    千次阅读 2016-12-27 16:17:40
    只是为了自己以后查找方便,看不懂勿...dpr = window.devicePixelRatio(js可以拿到) css定义 psd转换rem单位 rem = px / 基准值 基准值 = 手机宽高 * dpr / 10 乘以dpr是因为页面有可能缩放 除以10是为了取整
  • DPR-1020说明书.pdf

    2019-12-04 21:54:38
    D-link DPr1020说明书 dlink1020 发行与2010年 是一款usbUSB接口多功能打印服务器
  • flexible默认会查找name=“viewport”或者name=“flexible”的meta标签,当默认自己设定了viewport,initial-scale=“1”,等等之后,相当于默认设置了dpr=1,或者name="flexible” 下设置默认的 initial-dpr=1等...
  • dpr: sql errors

    2020-12-01 17:16:20
    <div><p>v1.10-dpr-6-g3e4b685 <p>Go to Agent Panel -> Dashboard [SELECT T1.name, COUNT()-COUNT(NULLIF(A1.state, "created")) AS Opened, COUNT()-COUNT(NULLIF(A1.state, "assigned")) ...
  • <div><p>Hi! Does the repo include code for reproducing Table 2 ("Top-20 & Top-100 retrieval accuracy on test sets...") of the DPR paper?</p><p>该提问来源于...facebookresearch/DPR</p></div>
  • DPR1260快速安装文档

    2015-10-10 23:19:23
    这个是DLINK打印服务器DPR-1260快速安装文档,快速设置,管理和配置的不二法门。供大家学习使用
  • 微信小程序DPR

    千次阅读 2018-06-09 22:40:27
    微信小程序DPRDPR = 设备像素 / CSS像素(某一方向上)js获取方式window.devicePixelRatio 微信小程序尺寸单位rpxrpx单位是微信小程序中css的尺寸单位,rpx可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx 获取高度wx...
  • DPR2.0&DPR3.0S手机适配问题 就一行代码解决问题,解决不了就去…… 这是商家+++页面 <div class="box"> <script></script> .box { width:
  • <div><p>I am curious if I can use DPR for closed domain QA once I have retriver trained ? </p><p>该提问来源于开源项目:facebookresearch/DPR</p></div>
  • DPR、二倍图、rem

    2021-01-11 19:25:30
    DPR: 物理像素/设备独立像素 这个比值就是DPR 如:iphone6 物理像素是750 设备独立像素是375 那么:750/375 = 2 iphone6的DPR是2 二倍图: 现在,有一张100px x 100px的图片,在DPR = 1.0的设备中,可以完美的显示。...
  • DPR(设备像素比):设备像素比 = 设备像素 / 设备独立像素(CSS像素)。 将根据已有的meta标签来设置缩放比例 //如果在meta标签中,我们手动配置了flexible,则使用里面的内容 //devicePixelRatio这个属性是可以获取到...
  • <div><p>Does DPR and RW hints account for browser zoom, or is it a fixed device+screen based value?</p><p>该提问来源于开源项目:igrigorik/http-client-hints</p></div>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,257
精华内容 902
关键字:

dpr