中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

帶你用深度學(xué)習(xí)虛擬機進行文本遷移學(xué)習(xí)(附代碼)

2018-07-10    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用
本文講述了現(xiàn)代機器學(xué)習(xí)的模型,主要由微軟數(shù)據(jù)科學(xué)家Anusua Trivedi和數(shù)據(jù)科學(xué)家經(jīng)理Wee Hyong Tok共同撰寫。

動機

現(xiàn)代機器學(xué)習(xí)模型,尤其是深度神經(jīng)網(wǎng)絡(luò),通常可以從遷移學(xué)習(xí)中顯著受益。在計算機視覺中,在大型圖像分類數(shù)據(jù)集(如ImageNet)上訓(xùn)練的深卷積神經(jīng)網(wǎng)絡(luò)已被證明對初始化其他視覺任務(wù)(如物體檢測)模型非常有用(Zeiler和Fergus,2014)。

但是,我們?nèi)绾挝谋旧蠎?yīng)用遷移學(xué)習(xí)技術(shù)?在這篇博客文章中,我們試圖在研究社區(qū)中對現(xiàn)有的文本傳輸學(xué)習(xí)文獻進行綜合研究。我們探索八種流行的機器閱讀理解(MRC)算法(圖1)。我們評估和比較了六篇這樣的論文:

BIDAF,DOCQA,ReasoNet,R-NET,SynNet和OpenNMT

我們將模型初始化,對不同的源問題答疑(QA)數(shù)據(jù)集進行預(yù)先訓(xùn)練,并展示標(biāo)準(zhǔn)遷移學(xué)習(xí)如何在大型目標(biāo)語料庫上實現(xiàn)結(jié)果。為了創(chuàng)建一個測試語料庫,我們選擇了由Harry Shum和Brad Smith編寫的Future Computed一書。

我們比較了使用這些預(yù)訓(xùn)練的MRC模型為本書創(chuàng)建QA系統(tǒng)的遷移學(xué)習(xí)方法的性能。對于我們的評估方案,Document-QA模型的性能優(yōu)于其他遷移學(xué)習(xí)方法(如BIDAF,ReasoNet和R-NET模型)的性能。您可以在這里使用Jupyter筆記本測試Document-QA模型場景。

我們使用一些預(yù)訓(xùn)練的MRC模型比較了用于為本書創(chuàng)建QA語料庫的微調(diào)學(xué)習(xí)方法的性能。根據(jù)我們的評估方案,OpenNMT模型的性能優(yōu)于SynNet模型的性能。您可以在這里使用Jupyter筆記本測試OpenNMT模型場景。

介紹

在自然語言處理(NLP)中,域適應(yīng)一直是語法解析(McClosky等,2010)和命名實體識別(Chiticariu等,2010)等重要課題。隨著詞向量的普及,像word2vec(Mikolov et al。,2013)和GloVe模型(Pennington等,2014)這樣的預(yù)先訓(xùn)練的詞嵌入模型也被廣泛用于自然語言任務(wù)。

在自然語言處理中,問題回答中是一個長期存在的挑戰(zhàn),該社區(qū)在過去幾年中為這項任務(wù)引入了幾個范例和數(shù)據(jù)集。這些范例在問題和答案的類型以及培訓(xùn)數(shù)據(jù)的大小方面各不相同,有幾百到幾百萬不等的例子。

在這篇文章中,我們特別感興趣的是上下文感知QA范例,其中每個問題的答案可以通過參考其伴隨的上下文(即段落或句子列表)來獲得。對于人類來說,閱讀理解是一項基本任務(wù),每天都要進行。早在小學(xué),我們就可以閱讀一篇文章,并回答關(guān)于其主要思想和細(xì)節(jié)的問題。但對于AI來說,完成閱讀理解仍然是一個難以捉摸的目標(biāo)。因此,構(gòu)建能夠執(zhí)行機器閱讀理解的機器是非常有意義的。

機器閱讀理解(MRC)

MRC是關(guān)于回答有關(guān)給定情境段落的查詢。 MRC需要對上下文和查詢之間的復(fù)雜交互進行建模。最近,注意力機制已成功擴展到MRC。通常,這些方法使用注意力集中在上下文的一小部分上,并用固定大小的矢量對其進行總結(jié),暫時關(guān)注時間和/或經(jīng)常形成單向注意力。這些都已表明,這些MRC模型對于新領(lǐng)域的文本轉(zhuǎn)移學(xué)習(xí)和微調(diào)來說表現(xiàn)良好

為什么MRC對企業(yè)來說非常重要?

企業(yè)內(nèi)部對聊天機器的使用情況持續(xù)增長。研究和行業(yè)已經(jīng)轉(zhuǎn)向會話式AI方法來推進這種聊天機器人場景,特別是在銀行,保險和電信等復(fù)雜使用案例中。對話式人工智能的一個主要挑戰(zhàn)是需要使用人類的方式理解人類所表達的復(fù)雜句子。人的交談從來不是直截了當(dāng)?shù)?- 它充滿了由多字符串單詞,縮寫,片段,發(fā)音錯誤和其他一系列問題。

MRC是解決我們今天面臨的對話式AI問題的必備因素。如今,MRC方法能夠精確地回答諸如“什么原因?qū)е孪掠?”等客觀問題。這些方法可以被運用于真實世界,如客戶服務(wù)。 MRC可以被用于導(dǎo)航和理解種“給予與獲取”這樣的交互。 MRC在商業(yè)領(lǐng)域的一些常見應(yīng)用包括:

翻譯。

不同領(lǐng)域間的自動問答。

自動回復(fù)電子郵件。

從對話中提取嵌入式信息,用于有針對性的廣告/促銷活動。

個性化的客戶服務(wù)。

根據(jù)對話域創(chuàng)建機器人的個性和知識。

這種智能會話界面是企業(yè)與各地的設(shè)備,服務(wù),客戶,供應(yīng)商和員工互動的最簡單方式。使用MRC方法構(gòu)建的智能助理可以每天訓(xùn)練并繼續(xù)學(xué)習(xí)。業(yè)務(wù)影響可以包括通過增加自助服務(wù),提高最終用戶體驗/滿意度,更快地提供相關(guān)信息以及提高對內(nèi)部程序的遵從性來降低成本。

在這篇博文中,我們想要評估不同的MRC方法來解決不同領(lǐng)域的自動問答功能。

MRC遷移學(xué)習(xí)

最近,一些研究人員已經(jīng)探索出了各種攻克MRC遷移學(xué)習(xí)問題的方法。他們的工作對于開發(fā)一些可擴展解決方案以將MRC擴展到更廣泛領(lǐng)域來講,至關(guān)重要。

目前,大多數(shù)最先進的機器閱讀系統(tǒng)都建立在監(jiān)督培訓(xùn)數(shù)據(jù)的基礎(chǔ)上,通過數(shù)據(jù)實例進行端對端培訓(xùn),不僅包含文章,還包含人工標(biāo)記的關(guān)于文章和相應(yīng)答案的問題。通過這些例子,基于深度學(xué)習(xí)的MRC模型學(xué)習(xí)理解問題并從文章中推斷出答案,其中涉及推理和推理的多個步驟。對于MRC轉(zhuǎn)移學(xué)習(xí),我們有6個模型,如圖1所示。

MRC微調(diào)

盡管使用MRC遷移學(xué)習(xí)有了很大的進展,但直到最近,人們才開始重視一個被忽視很久的關(guān)鍵問題- 如何為非常小的領(lǐng)域構(gòu)建MRC系統(tǒng)?

目前,大多數(shù)最先進的機器閱讀系統(tǒng)都建立在監(jiān)督式培訓(xùn)數(shù)據(jù)的基礎(chǔ)上,經(jīng)過數(shù)據(jù)示例的端對端培訓(xùn),不僅包含文章,還包含有關(guān)文章和相應(yīng)答案的人工標(biāo)記問題。通過這些例子,基于深度學(xué)習(xí)的MRC模型學(xué)習(xí)理解問題并從文章中推斷出答案,其中涉及推理和推理的多個步驟。這種MRC遷移學(xué)習(xí)對于通用文章非常有效。但是,對于許多利基領(lǐng)域或垂直領(lǐng)域而言,這種監(jiān)督訓(xùn)練數(shù)據(jù)不存在。

例如,如果我們需要建立一個新的機器閱讀系統(tǒng)來幫助醫(yī)生找到有關(guān)新疾病的有價值信息,那么可能有許多文件可用,但是缺少關(guān)于這些文章及其相應(yīng)答案的手動標(biāo)記問題。由于需要為每種疾病建立單獨的MRC系統(tǒng)以及迅速增加的文獻量,這一挑戰(zhàn)被放大了。因此,找出如何將MRC系統(tǒng)轉(zhuǎn)移到小眾領(lǐng)域很重要,在這個領(lǐng)域中沒有手動標(biāo)記的問題和答案,但有可用的文件體。

在此之前,已經(jīng)有人研究過生成合成數(shù)據(jù)以增加不充分的訓(xùn)練數(shù)據(jù)這樣的問題。為了翻譯的目標(biāo)任務(wù),Sennrich 等人在2016提出用給定的真句生成合成翻譯以改進現(xiàn)有的機器翻譯系統(tǒng)。然而,與機器翻譯不同的是,對于像MRC這樣的任務(wù),我們需要綜合考慮文章的問題和答案。而且,雖然問題是句法流式的自然語言句子,但答案主要是段落中的顯著語義概念,如命名實體,動作或數(shù)字。由于答案與問題的語言結(jié)構(gòu)不同,因此將答案和問題視為兩種不同類型的數(shù)據(jù)可能更合適。 Golub等人2017年提出了一種稱為SynNet的新型模型以解決這一關(guān)鍵需求。

Xinya Du等人在2017年使用了開源神經(jīng)機器翻譯工具包OpenNMT這樣的微調(diào)方法。

 

圖1

 

訓(xùn)練MRC模型

我們使用深度學(xué)習(xí)虛擬機(DLVM)作為具有NVIDIA Tesla K80 GPU,CUDA和cuDNN庫的計算環(huán)境。 DLVM是數(shù)據(jù)科學(xué)虛擬機(DSVM)的一種特別配置的變體,可以更直接地使用基于GPU的虛擬機實例來訓(xùn)練深度學(xué)習(xí)模型。它支持Windows 2016和Ubuntu Data Science虛擬機上。它與DSVM共享相同的核心虛擬機映像(以及所有豐富的工具集),但在配置上更適用于深度學(xué)習(xí)。所有實驗均在具有2個GPU的Linux DLVM上運行。我們使用TensorFlow和Keras以及Tensorflow后端來構(gòu)建模型。我們在DLVM環(huán)境中安裝了所有依存項。

先決條件

對于每個模型,請按照GitHub中的Instructions.md來下載代碼并安裝依存關(guān)系。

實驗步驟

在DLVM中設(shè)置代碼后:

運行代碼來訓(xùn)練模型。

產(chǎn)生訓(xùn)練有素的模型。

然后運行評分代碼來測試訓(xùn)練模型的準(zhǔn)確性。

有關(guān)所有代碼和相關(guān)詳細(xì)信息,請參閱我們的GitHub鏈接。

使用Python Flask API在DLVM上運行訓(xùn)練的MRC模型

操作化是將模型和代碼發(fā)布為Web服務(wù)以及消費這些服務(wù)以產(chǎn)生業(yè)務(wù)結(jié)果的過程。 AI模型可以使用Python Flask API部署到本地DLVM。 要使用DLVM操作AI模型,我們可以在DLVM中使用JupyterHub。 您可以按照每個型號的筆記本中列出的類似步驟進行操作。 DLVM模型部署體系結(jié)構(gòu)圖如圖2所示。

 

圖2

 

評估方法

為了比較研究,我們想要在不同的數(shù)據(jù)集上訓(xùn)練不同的MRC模型,并在單個大型語料庫上測試它們。為了達到本博文的目的,我們使用六種MRC模型方法 - BIDAF,DOCQA,ReasoNet,R-NET,SynNet和OpenNMT - 使用訓(xùn)練好的MRC模型為大語料庫創(chuàng)建QA-Bot,然后比較結(jié)果。

如前所述,為了創(chuàng)建我們的測試語料庫,我們使用Harry Shum和Brad Smith撰寫的Future Computed一書。我們將本書的PDF轉(zhuǎn)換為Word格式,并刪除了所有圖像和圖表,因此我們的測試語料庫僅包含文本。

BIDAF,DOCQA,R-NET,SynNet和OpenNMT都有開放的GitHub資源可用來復(fù)制紙質(zhì)結(jié)果。我們使用這些開放的GitHub鏈接來訓(xùn)練模型,并在必要時擴展這些代碼以進行比較研究。對于ReasoNet論文,我們與作者取得聯(lián)系并訪問了他們的私人代碼以進行評估工作。請參考下面的詳細(xì)說明,對我們的測試語料庫上的每個MRC模型進行評估。

第1部分 - 評估雙向注意力流動(BIDAF)模型

第2部分 - 評估文檔 - 質(zhì)量保證模型

第3部分 - 評估ReasoNet模型

第4部分 - 評估R-NET模型

第5部分 - 評估SynNet模型

第6部分 - 評估OpenNMT模型

我們的比較工作總結(jié)在下面的表1中

 

 

表1

評估工作中的收獲

在這篇博客文章中,我們調(diào)查了SQUAD和TriviaQA數(shù)據(jù)集中的四種不同MRC方法的性能。我們比較了使用這些預(yù)訓(xùn)練的MRC模型為Future Computed一書創(chuàng)建問答系統(tǒng)的遷移學(xué)習(xí)方法的性能。請注意,這里的比較僅限于我們的評估方案。其他文檔或場景的結(jié)果可能會有所不同。

我們的評估方案顯示,OpenNMT微調(diào)方法的性能優(yōu)于針對領(lǐng)域特定數(shù)據(jù)集的簡單遷移學(xué)習(xí)MRC機制。但是,對于通用的大型文章,Document-QA模型優(yōu)于BIDAF,ReasoNet和R-NET模型。我們將比較下面更詳細(xì)的性能。

使用BiDAF模型進行轉(zhuǎn)移學(xué)習(xí)的優(yōu)點和缺點

優(yōu)點

BiDAF模型易于培訓(xùn)和測試(感謝AllenAI通過開放的GitHub鏈接提供所有代碼)。

缺點

BiDAF模型的使用非常有限。它只適用于一小段。給定一個更大的段落或許多小段落,這個模型通常需要很長時間,并且以可能的跨度作為答案返回,這可能根本沒有任何意義。

GitHub中的資源貢獻:

https://github.com/antriv/Transfer_Learning_Text/tree/master/Transfer_Learning/bi-att-flow

使用Document-QA模型進行轉(zhuǎn)移學(xué)習(xí)的優(yōu)點和缺點

優(yōu)點

Document-QA模型非常易于培訓(xùn)和測試(感謝AllenAI通過開放的GitHub鏈接提供所有代碼)。與我們之前探討的BiDAF模型相比,Document-QA模型做得更好。給定多個較大的文檔,這個模型通常需要很少的時間來產(chǎn)生多個可能的跨度作為答案。

缺點

但是,由于Document-QA沒有給出單個答案,因此算法可能會將最可能的答案指定為較低的優(yōu)先級,這可能根本沒有任何意義。我們假設(shè),如果模型只能看到包含答案的段落,那么它可能會對啟發(fā)式或模式過于自信,這種模型只有在先驗知道存在答案時才有效。例如,在下面的表2中(根據(jù)論文進行調(diào)整),我們觀察到,即使問題單詞與上下文不匹配,模型也會為與答案類別強烈匹配的跨度分配高信度值。如果有答案,這可能會工作得很好,但在其他情況下可能不會有這么好的效果。

GitHub中的資源貢獻:

https://github.com/antriv/Transfer_Learning_Text/tree/master/Transfer_Learning/document-qa

 

 

表2

使用ReasoNet模型進行遷移學(xué)習(xí)的優(yōu)點和缺點

優(yōu)點

ReasoNets利用多次輪流有效地利用,然后推理查詢文檔和答案之間的關(guān)系。通過使用強化學(xué)習(xí),ReasoNets可以動態(tài)確定究竟是在消化中間結(jié)果后繼續(xù)理解過程還是終止閱讀。

缺點

很難重現(xiàn)本文的結(jié)果。沒有開放代碼可用于此。 ReasoNet模型的使用非常有限。它只適用于一小段。給定一個更大的段落,這個模型通常需要很長時間,并以可能的跨度作為答案回來,這可能根本沒有任何意義。

GitHub中的資源貢獻,我們?yōu)檫@項工作增加了一些演示代碼,但沒有公開的GitHub代碼可用于此。

使用R-NET模型進行轉(zhuǎn)移學(xué)習(xí)的優(yōu)點和缺點

優(yōu)點

除了在SQUAD上進行培訓(xùn)外,我們還可以在MS-MARCO上訓(xùn)練此模型。在MS-MARCO中,每個問題都有幾個相應(yīng)的段落,所以我們只需按照數(shù)據(jù)集中給出的順序連接一個問題的所有段落。其次,MS-MARCO的答案不一定是這些段落的次要代表。在這方面,我們選擇評分最高的跨度,參考答案作為訓(xùn)練中的黃金跨度,并預(yù)測最高得分跨度作為預(yù)測的答案。 MS-MARCO數(shù)據(jù)集上的R-NET模型優(yōu)于其他競爭性基線,如ReasoNet。

缺點

對于數(shù)據(jù)驅(qū)動的方法,標(biāo)記數(shù)據(jù)可能成為更好性能的瓶頸。雖然文本很豐富,但找到符合SQUAD風(fēng)格的問題片段組合并不容易。為了生成更多的數(shù)據(jù),R-NET模型作者使用SQuAD數(shù)據(jù)集訓(xùn)練了一個序列到序列的問題生成模型,并從英文維基百科生成了大量的偽問題通道組合。但分析表明,生成問題的質(zhì)量需要改進。 R-NET僅適用于一小段。給定一個更大的段落或許多小段落,這個模型通常需要很長時間,并且以可能的跨度作為答案返回,這可能根本沒有任何意義。

使用SynNet模型進行Finetuning的優(yōu)點和缺點

優(yōu)點

在NewsQA數(shù)據(jù)集上使用SynNet模型非常簡單。它還在NewsQA數(shù)據(jù)集上生成了很好的問答組合。

缺點

SynNet模型的使用非常有限。很難在自定義段落/文本上運行打開的現(xiàn)有代碼。它需要大量的手動數(shù)據(jù)處理,并且這個打開的GitHub鏈接的步驟并不清楚。因此,我們無法在我們的測試書語料庫上對其進行評估。

使用OpenNMT模型進行微調(diào)優(yōu)的優(yōu)點和缺點

優(yōu)點

使用OpenNMT模型,我們能夠在沒有任何額外訓(xùn)練數(shù)據(jù)的情況下,獲得迄今為止最精確的小眾領(lǐng)域結(jié)果,以接近完全監(jiān)督的MRC系統(tǒng)性能。 OpenNMT分兩個階段工作:

答案綜合:給出一段文字,生成一個答案。

問題綜合:給出一個文本段落和一個答案,產(chǎn)生一個問題。

一旦我們從一個新領(lǐng)域獲得生成的問答組合,我們還可以在這些問答組合上訓(xùn)練一個Seq2Seq模型,用以從MRC中生成更多像人類一樣的對話式AI方法。

缺點

OpenNMT模型培訓(xùn)代碼不可用于開源。它只適用于一小段。給定一個更大的段落或許多小段落,這個模型通常需要很長時間,并且以可能的跨度作為答案返回,這可能根本沒有任何意義。

結(jié)論

在這篇博文中,我們展示了我們?nèi)绾问褂肈LVM來訓(xùn)練和比較不同的MRC模型進行遷移學(xué)習(xí)。我們評估了四種MRC算法,并通過使用每種模型為語料庫創(chuàng)建問答模型來比較它們的性能。在這篇文章中,我們展示了使用遷移學(xué)習(xí)選擇相關(guān)數(shù)據(jù)的重要性。這表明,考慮到任務(wù)和特定領(lǐng)域的特征,學(xué)習(xí)適當(dāng)?shù)臄?shù)據(jù)選擇措施的性能優(yōu)于現(xiàn)成的指標(biāo)。 MRC方法給了AI更多的理解力,但是MRC算法仍然不能真正理解內(nèi)容。例如,它不知道“英國搖滾樂隊酷玩樂團”究竟是什么,只知道它是超級碗相關(guān)問題的答案。有許多自然語言處理應(yīng)用程序需要能夠?qū)⒅R遷移到新的任務(wù)的模型,并通過人類理解來適應(yīng)新的領(lǐng)域,我們認(rèn)為這僅僅是文本遷移學(xué)習(xí)之旅的開始。

標(biāo)簽: linux 代碼 電子郵件 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:基于大數(shù)據(jù)的城市可視化治理:輔助決策模型與應(yīng)用

下一篇:從學(xué)術(shù)角度論Uber的人工智能預(yù)測醉酒專利