復旦微pos機,自然語言處理中的多任務學習

 新聞資訊2  |   2023-06-27 09:18  |  投稿人:pos機之家

網(wǎng)上有很多關于復旦微pos機,自然語言處理中的多任務學習的知識,也有很多人為大家解答關于復旦微pos機的問題,今天pos機之家(www.shineka.com)為大家整理了關于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、復旦微pos機

復旦微pos機

導讀:本次報告內(nèi)容的題目是自然語言處理中的多任務學習,報告主要分為四個部分:

1、基于深度學習的自然語言處理;

2、深度學習在自然語言處理中的困境;

3、自然語言處理中的多任務學習;

4、新的多任務基準平臺。

首先簡單介紹一下實驗室情況,課題組主要聚焦于深度學習與自然語言處理領域,包括語言表示學習、詞法/句法分析、文本推理、問答系統(tǒng)等方面。開源自然語言處理系統(tǒng)FudanNLP,并推出全新的NLP系統(tǒng):fastNLP。

01

自然語言處理簡介

自然語言處理就像人類語言一樣,與人工語言的區(qū)別在于它是程序語言,自然語言處理包括語音識別、自然語言理解、自然語言生成、人機交互以及所涉及的中間階段。下面列舉出了自然語言處理的基礎技術、核心技術和一些應用:

基礎技術:詞法分析、句法分析、實體識別、語義分析、篇章分析、語言模型;核心技術:機器翻譯、自動問答、情感分析、信息抽取、文本摘要、文本蘊含;應用:智能客服、搜索引擎、個人助理、推薦系統(tǒng)、輿情分析、知識圖譜。

自然語言處理最初由規(guī)則驅動,逐步發(fā)展為數(shù)據(jù)驅動。

--

02

深度學習在自然語言處理中的困境

由于缺少大規(guī)模的標注數(shù)據(jù)或者標注代價太高,目前大部分用在NLP上的神經(jīng)網(wǎng)絡都不是很深,一般情況下,一層LSTM+Attention就足夠完成大部分NLP任務。解決問題的方法包括有無監(jiān)督預訓練、多任務學習和遷移學習。今天我們主要介紹多任務學習。

1.無監(jiān)督預訓練

首先我們來介紹一下NLP中非常重要的無監(jiān)督預訓練,早期有很多研究者使用詞向量等詞級別的模型,后來發(fā)展為使用句子級別的模型,例如最近出現(xiàn)的ELMo、OpenAI GPT、BERT等,人們從最初學習更好的詞的表示轉變?yōu)閷W習更好的句子的表示。

論文Deep Contextualized Word Representations主要描述的是ELMo問題,通過建立兩個雙向的LSTM來預測一個前向、正向的語言模型,然后將它們拼起來,這個模型是一個非常好的遷移模型。

谷歌新推出的BERT是將機器翻譯中的常用模型transformer的雙向訓練用于建模,它在很多任務中取得了較好的效果。

這些模型證明在NLP中表示學習依然十分重要,表示學習是從文本輸入到計算機內(nèi)部的一種表示,對于NLP任務,表示學習是指將語義信息表示成稠密、低維的實值向量。表示好之后送到分類器中,好的表示是一個非常主觀的概念,沒有一個明確的標準。一般而言,好的表示具有以下幾個優(yōu)點:

1)應該具有很強的表示能力,模型需要一定的深度;

2)應該使后續(xù)的學習任務變得簡單;

3)應該具有一般性,是任務或領域獨立的。

2. 多任務學習

下面給出一個多任務學習的例子,對于兩個單獨的任務訓練兩個模型,對于任務1訓練一個模型1,對于任務2訓練一個模型2,多任務就是將兩個任務放在一起用一個模型來處理。

多任務學習最早在97年被提出,多任務學習隱含著從其他任務中學習一種共享的表示,共享表示可以作為一種歸納偏置,歸納偏置可以看做是對問題相關的經(jīng)驗數(shù)據(jù)進行分析,從中歸納出反映問題本質的模型的過程,不同的學習算法(決策樹、神經(jīng)網(wǎng)絡、支持向量機)具有不同的歸納偏置,在學習不同的任務過程中使用共享表示,可以使在某個任務中學習到的內(nèi)容可以幫助其他任務學習的更好。

由于傳統(tǒng)NLP的表示空間是離散的,MTL+NLP在傳統(tǒng)的NLP模型是非常難實現(xiàn)的,隨著深度學習的應用,整個NLP的表示空間變?yōu)檫B續(xù)的,使得任務實現(xiàn)更加容易。例如下圖中taskA和taskB兩個任務可以共享同一個模型。

不同學習方式之間的關系:多任務學習之上有遷移學習,之下有多標簽學習和多類學習。

損失函數(shù):假設有m個任務,多任務學習的損失函數(shù)是將各個任務的損失函數(shù)相加求得聯(lián)合損失函數(shù)joint loss。

訓練方式:首先進行Joint Ttaining,Training之后進行Fine Tunning。

多任務學習工作的優(yōu)點:

1)隱式的數(shù)據(jù)增強:一個任務的數(shù)據(jù)量相對較少,而實現(xiàn)多個任務時數(shù)據(jù)量就得到了擴充,隱含地做了一個數(shù)據(jù)共享。

2)更好地表示學習:一個好的表示需要能夠提高多個任務的性能。

3)正則化:共享參數(shù)在一定程度上弱化了網(wǎng)絡能力,防止過度擬合。

4)竊聽:某個特征很容易被任務A學習,但是難以被另一個任務B學習,這可能是因為B以更復雜的方式與特征進行交互或者因為其它特征阻礙了模型學習該特征的能力。通過MTL,我們可以允許模型竊聽,即通過任務A來學習該特征。

目前NLP中每個任務只做其中的一塊,如果我們把這些任務拼起來會取得更好的效果。

--

03

自然語言處理中的多任務學習

下面介紹幾種多任務學習的方式,傳統(tǒng)的自然語言處理在輸入端輸入文本,之后進行詞法分析和句法分析最后完成任務,這種方式很難實現(xiàn),在有了多任務學習之后,不同的任務可以共享詞法分析和句法分析模塊,自然語言處理的方式得到了簡化。

自然語言中的多任務學習包括有:多領域任務、多級任務、多語言任務、多模態(tài)任務等。

深度學習+多任務學習有硬共享、軟共享、共享-私有等多種模式。

硬共享模式:在下層共享,上層根據(jù)自己不同的任務做不同的設計;軟共享模式:每個任務都有自己的流程,從信息流來看就是從輸入到A有自己的體系流程,還可以從其他任務的表示方法中拿一些東西過來;共享-私有模式:一部分共享,一部分私有的信息傳遞機制。

此外還有多級共享、函數(shù)共享、主輔共享等多種共享模式,下面將一一介紹。

1.硬共享模式

硬共享在下面層共享,上面根據(jù)自己的不同的任務來做不同的設計,這種方法最早在2008年由Ronan Collobert在論文A Unified Architecture for Natural Language Processing:Deep Neural Networks with Multitask Learning中提出,應用到了很多與語義相關和語法相關的方面,例如機器翻譯、文本分類等。

后來人們將注意力機制模型用于共享模式,注意力機制不需要使用所有的信息,只需要將其中部分信息選擇出來,人們基于注意力機制做了共享模式。

原來的多任務學習如圖a所示,下面的s是共享層,p是不同任務自己的設計?,F(xiàn)在我們將原有的算法轉換成大圖c的形式,所有的表示函數(shù)共享,在輸入到具體任務的時候使用一個和任務相關的查詢Q去s中選擇任務相關的信息。雖然表示方式是一樣的,但是針對不同的具體任務,會根據(jù)每個任務關注點的不同來選擇相應的信息。

2.軟共享模式

在軟共享模式中沒有嚴格規(guī)定共享層。經(jīng)典網(wǎng)絡cross-stitch結構中,上面是taskA,下面是taskB,在中間部分兩個任務有交互,α是權重系數(shù),表示taskA中有多少信息從自身流過來,有多少信息從taskB中流過來,這樣兩個任務就由兩路,四個系數(shù)構成一個矩陣做權重組合,如果用到神經(jīng)網(wǎng)絡就類似于下圖中右邊的這種形式,這種網(wǎng)絡最初應用于機器視覺領域,后來被人們用于NLP。

3.共享-私有模式

在共享-私有模式中部分網(wǎng)絡模塊在所有的任務中是共享的,通過設置外部記憶共享機制來實現(xiàn)信息共享,神經(jīng)圖靈機就是在神經(jīng)網(wǎng)絡中引入一個memory模塊,整個框架就是用神經(jīng)網(wǎng)絡實現(xiàn)的一個控制器,加讀寫頭和外部輸入。圖靈機全部由神經(jīng)網(wǎng)絡搭建而成。

基于神經(jīng)圖靈機的想法我們可以做一個多任務學習,每個任務我們都可以看做是一個單獨的圖靈機,外部的memory在所有的任務中共享。在下圖中M是外部記憶,外部記憶由兩個任務共享,每個任務都會把共享信息寫到外部記憶中,這是一種非常簡單的共享方式。

為了避免上圖中的負遷移negative transfer,就需要判斷哪些內(nèi)容是和任務相關的,這就引入了近兩年流行的對抗學習,在對抗學習中,中間的LSTM共享層有一個判決器來區(qū)分共享特征從哪個任務傳遞過來,在送入LSTM之前會包含有特征的來源信息。因此我們希望訓練一個和判決器對抗的網(wǎng)絡,在共享的LSTM層中盡可能讓判決器不能區(qū)分任務來源。這樣就去掉了特征的源信息,保證了共享LSTM學到的是與源無關的共享價值信息,這些叫做對抗信息。

下面我們將介紹幾種未來研究的方向:

函數(shù)共享模式

之前我們了解的多任務學習都是特征共享,在函數(shù)共享中我們學的不再是共享特征而是共享函數(shù),來生成一些參數(shù)或模型,這里我們將feature級的共享遷移到函數(shù)級的共享,下圖中第一幅圖圖是特征共享,中間藍色的是共享層,它將學到的特征送到上下兩個任務中,第二幅圖是函數(shù)共享,函數(shù)共享中共享層的輸出不是直接送到上下兩個分類器中,而是決定了上下兩個分類器的參數(shù)。通過修改分類器來有效利用這些信息。

多級共享模式

2016年Anders Sфgaard等人在論文Deep Multi-task Learning with Low Levels Tasks Supervised at Lower Layers中提出在低級的網(wǎng)絡層次輸出低級的任務,在高級的網(wǎng)絡層次輸出高級的任務。例如在第一層輸出詞性標簽POS tag,在第三層輸出chunk tag,將NLP任務按照不同的級別來設計共享模式。

主輔任務模式

在做任何一個主要任務的同時都可以引入一個輔助任務。如下圖,我們對每個任務引入一個輔助的語言模型,每個任務都使用左右兩個語言模型,對所有任務進行這種拓展就形成了主輔任務模式。

共享模式搜索

共享模式搜索是讓計算機自動搜索這些共享模式,具體做法如圖d所示,我們希望設計一種靈活的框架,在共享池中放入很多不同的模塊,每個任務在完成過程中可以從共享池中挑選一些模塊來組裝自己的guideline。示例中任務A挑選了4、3、1,任務B挑選了3、2、1,這就隱含了A從M4出來,而B從M3出來,C從M2出來,這樣一種層次化的共享模式設計。它本身也可以實現(xiàn)hard和soft的兩種表示方式,因此是一種非常靈活的表示方式。

在面向NLP的神經(jīng)網(wǎng)絡架構搜索中,從共享池中挑選Ma1,Ma2等模塊來組成不同的模型,將模型帶入任務中去訓練,得到正確率作為reward反饋給分類器從而選擇更合適的組合方式來完成任務。

下面給出的例子就是對不同的任務挑選的不同的組合方式,其中有些組合方式非常類似。

--

04

新的多任務基準平臺

首先介紹一下機器閱讀理解,機器閱讀理解是在閱讀一篇或多篇文檔后,回答一些相關問題。由機器來生成答案,答案可能在原文中出現(xiàn)也可能不在原文中出現(xiàn),目前機器閱讀理解大部分都假設答案在原文中出現(xiàn),我們用的一個主要框架是Biderectional Attention,同時給你context和query,做一個雙向的注意力交互,最終確定兩個位置,一個是答案開始的位置,一個是答案結束的位置,大部分的問題都可以通過這個框架來解決,這個框架具有通用性。幾乎NLP所有任務都可以轉化成閱讀理解任務通過該框架解決和完成。

今年新發(fā)布的一個NLP通用的多任務學習系統(tǒng)叫做十項全能,選取了十個典型的NLP任務轉化成閱讀理解的形式,例如左下角的情感分類問題,將這些任務轉換到閱讀理解問題后采用Biderectional Attention框架去處理。由于這些問題的答案不一定出現(xiàn)在背景文檔中,因此需要對Biderectional Attention框架進行改進。

還有一個較大的框架是GLUE,也是將很多NLP任務轉化成一個統(tǒng)一的形式。下圖中是三個任務:單個句子任務、計算兩個句子相似度、表示兩個句子之間的蘊含關系。這些任務都可以做成encoder和decoder模式。

--

05

總結

最后,我們對今天介紹的內(nèi)容做一個總結。今天主要介紹了自然語言處理簡介、基于深度學習的自然語言處理、深度學習在自然語言處理中的困境、多任務學習和新的多任務基準平臺。總的來說多任務學習的難度會比遷移訓練低而效果比預訓練要高一些。

另外,在今年12月中旬,我們將發(fā)布一個模塊化的開源自然語言工具fastNLP。

這個工具包括Spacy高級接口、AllenNLP自定義模塊、AutoML自動調(diào)參。將訓練好的模型開放出來供大家直接調(diào)用。

為實現(xiàn)模塊化,我們將NLP分為四個構成組件:

編碼器:將輸入編碼為一些抽象表示,輸入的是單詞序列,輸出是向量序列;交互器:使表示中的信息相互交互,輸入的是向量序列,輸出的也是向量序列;聚合器:聚合信息,輸入向量序列,輸出一個向量;解碼器:將表示解碼為輸出,輸出一個標簽或者輸出標簽序列。

這里我們給出了兩個示例,分別是文本分類和序列標注。

可以應用的場景主要包括:

直接調(diào)用;模型開發(fā);自動化學習。

今天的分享就到這里,謝謝大家。

閱讀更多技術干貨文章、下載講師PPT,請關注微信公眾號“DataFunTalk”。

分享嘉賓:邱錫鵬 復旦大學計算機科學技術學院 副教授,博士生導師

編輯整理:靳韡赟

內(nèi)容來源:DataFun AI Talk《自然語言處理中的多任務學習》

出品社區(qū):DataFun

作者介紹:

邱錫鵬,復旦大學計算機科學技術學院 副教授,博士生導師,于復旦大學獲得理學學士和博士學位。中國中文信息學會青年工作委員會執(zhí)委、計算語言學專委會委員、中國人工智能學會青年工作委員會常務委員、自然語言理解專委會委員。主要研究領域包括人工智能、機器學習、深度學習、自然語言處理等,并且在上述領域的頂級期刊、會議(ACL/EMNLP/IJCAI/AAAI等)上發(fā)表過50余篇論文。自然語言處理開源工具FudanNLP作者,2015年入選首屆中國科協(xié)青年人才托舉工程,2017年ACL杰出論文獎。

活動推薦:

關于我們:

DataFun:專注于大數(shù)據(jù)、人工智能技術應用的分享與交流。發(fā)起于2017年,在北京、上海、深圳、杭州等城市舉辦超過100+線下和100+線上沙龍、論壇及峰會,已邀請超過2000位專家和學者參與分享。其公眾號 DataFunTalk 累計生產(chǎn)原創(chuàng)文章700+,百萬+閱讀,14萬+精準粉絲。

歡迎轉載分享評論,轉載請私信。

以上就是關于復旦微pos機,自然語言處理中的多任務學習的知識,后面我們會繼續(xù)為大家整理關于復旦微pos機的知識,希望能夠幫助到大家!

轉發(fā)請帶上網(wǎng)址:http://www.shineka.com/newsone/74359.html

你可能會喜歡:

版權聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。