哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一種針對該文本檢索任務的BERT算法方案DR-BERT

深度學習自然語言處理 ? 來源:美團技術團隊 ? 2020-08-27 18:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于微軟大規(guī)模真實場景數據的閱讀理解數據集MS MARCO,美團搜索與NLP中心提出了一種針對該文本檢索任務的BERT算法方案DR-BERT,該方案是第一個在官方評測指標MRR@10上突破0.4的模型。

本文系DR-BERT算法在文本檢索任務中的實踐分享,希望對從事檢索、排序相關研究的同學能夠有所啟發(fā)和幫助。

背景提高機器閱讀理解(MRC)能力以及開放領域問答(QA)能力是自然語言處理(NLP)領域的一大重要目標。在人工智能領域,很多突破性的進展都基于一些大型公開的數據集。比如在計算機視覺領域,基于對ImageNet數據集研發(fā)的物體分類模型已經超越了人類的表現。類似的,在語音識別領域,一些大型的語音數據庫,同樣使得了深度學習模型大幅提高了語音識別的能力。 近年來,為了提高模型的自然語言理解能力,越來越多的MRC和QA數據集開始涌現。但是,這些數據集或多或少存在一些缺陷,比如數據量不夠、依賴人工構造Query等。針對這些問題,微軟提出了一個基于大規(guī)模真實場景數據的閱讀理解數據集MS MARCO (Microsoft Machine Reading Comprehension)[1]。該數據集基于Bing搜索引擎和Cortana智能助手中的真實搜索查詢產生,包含100萬查詢,800萬文檔和18萬人工編輯的答案。 基于MS MARCO數據集,微軟提出了兩種不同的任務:一種是給定問題,檢索所有數據集中的文檔并進行排序,屬于文檔檢索和排序任務;另一種是根據問題和給定的相關文檔生成答案,屬于QA任務。在美團業(yè)務中,文檔檢索和排序算法在搜索、廣告、推薦等場景中都有著廣泛的應用。此外,直接在所有候選文檔上進行QA任務的時間消耗是無法接受的,QA任務必須依靠排序任務篩選出排名靠前的文檔,而排序算法的性能直接影響到QA任務的表現。基于上述原因,我們主要將精力放在基于MS MARCO的文檔檢索和排序任務上。 自2018年10月MACRO文檔排序任務發(fā)布后,迄今吸引了包括阿里巴巴達摩院、Facebook、微軟、卡內基梅隆大學、清華等多家企業(yè)和高校的參與。在美團的預訓練MT-BERT平臺[14]上,我們提出了一種針對該文本檢索任務的BERT算法方案,稱之為DR-BERT(Enhancing BERT-based Document Ranking Model with Task-adaptive Training and OOV Matching Method)。DR-BERT是第一個在官方評測指標MRR@10上突破0.4的模型,且在2020年5月21日(模型提交日)-8月12日期間位居榜首,主辦方也單獨發(fā)表推文表示了祝賀,如下圖1所示。DR-BERT模型的核心創(chuàng)新主要包括領域自適應的預訓練、兩階段模型精調及兩種OOV(Out of Vocabulary)匹配方法。

圖1 官方祝賀推文及MARCO 排行榜相關介紹Learning to Rank在信息檢索領域,早期就已經存在很多機器學習排序模型(Learning to Rank)用來解決文檔排序問題,包括LambdaRank[2]、AdaRank[3]等,這些模型依賴很多手工構造的特征。而隨著深度學習技術在機器學習領域的流行,研究人員提出了很多神經排序模型,比如DSSM[4]、KNRM[5]等。這些模型將問題和文檔的表示映射到連續(xù)的向量空間中,然后通過神經網絡來計算它們的相似度,從而避免了繁瑣的手工特征構建。

圖2 Pointwise、Pairwise、Listwise訓練的目標 根據學習目標的不同,排序模型大體可以分為Pointwise、Pairwise和Listwise。這三種方法的示意圖如上圖2所示。其中,Pointwise方法直接預測每個文檔和問題的相關分數,盡管這種方法很容易實現,然而對于排序來說,更重要的是學到不同文檔之間的排序關系?;谶@種思想,Pairwise方法將排序問題轉換為對兩兩文檔的比較。具體來講,給定一個問題,每個文檔都會和其他的文檔兩兩比較,判斷該文檔是否優(yōu)于其他文檔。這樣的話,模型就學習到了不同文檔之間的相對關系。 然而,Pairwise的排序任務存在兩個問題:第一,這種方法優(yōu)化兩兩文檔的比較而非更多文檔的排序,跟文檔排序的目標不同;第二,隨機從文檔中抽取Pair容易造成訓練數據偏置的問題。為了彌補這些問題,Listwise方法將Pairwsie的思路加以延伸,直接學習排序之間的相互關系。根據使用的損失函數形式,研究人員提出了多種不同的Listwise模型。比如,ListNet[6]直接使用每個文檔的top-1概率分布作為排序列表,并使用交叉熵損失來優(yōu)化。ListMLE[7]使用最大似然來優(yōu)化。SoftRank[8]直接使用NDCG這種排序的度量指標來進行優(yōu)化。大多數研究表明,相比于Pointwise和Pairwise方法,Listwise的學習方式能夠產生更好的排序結果。BERT自2018年谷歌的BERT[9]的提出以來,預訓練語言模型在自然語言處理領域取得了很大的成功,在多種NLP任務上取得了SOTA效果。BERT本質上是一個基于Transformer架構的編碼器,其取得成功的關鍵因素是利用多層Transoformer中的自注意力機制(Self-Attention)提取不同層次的語義特征,具有很強的語義表征能力。如圖3所示,BERT的訓練分為兩部分,一部分是基于大規(guī)模語料上的預訓練(Pre-training),一部分是在特定任務上的微調(Fine-tuning)。

圖3 BERT的結構和訓練模式 在信息檢索領域,很多研究人員也開始使用BERT來完成排序任務。比如,[10][11]就使用BERT在MS MARCO上進行實驗,得到的結果大幅超越了當時最好的神經網絡排序模型。[10]使用了Pointwise學習方式,而[11]使用了Pairwise學習方式。這些工作雖然取得了不錯的效果,但是未利用到排序本身的比較信息?;诖?,我們結合BERT本身的語義表征能力和Listwise排序,取得了很大的進步。模型介紹任務描述

基于DeepCT候選初篩由于MS MARCO中的數據量很大,直接使用深度神經網絡模型做Query和所有文檔的相關性計算會消耗大量的時間。因此,大部分的排序模型都會使用兩階段的排序方法。第一階段初步篩選出top-k的候選文檔,然后第二階段使用深度神經網絡對候選文檔進行精排。這里我們使用BM25算法來進行第一步的檢索,BM25常用的文檔表示方法包括TF-IDF等。 但是TF-IDF不能考慮每個詞的上下文語義。DeepCT[12]為了改進這種問題,首先使用BERT對文檔單獨進行編碼,然后輸出每個單詞的重要性程度分數。通過BERT強大的語義表征能力,可以很好衡量單詞在文檔中的重要性。如下圖4所示,顏色越深的單詞,其重要性越高。其中的“stomach”在第一個文檔中的重要性更高。

圖4 DeepCT估單詞的重要性,同一個詞在不同文檔中的重要性不同

DeepCT的訓練目標如下所示:

其中QTR(t,d)表示文檔d中單詞t的重要性分數,Qd表示和文檔d相關的問題,Q{d,t}表示文檔d對應的問題中包含單詞t的子集。輸出的分數可以當做詞頻(TF)使用,相當于對文檔的詞的重要性進行了重新估計,因此可以直接使用BM25算法進行檢索。我們使用DeepCT作為第一階段的檢索模型,得到top-k個文檔作為文檔候選集合D={D1,D2,...,Dk}。領域自適應預訓練由于我們的模型是基于BERT的,而BERT本身的預訓練使用的語料和當前的任務使用的語料并不是同一個領域。我們得出這個結論是基于對兩部分語料中top-10000高頻詞的分析,我們發(fā)現MARCO的top-10000高頻詞和BERT基線使用的語料有超過40%的差異。因此,我們有必要使用當前領域的語料對BERT進行預訓練。由于MS MARCO屬于大規(guī)模語料,我們可以直接使用該數據集中的文檔內容對BERT進行預訓練。我們在第一階段使用MLM和NSP預訓練目標函數在MS MARCO上進行預訓練。兩階段精調

圖5 模型結構 下面介紹我們提出的精調模型,上圖5展示了我們提出的模型的結構。精調分為兩個階段:Pointwise精調和Listwise精調。Pointwise問題類型感知的精調

第一階段的精調,我們的目標是通過Pointwise的訓練方式建立問題和文檔的關系。我們將Query-Document作為輸入,使用BERT對其編碼,匹配問題和文檔??紤]到問題和文檔的匹配模式和問題的類型有很大的關系,我們認為在該階段還需要考慮問題的類型。因此,我們使用問題,問題類型和文檔一起通過BERT進行編碼,得到一個深層交互的語義表示。具體的,我們將問題類型T、問題Q和第i個文檔Di拼接成一個序列輸入,如下式所示:

其中表示分隔符,的位置對應的編碼表示Query-Document的關系。

經過BERT編碼后,我們取最后一層中位置的表示hi為Query-Document的關系表示。然后通過Softmax計算他們的得分,得到:

該分數Ti通過交叉熵損失函數進行優(yōu)化。通過以上的預訓練,模型對不同的問題學到了不同的匹配模式。該階段的預訓練可以稱為類型自適應(Type-Adaptive)模型精調。Listwise 精調為了使得模型直接學習不同排序的比較關系,我們通過Listwise的方式對模型進行精調。具體的,在訓練過程中,對于每個問題,我們采樣n+個正例以及n-個負例作為輸入,這些文檔是從候選文檔集合D中隨機產生。注意,由于硬件的限制,我們不能將所有的候選文檔都輸入到當前模型中。因此我們選擇了隨機采樣的方式來進行訓練。

和預訓練中使用BERT的方式類似,我們得到正例和負例中每個文檔的表示,hi+和hi-。然后通過一個單層感知機將上面得到的表示降維并轉換成一個分數,即:

其中W和b是模型中可學習的參數。接下來對于每個文檔的分數,我們通過一個文檔級別的比較和歸一化得到:

這一步,我們將文檔中的正例的分數和負例的分數進行比較,得到Listwise的排名分數。我通過這一步,我們得到了一個文檔排序列表,我們可以將文檔排序的優(yōu)化轉化為最大化正例的分數。因此,模型可以通過負對數似然損失優(yōu)化,如下式所示:

至于為什么使用兩個階段的精調模型,主要出于如下兩點考慮:

1. 我們發(fā)現首先學習問題和文檔的相關性特征然后學習排序的特征相比,直接學習排序特征效果好。

2. MARCO是標注不充分的數據集合。換句話說,許多和問題相關的文檔未被標注為1,這些噪聲容易造成模型過擬合。第一階段的模型可以用來過濾訓練數據中的噪聲,從而可以有更好的數據監(jiān)督第二階段的精調模型。解決OOV的錯誤匹配問題在BERT中,為了減少詞表的規(guī)模以及解決Out-of-vocabulary(OOV)的問題,使用了WordPiece方法來分詞。WordPiece會把不在詞表里的詞,即OOV詞拆分成片段,如圖6所示,原始的問題中包含詞“bogue”,而文檔中包含詞“bogus”。在WordPiece方法下,將“bogue”切分成”bog”和“##ue”,并且將“bogus”切分成”bog”和“##us”。我們發(fā)現,“bogus”和“bogue”是不相關的兩個詞,但是由于WordPiece切分出了匹配的片段“bog”,導致兩者的相關性計算分數比較高。

圖6 BERT WordPiece處理前/后的文本 為了解決這個問題,我們提出了一種是對原始詞(WordPiece切詞之前)做精準匹配的特征。所謂“精確匹配”,指的是某個詞在文檔和問題中同時出現。精準匹配是信息檢索和機器閱讀理解中非常重要的一個技術。根據以往的研究,很多閱讀理解模型加入該特征之后都可以有一定的效果提升。具體的,在Fine-tuning階段,我們對于每個詞構造了一個精準匹配特征,該特征表示該單詞是否出現在問題以及文檔中。在編碼階段之前,我們就將這個特征映射到一個向量,和原本的Embedding進行組合:

圖7 詞還原機制的工作原理 除此之外,我們還提出了一種詞還原機制如圖7所示,詞還原機制能夠將WordPiece切分的Subtoken的表示合并,從而能更好地解決OOV錯誤匹配的問題。具體來說,我們使用Average Pooling對Subtoken的表示合并作為隱層的輸入。除此之外,如上圖7所示,我們使用了MASK處理Subtoken對應的非首位的隱層位置。值得注意的是,詞還原機制也能很好地避免模型的過擬合問題。這是因為MARCO的集合標注是比較稀疏的,換句話說,有很多正例未被標注為1,因此容易導致模型過擬合這些負樣本。詞還原機制一定程度上起到了Dropout的作用??偨Y與展望以上內容就對我們提出的DR-BERT模型進行了詳細的介紹。我們提出的DR-BERT模型主要采用了任務自適應預訓練以及兩階段模型精調訓練。除此之外,還提出了詞還原機制和精確匹配特征提高OOV詞的匹配效果。通過在大規(guī)模數據集MS MARCO的實驗,充分驗證了該模型的優(yōu)越性,希望這些能對大家有所幫助或者啟發(fā)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 微軟
    +關注

    關注

    4

    文章

    6750

    瀏覽量

    108066
  • 算法
    +關注

    關注

    23

    文章

    4800

    瀏覽量

    98485
  • 數據集
    +關注

    關注

    4

    文章

    1240

    瀏覽量

    26258

原文標題:MT-BERT在文本檢索任務中的實踐

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    一種基于低噪聲電源管理架構的射頻采樣系統(tǒng)設計方案

    本期為大家?guī)淼氖恰独走_應用中射頻轉換器的無雜波電源(第 1 部分)》,介紹了一種基于低噪聲電源管理架構的射頻采樣系統(tǒng)設計方案,以解決相控陣雷達和 5G 通信應用中因開關電源噪聲耦合導致的 ADC 動態(tài)性能下降問題。
    的頭像 發(fā)表于 03-25 08:10 ?3245次閱讀
    <b class='flag-5'>一種</b>基于低噪聲電源管理架構的射頻采樣系統(tǒng)設計<b class='flag-5'>方案</b>

    算法工程師需要具備哪些技能?

    算法工程師需要掌握系列跨學科的技能,涵蓋數學基礎、編程能力、算法理論、工程實踐以及業(yè)務理解等多個方面。 以下是具體技能及學習建議: 線性代數核心內容:矩陣運算、特征值分解、向量空間等。應用場
    發(fā)表于 02-27 10:53

    RAG(檢索增強生成)原理與實踐

    2.1 什么是向量檢索? 向量檢索是RAG系統(tǒng)的第步,也是最關鍵的步。它的任務是從海量文檔中快速找出與用戶問題最相關的內容。
    發(fā)表于 02-11 12:46

    一種無OS的MCU實用軟件框架

    介紹一種無OS的MCU實用軟件框架,包括任務輪詢管理,命令管理器、低功耗管理、環(huán)形緩沖區(qū)等實用模塊。系統(tǒng)中廣泛利用自定義段技術減少各個模塊間的耦合關系,大大提供程序的可維護性。 主要功能 支持模塊
    發(fā)表于 01-08 06:58

    文說透了如何實現單片機的多任務并發(fā)!

    ,每個任務僅在分配到 CPU 時間片時才能執(zhí)行。時間片輪轉法可以保證所有任務都有機會被執(zhí)行,是一種非常公平的調度算法。 2. 優(yōu)先級調度法 優(yōu)先級調度法是多
    發(fā)表于 01-06 06:46

    探索 RTKA210030DR0000BU 演示板:高效電源解決方案

    探索 RTKA210030DR0000BU 演示板:高效電源解決方案 在電子設計領域,電源模塊的性能和適用性至關重要。今天我們要深入了解的 RTKA210030DR0000BU 演示板,就是
    的頭像 發(fā)表于 12-29 16:00 ?390次閱讀

    基于安路DR1M90 FPSoC的Linux系統(tǒng)全流程開發(fā)指南(4)

    本手冊由創(chuàng)龍科技研發(fā),針對安路飛龍 DR1M90,詳述 Linux 系統(tǒng)開發(fā)流程:LinuxSDK 配置編譯、BOOT.bin(FSBL+U-Boot)開發(fā)、Kernel 與 Rootfs 開發(fā)
    的頭像 發(fā)表于 11-30 15:46 ?2306次閱讀
    基于安路<b class='flag-5'>DR</b>1M90 FPSoC的Linux系統(tǒng)全流程開發(fā)指南(4)

    基于安路DR1M90 FPSoC 的Linux 系統(tǒng)全流程開發(fā)指南(3)

    本手冊由創(chuàng)龍科技研發(fā),針對安路飛龍 DR1M90,詳述 Linux 系統(tǒng)開發(fā)流程:LinuxSDK 配置編譯、BOOT.bin(FSBL+U-Boot)開發(fā)、Kernel 與 Rootfs 開發(fā)
    的頭像 發(fā)表于 11-26 17:01 ?421次閱讀
    基于安路<b class='flag-5'>DR</b>1M90 FPSoC 的Linux 系統(tǒng)全流程開發(fā)指南(3)

    基于安路DR1M90 FPSoC 的Linux 系統(tǒng)全流程開發(fā)指南(1)

    本手冊由創(chuàng)龍科技研發(fā),針對安路飛龍 DR1M90,詳述 Linux 系統(tǒng)開發(fā)流程:LinuxSDK 配置編譯、BOOT.bin(FSBL+U-Boot)開發(fā)、Kernel 與 Rootfs 開發(fā)
    的頭像 發(fā)表于 11-25 14:09 ?458次閱讀
    基于安路<b class='flag-5'>DR</b>1M90 FPSoC 的Linux 系統(tǒng)全流程開發(fā)指南(1)

    思必馳任務型對話算法通過國家備案

    近日,國家網信辦公開發(fā)布第十四批境內深度合成服務算法備案信息,思必馳任務型對話算法正式通過備案。這是思必馳第八項通過備案的算法,進步鞏固了
    的頭像 發(fā)表于 11-20 10:33 ?1012次閱讀

    8常用的CRC算法分享

    CRC 計算單元可按所選擇的算法和參數配置來生成數據流的 CRC 碼。有些應用中,可利用 CRC 技術來驗證數據的傳輸和存儲的完整性。 8 常用的 CRC 算法,包括: CRC16_IBM
    發(fā)表于 11-13 07:25

    復雜的軟件算法硬件IP核的實現

    的實現的技術細節(jié),知道這些技術細節(jié)將有利于在使用 C 語言編寫算法時實現些有針對性的優(yōu)化。 2.1 C to HASM HASM 是一種在 C 語言編譯到HDL 時、經過嚴
    發(fā)表于 10-30 07:02

    針對AES算法的安全防護設計

    無法獲取密鑰與功耗曲線之間的相關性。為確保加密算法在執(zhí)行過程中始終安全,全掩碼技術是最常用的一種方法。 根據AES加解密算法的特點,結合我們提出的運算結構,設計的全掩碼AES加解密電路的結構如圖1所示
    發(fā)表于 10-28 07:38

    比特誤碼率測試儀接收端受限眼圖自動校準最佳實踐

    Tektronix提供針對PCIe 6.0 CEM測試的 比特誤碼率測試儀 (BERT) 接收端 (RX) 受限眼圖自動校準。該軟件名為TekRXTest,并支持額外的功能,例如RX表征與裕量測試
    的頭像 發(fā)表于 10-24 16:16 ?4248次閱讀
    比特誤碼率測試儀接收端受限眼圖自動校準最佳實踐

    格靈深瞳突破文本人物檢索技術難題

    格靈深瞳參與研究的GA-DMS框架,為攻破上述技術難題提供了全新解決方案。研究團隊通過數據構建和模型架構的協同改進,推動CLIP在人物表征學習中的應用,顯著提升了基于文本的人物檢索效果。該成果已入選EMNLP 2025 主會(自
    的頭像 發(fā)表于 09-28 09:42 ?736次閱讀
    格靈深瞳突破<b class='flag-5'>文本</b>人物<b class='flag-5'>檢索</b>技術難題
    营口市| 改则县| 平乡县| 河北区| 平利县| 成都市| 呼玛县| 大化| 九龙坡区| 微山县| 故城县| 仁寿县| 扶余县| 宜川县| 太和县| 花莲市| 枣庄市| 唐山市| 曲阜市| 太原市| 嘉禾县| 博野县| 广昌县| 秦安县| 沭阳县| 平南县| 酒泉市| 化德县| 吉安县| 弥勒县| 专栏| 邳州市| 邛崃市| 金昌市| 康平县| 洛宁县| 马龙县| 洛川县| 景东| 平定县| 呼伦贝尔市|