Facebook刷新开放域问答SOTA:模型训模型!Reader当Teacher!
文 | Sherry 不是小哀
編 | 小軼
一部問答系統(tǒng)發(fā)展史就是一部人工智能發(fā)展史。早在1950年的圖靈測試就提出:如果人類無法通過問答將機器和人區(qū)分開,那么這個機器就可以被認為具有智能。問答系統(tǒng)和人工智能有著密不可分的關(guān)系。從基于規(guī)則和結(jié)構(gòu)化數(shù)據(jù)的自動問答,到基于精細設(shè)計神經(jīng)網(wǎng)絡(luò)的文本問答,再到T5[1]將一切文本任務(wù)都轉(zhuǎn)化為問答,我們足以看出自動問答系統(tǒng)在走向機器智能的過程中的重要性。
當(dāng)前主流的問答系統(tǒng)主要分為幾類:FAQ檢索型、閑聊型、任務(wù)型、知識圖譜型、閱讀理解型等等。他們之間互相有些區(qū)別,但本質(zhì)上都可以被看作是從龐大的信息中找到想要答案的過程,方法上互相之間也有一些借鑒意義。
陳丹琦的DrQA[2]可以說是利用深度學(xué)習(xí)解決開放域問答的開山鼻祖了。我們也暫且將目光聚焦在這類開放域問答任務(wù):基于一個巨大的文本庫(例如維基百科)建立自動回答知識型問題的系統(tǒng)。這樣的系統(tǒng)通常分為兩個部分:
檢索模型:負責(zé)從龐大的文本庫中篩選出與問題最相關(guān)的文本;
閱讀模型:負責(zé)處理檢索模型篩選出的文本,從中精確地找出問題的答案。
今天,我們來看一篇開放域問答系統(tǒng)的最新SOTA。Facebook在這篇paper中提出:在開放域問答中,閱讀理解模型的注意力權(quán)重可以提供更好的檢索模型訓(xùn)練信號,該方法刷新了開放域問答系統(tǒng)的SOTA,同時在EffcientQA榜單上刷新了6GB量級模型的記錄。
論文題目:?
DISTILLING KNOWLEDGE FROM READER TO RETRIEVER FOR QUESTION ANSWERING
論文鏈接:?
https://openreview.net/pdf?id=NTEz-6wysdb
Github:?
https://github.com/lucidrains/distilled-retriever-pytorch
Arxiv訪問慢的小伙伴也可以在 【夕小瑤的賣萌屋】訂閱號后臺回復(fù)關(guān)鍵詞 【0127】 下載論文PDF~
“現(xiàn)代”開放域問答
最開始,DrQA[2]將基于TF-IDF的詞頻算法用作檢索模型,與當(dāng)時的SOTA閱讀模型結(jié)合,得到了開放域問答系統(tǒng)的雛形。基于詞頻的檢索模型的一大優(yōu)點就是簡單有效:
對于大量文本,可以將所有段落的詞頻都提前統(tǒng)計出來,并儲存為向量的形式
對于給定問題,通過向量近鄰搜索就可以快速查詢到最佳候選段落。
但是基于詞頻的檢索模型也有一些很明顯的缺點:
詞頻不能完全表示文本的含義,檢索出的文本質(zhì)量也因此受限,從而影響問答系統(tǒng)整體的表現(xiàn)
基于詞頻的檢索模型不包含注意力機制,很難給關(guān)鍵程度不同的信息以不同的評分
為了解決這類檢索模型的缺點,常見的問答系統(tǒng)先通過基于詞頻的檢索模型初篩出較大量候選段落,再應(yīng)用基于BERT的檢索模型,將問題和段落拼接在一起進行精細排序。
然而,這類分階段檢索的模型仍然存在一些問題:它始終需要進過基于詞頻的檢索,有信息損失;每次預(yù)測都需要將較大量的文本送入BERT進行精排。能否在一開始就用BERT這類效果更好的模型預(yù)先編碼好所有段落,在檢索的時候直接進行向量搜索呢?
DPR - 加入了BERT的檢索模型
陳丹琦組在EMNLP 2020提出了Dense Passage Retrievel(DPR)[3]的方法來解決上述缺陷。由于BERT這類模型太過龐大,在預(yù)測的時候無法實時對所有段落進行重編碼,因而問題和段落需要分開編碼。文中采用兩個不同的BERT模型分別編碼問題和段落,問題和段落編碼向量相似度即為檢索模型的打分。
DPR的一大創(chuàng)新點在于線下完成所有段落的編碼。訓(xùn)練段落編碼器時,將含有標(biāo)準(zhǔn)答案字串的候選段落作為編碼器的正例,其他段落作為負例。訓(xùn)練完成后,即可在預(yù)測前對所有段落進行編碼。預(yù)測時只需要編碼問題,即可通過向量搜索得到相關(guān)段落。
然而,DPR在監(jiān)督信息的獲取上是存在一定問題的——這也是基于網(wǎng)絡(luò)的檢索模型訓(xùn)練的一大難點。DPR[3]是利用答案字符串是否出現(xiàn)在段落中的信號來定義編碼器的正負例。這個信號中包含了大量的噪聲:
包含答案的段落并不能回答當(dāng)前問題
比如對問題 “中國的首都是哪里?”而言,并非所有包含“北京”的段落都能用來回答這個問題。
不包含答案的段落也可以回答當(dāng)前問題
比如對問題“圖靈測試是誰提出的”而言,并非只有“阿蘭·圖靈”才是正確候選,由于音譯,省略等,其他字符串同時也可能是答案。
那么,如何能獲得更優(yōu)質(zhì)的檢索模型訓(xùn)練信號呢?
向閱讀器學(xué)習(xí)
專門為檢索模型訓(xùn)練標(biāo)注數(shù)據(jù)固然是一種獲得更好訓(xùn)練數(shù)據(jù)的方法,但我們能否自動獲取更優(yōu)質(zhì)的監(jiān)督信號呢?Facebook AI的研究者們提出[4],利用蒸餾閱讀模型中的注意力權(quán)重可以獲得更好的相似度信息。
除了訓(xùn)練檢索模型外,開放域問答的另外一個難點在于如何將檢索模型和閱讀模型的打分結(jié)合選出最終答案。閱讀模型的打分往往只基于被送入閱讀器的段落。想要獲得不同段落之間的交互信息,必須將所有候選段落拼接輸入閱讀器。但由于BERT的復(fù)雜度隨著序列長度平方級增長,拼接輸入并不高效。
在Fusion-in-Decoder model[5]中作者采用生成式(Encoder-Decoder)模型作為閱讀模型,他們將不同段落分別輸入Encoder獲得段落的的表示,然后將這些表示拼接在一起作為Decoder的輸入。這樣Encoder不需要用平方級的復(fù)雜度;Decoder在生成答案的時候也獲得了所有段落的信息。
而本文也采用這種閱讀模型。作者提出:在生成式閱讀模型中,Encoder和Decoder的交互注意力權(quán)重可看作預(yù)測時不同段落信息的重要度。
作者通過一個簡單的實驗證明了這一論點:給定一個問題和100個已經(jīng)由DPR選出的相關(guān)段落,篩選出最好的10個段落后再通過閱讀理解模型,得到的端到端準(zhǔn)確率下降越少說明篩選方法越好。基于前100個相關(guān)段落的問答系統(tǒng)準(zhǔn)確率可以達到48.2EM;當(dāng)我們直接選擇前10個DPR篩選出的段落時,問答系統(tǒng)的準(zhǔn)確率下降到了42.9 EM;但如果根據(jù)閱讀模型的注意力權(quán)重篩選出前10的段落,準(zhǔn)確率只下降到46.8 EM。
接下來,作者又進一步利用知識蒸餾的方法,讓檢索模型學(xué)習(xí)閱讀模型的注意力信號。
將注意力轉(zhuǎn)化為相關(guān)度
我們利用知識蒸餾,讓檢索模型學(xué)習(xí)閱讀模型的知識。將檢索模型在不同段落上的預(yù)測概率與閱讀模型的注意力權(quán)重之間的KL-divergence作為蒸餾訓(xùn)練的損失函數(shù)。那么如何將注意力權(quán)重轉(zhuǎn)化為數(shù)值呢?
將矩陣轉(zhuǎn)化為數(shù)值的最直觀方法就是池化。公式中表示Decoder第i個token對Encoder第j個token,在第k層第h個注意力頭(head)的注意力權(quán)重,表示的是閱讀模型對這個問題,段落對的注意力權(quán)重打分,表示檢索模型對問題是檢索出段落的打分,也就是檢索模型的輸出。這樣,我們就可以讓檢索模型學(xué)習(xí)閱讀模型的注意力信息了。
文中試驗了不同的設(shè)置,最終確定:Decoder的第0個token對于Encoder同一段落中所有token的注意力權(quán)重平均值是最佳設(shè)定。
實驗
至此,我們已經(jīng)確定了訓(xùn)練檢索模型的損失函數(shù)。那么我們?nèi)绾伍_始訓(xùn)練呢?訓(xùn)練采取迭代的方式進行:
對于每個問題,用檢索模型選取前k個相關(guān)段落,用于訓(xùn)練閱讀模型。
在相關(guān)段落上訓(xùn)練好閱讀模型后,對于每個問題的候選段落計算池化之后的注意力權(quán)重。
利用注意力權(quán)重作為檢索模型的蒸餾訓(xùn)練信號,訓(xùn)練檢索模型。
從隨機初始化的檢索模型開始訓(xùn)練無疑是效率很低的,初始的候選段落便顯得尤為重要。作者選取了不同的初始篩選方法(BM25,BERT,DPR)來確定第一步的相關(guān)段落集合。
實驗發(fā)現(xiàn)從DPR方法選擇的初始相關(guān)段落可以讓模型達到最好的效果。由于BERT的預(yù)訓(xùn)練目標(biāo)和相關(guān)度排序相差甚遠,因而用預(yù)訓(xùn)練好的BERT作為檢索模型的初始參數(shù)并選擇最初的相關(guān)段落集效果不佳。但作者提出的訓(xùn)練方法可以在4個迭代內(nèi)讓檢索模型大幅提升效果。
最終,如此構(gòu)建的問答系統(tǒng)在NQ和TriviaQA數(shù)據(jù)集上都超越了之前的SOTA。這個方法在TriviaQA上達到了更好的效果,原因是NQ數(shù)據(jù)集中的段落是人工標(biāo)注的并用作了DPR的訓(xùn)練,但TriviaQA沒有提供段落相似度信息。這正說明了本文方法在沒有相似度標(biāo)注數(shù)據(jù)的設(shè)定下十分有效。
總結(jié)
本文利用生成式閱讀器中的注意力權(quán)重作為相似度信息訓(xùn)練檢索模型,刷新了開放域問答系統(tǒng)的SOTA。該方法簡單有效地解決了開放域問答系統(tǒng)中訓(xùn)練檢索模型缺乏標(biāo)注數(shù)據(jù)的問題,為研究者們提供了新思路。
萌屋作者:Sherry 不是小哀。
本科畢業(yè)于復(fù)旦數(shù)院,轉(zhuǎn)行NLP目前在加拿大滑鐵盧大學(xué)讀CS PhD。經(jīng)歷了從NOIer到學(xué)數(shù)學(xué)再重回CS的轉(zhuǎn)變,卻堅信AI的未來需要更多來數(shù)學(xué)和自認知科學(xué)的理論指導(dǎo)。主要關(guān)注問答,信息抽取,以及有關(guān)深度模型泛化及魯棒性相關(guān)內(nèi)容。
作品推薦:
無需人工!無需訓(xùn)練!構(gòu)建知識圖譜 BERT一下就行了!
Google Cloud TPUs支持Pytorch框架啦!
后臺回復(fù)關(guān)鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復(fù)關(guān)鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
?
[1]Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer.(https://arxiv.org/pdf/1910.10683)
[2]Reading Wikipedia to Answer Open-Domain Questions.(https://arxiv.org/pdf/1704.00051)
[3]Dense Passage Retrieval for Open-Domain Question Answering.(https://arxiv.org/pdf/2004.04906)
[4]DISTILLING KNOWLEDGE FROM READER TO RETRIEVER FOR QUESTION ANSWERING.(https://openreview.net/pdf?id=NTEz-6wysdb)
[5]Leveraging passage retrieval with generative models for open domain question answering.(https://arxiv.org/pdf/2007.01282)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Facebook刷新开放域问答SOTA:模型训模型!Reader当Teacher!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐一个快速定位深度学习代码bug的炼丹
- 下一篇: 全栈深度学习第2期: 开发套件与工具篇