網(wǎng)上有很多關(guān)于復(fù)旦微pos機(jī),自然語言處理中的多任務(wù)學(xué)習(xí)的知識(shí),也有很多人為大家解答關(guān)于復(fù)旦微pos機(jī)的問題,今天pos機(jī)之家(m.afbey.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來看下吧!
本文目錄一覽:
復(fù)旦微pos機(jī)
導(dǎo)讀:本次報(bào)告內(nèi)容的題目是自然語言處理中的多任務(wù)學(xué)習(xí),報(bào)告主要分為四個(gè)部分:
1、基于深度學(xué)習(xí)的自然語言處理;
2、深度學(xué)習(xí)在自然語言處理中的困境;
3、自然語言處理中的多任務(wù)學(xué)習(xí);
4、新的多任務(wù)基準(zhǔn)平臺(tái)。
首先簡單介紹一下實(shí)驗(yàn)室情況,課題組主要聚焦于深度學(xué)習(xí)與自然語言處理領(lǐng)域,包括語言表示學(xué)習(xí)、詞法/句法分析、文本推理、問答系統(tǒng)等方面。開源自然語言處理系統(tǒng)FudanNLP,并推出全新的NLP系統(tǒng):fastNLP。
01
自然語言處理簡介
自然語言處理就像人類語言一樣,與人工語言的區(qū)別在于它是程序語言,自然語言處理包括語音識(shí)別、自然語言理解、自然語言生成、人機(jī)交互以及所涉及的中間階段。下面列舉出了自然語言處理的基礎(chǔ)技術(shù)、核心技術(shù)和一些應(yīng)用:
基礎(chǔ)技術(shù):詞法分析、句法分析、實(shí)體識(shí)別、語義分析、篇章分析、語言模型;核心技術(shù):機(jī)器翻譯、自動(dòng)問答、情感分析、信息抽取、文本摘要、文本蘊(yùn)含;應(yīng)用:智能客服、搜索引擎、個(gè)人助理、推薦系統(tǒng)、輿情分析、知識(shí)圖譜。自然語言處理最初由規(guī)則驅(qū)動(dòng),逐步發(fā)展為數(shù)據(jù)驅(qū)動(dòng)。
--
02
深度學(xué)習(xí)在自然語言處理中的困境
由于缺少大規(guī)模的標(biāo)注數(shù)據(jù)或者標(biāo)注代價(jià)太高,目前大部分用在NLP上的神經(jīng)網(wǎng)絡(luò)都不是很深,一般情況下,一層LSTM+Attention就足夠完成大部分NLP任務(wù)。解決問題的方法包括有無監(jiān)督預(yù)訓(xùn)練、多任務(wù)學(xué)習(xí)和遷移學(xué)習(xí)。今天我們主要介紹多任務(wù)學(xué)習(xí)。
1.無監(jiān)督預(yù)訓(xùn)練
首先我們來介紹一下NLP中非常重要的無監(jiān)督預(yù)訓(xùn)練,早期有很多研究者使用詞向量等詞級別的模型,后來發(fā)展為使用句子級別的模型,例如最近出現(xiàn)的ELMo、OpenAI GPT、BERT等,人們從最初學(xué)習(xí)更好的詞的表示轉(zhuǎn)變?yōu)閷W(xué)習(xí)更好的句子的表示。
論文Deep Contextualized Word Representations主要描述的是ELMo問題,通過建立兩個(gè)雙向的LSTM來預(yù)測一個(gè)前向、正向的語言模型,然后將它們拼起來,這個(gè)模型是一個(gè)非常好的遷移模型。
谷歌新推出的BERT是將機(jī)器翻譯中的常用模型transformer的雙向訓(xùn)練用于建模,它在很多任務(wù)中取得了較好的效果。
這些模型證明在NLP中表示學(xué)習(xí)依然十分重要,表示學(xué)習(xí)是從文本輸入到計(jì)算機(jī)內(nèi)部的一種表示,對于NLP任務(wù),表示學(xué)習(xí)是指將語義信息表示成稠密、低維的實(shí)值向量。表示好之后送到分類器中,好的表示是一個(gè)非常主觀的概念,沒有一個(gè)明確的標(biāo)準(zhǔn)。一般而言,好的表示具有以下幾個(gè)優(yōu)點(diǎn):
1)應(yīng)該具有很強(qiáng)的表示能力,模型需要一定的深度;
2)應(yīng)該使后續(xù)的學(xué)習(xí)任務(wù)變得簡單;
3)應(yīng)該具有一般性,是任務(wù)或領(lǐng)域獨(dú)立的。
2. 多任務(wù)學(xué)習(xí)
下面給出一個(gè)多任務(wù)學(xué)習(xí)的例子,對于兩個(gè)單獨(dú)的任務(wù)訓(xùn)練兩個(gè)模型,對于任務(wù)1訓(xùn)練一個(gè)模型1,對于任務(wù)2訓(xùn)練一個(gè)模型2,多任務(wù)就是將兩個(gè)任務(wù)放在一起用一個(gè)模型來處理。
多任務(wù)學(xué)習(xí)最早在97年被提出,多任務(wù)學(xué)習(xí)隱含著從其他任務(wù)中學(xué)習(xí)一種共享的表示,共享表示可以作為一種歸納偏置,歸納偏置可以看做是對問題相關(guān)的經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行分析,從中歸納出反映問題本質(zhì)的模型的過程,不同的學(xué)習(xí)算法(決策樹、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī))具有不同的歸納偏置,在學(xué)習(xí)不同的任務(wù)過程中使用共享表示,可以使在某個(gè)任務(wù)中學(xué)習(xí)到的內(nèi)容可以幫助其他任務(wù)學(xué)習(xí)的更好。
由于傳統(tǒng)NLP的表示空間是離散的,MTL+NLP在傳統(tǒng)的NLP模型是非常難實(shí)現(xiàn)的,隨著深度學(xué)習(xí)的應(yīng)用,整個(gè)NLP的表示空間變?yōu)檫B續(xù)的,使得任務(wù)實(shí)現(xiàn)更加容易。例如下圖中taskA和taskB兩個(gè)任務(wù)可以共享同一個(gè)模型。
不同學(xué)習(xí)方式之間的關(guān)系:多任務(wù)學(xué)習(xí)之上有遷移學(xué)習(xí),之下有多標(biāo)簽學(xué)習(xí)和多類學(xué)習(xí)。
損失函數(shù):假設(shè)有m個(gè)任務(wù),多任務(wù)學(xué)習(xí)的損失函數(shù)是將各個(gè)任務(wù)的損失函數(shù)相加求得聯(lián)合損失函數(shù)joint loss。
訓(xùn)練方式:首先進(jìn)行Joint Ttaining,Training之后進(jìn)行Fine Tunning。
多任務(wù)學(xué)習(xí)工作的優(yōu)點(diǎn):
1)隱式的數(shù)據(jù)增強(qiáng):一個(gè)任務(wù)的數(shù)據(jù)量相對較少,而實(shí)現(xiàn)多個(gè)任務(wù)時(shí)數(shù)據(jù)量就得到了擴(kuò)充,隱含地做了一個(gè)數(shù)據(jù)共享。
2)更好地表示學(xué)習(xí):一個(gè)好的表示需要能夠提高多個(gè)任務(wù)的性能。
3)正則化:共享參數(shù)在一定程度上弱化了網(wǎng)絡(luò)能力,防止過度擬合。
4)竊聽:某個(gè)特征很容易被任務(wù)A學(xué)習(xí),但是難以被另一個(gè)任務(wù)B學(xué)習(xí),這可能是因?yàn)锽以更復(fù)雜的方式與特征進(jìn)行交互或者因?yàn)槠渌卣髯璧K了模型學(xué)習(xí)該特征的能力。通過MTL,我們可以允許模型竊聽,即通過任務(wù)A來學(xué)習(xí)該特征。
目前NLP中每個(gè)任務(wù)只做其中的一塊,如果我們把這些任務(wù)拼起來會(huì)取得更好的效果。
--
03
自然語言處理中的多任務(wù)學(xué)習(xí)
下面介紹幾種多任務(wù)學(xué)習(xí)的方式,傳統(tǒng)的自然語言處理在輸入端輸入文本,之后進(jìn)行詞法分析和句法分析最后完成任務(wù),這種方式很難實(shí)現(xiàn),在有了多任務(wù)學(xué)習(xí)之后,不同的任務(wù)可以共享詞法分析和句法分析模塊,自然語言處理的方式得到了簡化。
自然語言中的多任務(wù)學(xué)習(xí)包括有:多領(lǐng)域任務(wù)、多級任務(wù)、多語言任務(wù)、多模態(tài)任務(wù)等。
深度學(xué)習(xí)+多任務(wù)學(xué)習(xí)有硬共享、軟共享、共享-私有等多種模式。
硬共享模式:在下層共享,上層根據(jù)自己不同的任務(wù)做不同的設(shè)計(jì);軟共享模式:每個(gè)任務(wù)都有自己的流程,從信息流來看就是從輸入到A有自己的體系流程,還可以從其他任務(wù)的表示方法中拿一些東西過來;共享-私有模式:一部分共享,一部分私有的信息傳遞機(jī)制。此外還有多級共享、函數(shù)共享、主輔共享等多種共享模式,下面將一一介紹。
1.硬共享模式
硬共享在下面層共享,上面根據(jù)自己的不同的任務(wù)來做不同的設(shè)計(jì),這種方法最早在2008年由Ronan Collobert在論文A Unified Architecture for Natural Language Processing:Deep Neural Networks with Multitask Learning中提出,應(yīng)用到了很多與語義相關(guān)和語法相關(guān)的方面,例如機(jī)器翻譯、文本分類等。
后來人們將注意力機(jī)制模型用于共享模式,注意力機(jī)制不需要使用所有的信息,只需要將其中部分信息選擇出來,人們基于注意力機(jī)制做了共享模式。
原來的多任務(wù)學(xué)習(xí)如圖a所示,下面的s是共享層,p是不同任務(wù)自己的設(shè)計(jì)?,F(xiàn)在我們將原有的算法轉(zhuǎn)換成大圖c的形式,所有的表示函數(shù)共享,在輸入到具體任務(wù)的時(shí)候使用一個(gè)和任務(wù)相關(guān)的查詢Q去s中選擇任務(wù)相關(guān)的信息。雖然表示方式是一樣的,但是針對不同的具體任務(wù),會(huì)根據(jù)每個(gè)任務(wù)關(guān)注點(diǎn)的不同來選擇相應(yīng)的信息。
2.軟共享模式
在軟共享模式中沒有嚴(yán)格規(guī)定共享層。經(jīng)典網(wǎng)絡(luò)cross-stitch結(jié)構(gòu)中,上面是taskA,下面是taskB,在中間部分兩個(gè)任務(wù)有交互,α是權(quán)重系數(shù),表示taskA中有多少信息從自身流過來,有多少信息從taskB中流過來,這樣兩個(gè)任務(wù)就由兩路,四個(gè)系數(shù)構(gòu)成一個(gè)矩陣做權(quán)重組合,如果用到神經(jīng)網(wǎng)絡(luò)就類似于下圖中右邊的這種形式,這種網(wǎng)絡(luò)最初應(yīng)用于機(jī)器視覺領(lǐng)域,后來被人們用于NLP。
3.共享-私有模式
在共享-私有模式中部分網(wǎng)絡(luò)模塊在所有的任務(wù)中是共享的,通過設(shè)置外部記憶共享機(jī)制來實(shí)現(xiàn)信息共享,神經(jīng)圖靈機(jī)就是在神經(jīng)網(wǎng)絡(luò)中引入一個(gè)memory模塊,整個(gè)框架就是用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的一個(gè)控制器,加讀寫頭和外部輸入。圖靈機(jī)全部由神經(jīng)網(wǎng)絡(luò)搭建而成。
基于神經(jīng)圖靈機(jī)的想法我們可以做一個(gè)多任務(wù)學(xué)習(xí),每個(gè)任務(wù)我們都可以看做是一個(gè)單獨(dú)的圖靈機(jī),外部的memory在所有的任務(wù)中共享。在下圖中M是外部記憶,外部記憶由兩個(gè)任務(wù)共享,每個(gè)任務(wù)都會(huì)把共享信息寫到外部記憶中,這是一種非常簡單的共享方式。
為了避免上圖中的負(fù)遷移negative transfer,就需要判斷哪些內(nèi)容是和任務(wù)相關(guān)的,這就引入了近兩年流行的對抗學(xué)習(xí),在對抗學(xué)習(xí)中,中間的LSTM共享層有一個(gè)判決器來區(qū)分共享特征從哪個(gè)任務(wù)傳遞過來,在送入LSTM之前會(huì)包含有特征的來源信息。因此我們希望訓(xùn)練一個(gè)和判決器對抗的網(wǎng)絡(luò),在共享的LSTM層中盡可能讓判決器不能區(qū)分任務(wù)來源。這樣就去掉了特征的源信息,保證了共享LSTM學(xué)到的是與源無關(guān)的共享價(jià)值信息,這些叫做對抗信息。
下面我們將介紹幾種未來研究的方向:
函數(shù)共享模式之前我們了解的多任務(wù)學(xué)習(xí)都是特征共享,在函數(shù)共享中我們學(xué)的不再是共享特征而是共享函數(shù),來生成一些參數(shù)或模型,這里我們將feature級的共享遷移到函數(shù)級的共享,下圖中第一幅圖圖是特征共享,中間藍(lán)色的是共享層,它將學(xué)到的特征送到上下兩個(gè)任務(wù)中,第二幅圖是函數(shù)共享,函數(shù)共享中共享層的輸出不是直接送到上下兩個(gè)分類器中,而是決定了上下兩個(gè)分類器的參數(shù)。通過修改分類器來有效利用這些信息。
多級共享模式2016年Anders Sфgaard等人在論文Deep Multi-task Learning with Low Levels Tasks Supervised at Lower Layers中提出在低級的網(wǎng)絡(luò)層次輸出低級的任務(wù),在高級的網(wǎng)絡(luò)層次輸出高級的任務(wù)。例如在第一層輸出詞性標(biāo)簽POS tag,在第三層輸出chunk tag,將NLP任務(wù)按照不同的級別來設(shè)計(jì)共享模式。
主輔任務(wù)模式在做任何一個(gè)主要任務(wù)的同時(shí)都可以引入一個(gè)輔助任務(wù)。如下圖,我們對每個(gè)任務(wù)引入一個(gè)輔助的語言模型,每個(gè)任務(wù)都使用左右兩個(gè)語言模型,對所有任務(wù)進(jìn)行這種拓展就形成了主輔任務(wù)模式。
共享模式搜索共享模式搜索是讓計(jì)算機(jī)自動(dòng)搜索這些共享模式,具體做法如圖d所示,我們希望設(shè)計(jì)一種靈活的框架,在共享池中放入很多不同的模塊,每個(gè)任務(wù)在完成過程中可以從共享池中挑選一些模塊來組裝自己的guideline。示例中任務(wù)A挑選了4、3、1,任務(wù)B挑選了3、2、1,這就隱含了A從M4出來,而B從M3出來,C從M2出來,這樣一種層次化的共享模式設(shè)計(jì)。它本身也可以實(shí)現(xiàn)hard和soft的兩種表示方式,因此是一種非常靈活的表示方式。
在面向NLP的神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索中,從共享池中挑選Ma1,Ma2等模塊來組成不同的模型,將模型帶入任務(wù)中去訓(xùn)練,得到正確率作為reward反饋給分類器從而選擇更合適的組合方式來完成任務(wù)。
下面給出的例子就是對不同的任務(wù)挑選的不同的組合方式,其中有些組合方式非常類似。
--
04
新的多任務(wù)基準(zhǔn)平臺(tái)
首先介紹一下機(jī)器閱讀理解,機(jī)器閱讀理解是在閱讀一篇或多篇文檔后,回答一些相關(guān)問題。由機(jī)器來生成答案,答案可能在原文中出現(xiàn)也可能不在原文中出現(xiàn),目前機(jī)器閱讀理解大部分都假設(shè)答案在原文中出現(xiàn),我們用的一個(gè)主要框架是Biderectional Attention,同時(shí)給你context和query,做一個(gè)雙向的注意力交互,最終確定兩個(gè)位置,一個(gè)是答案開始的位置,一個(gè)是答案結(jié)束的位置,大部分的問題都可以通過這個(gè)框架來解決,這個(gè)框架具有通用性。幾乎NLP所有任務(wù)都可以轉(zhuǎn)化成閱讀理解任務(wù)通過該框架解決和完成。
今年新發(fā)布的一個(gè)NLP通用的多任務(wù)學(xué)習(xí)系統(tǒng)叫做十項(xiàng)全能,選取了十個(gè)典型的NLP任務(wù)轉(zhuǎn)化成閱讀理解的形式,例如左下角的情感分類問題,將這些任務(wù)轉(zhuǎn)換到閱讀理解問題后采用Biderectional Attention框架去處理。由于這些問題的答案不一定出現(xiàn)在背景文檔中,因此需要對Biderectional Attention框架進(jìn)行改進(jìn)。
還有一個(gè)較大的框架是GLUE,也是將很多NLP任務(wù)轉(zhuǎn)化成一個(gè)統(tǒng)一的形式。下圖中是三個(gè)任務(wù):單個(gè)句子任務(wù)、計(jì)算兩個(gè)句子相似度、表示兩個(gè)句子之間的蘊(yùn)含關(guān)系。這些任務(wù)都可以做成encoder和decoder模式。
--
05
總結(jié)
最后,我們對今天介紹的內(nèi)容做一個(gè)總結(jié)。今天主要介紹了自然語言處理簡介、基于深度學(xué)習(xí)的自然語言處理、深度學(xué)習(xí)在自然語言處理中的困境、多任務(wù)學(xué)習(xí)和新的多任務(wù)基準(zhǔn)平臺(tái)。總的來說多任務(wù)學(xué)習(xí)的難度會(huì)比遷移訓(xùn)練低而效果比預(yù)訓(xùn)練要高一些。
另外,在今年12月中旬,我們將發(fā)布一個(gè)模塊化的開源自然語言工具fastNLP。
這個(gè)工具包括Spacy高級接口、AllenNLP自定義模塊、AutoML自動(dòng)調(diào)參。將訓(xùn)練好的模型開放出來供大家直接調(diào)用。
為實(shí)現(xiàn)模塊化,我們將NLP分為四個(gè)構(gòu)成組件:
編碼器:將輸入編碼為一些抽象表示,輸入的是單詞序列,輸出是向量序列;交互器:使表示中的信息相互交互,輸入的是向量序列,輸出的也是向量序列;聚合器:聚合信息,輸入向量序列,輸出一個(gè)向量;解碼器:將表示解碼為輸出,輸出一個(gè)標(biāo)簽或者輸出標(biāo)簽序列。這里我們給出了兩個(gè)示例,分別是文本分類和序列標(biāo)注。
可以應(yīng)用的場景主要包括:
直接調(diào)用;模型開發(fā);自動(dòng)化學(xué)習(xí)。今天的分享就到這里,謝謝大家。
閱讀更多技術(shù)干貨文章、下載講師PPT,請關(guān)注微信公眾號“DataFunTalk”。
分享嘉賓:邱錫鵬 復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院 副教授,博士生導(dǎo)師
編輯整理:靳韡赟
內(nèi)容來源:DataFun AI Talk《自然語言處理中的多任務(wù)學(xué)習(xí)》
出品社區(qū):DataFun
作者介紹:
邱錫鵬,復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院 副教授,博士生導(dǎo)師,于復(fù)旦大學(xué)獲得理學(xué)學(xué)士和博士學(xué)位。中國中文信息學(xué)會(huì)青年工作委員會(huì)執(zhí)委、計(jì)算語言學(xué)專委會(huì)委員、中國人工智能學(xué)會(huì)青年工作委員會(huì)常務(wù)委員、自然語言理解專委會(huì)委員。主要研究領(lǐng)域包括人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、自然語言處理等,并且在上述領(lǐng)域的頂級期刊、會(huì)議(ACL/EMNLP/IJCAI/AAAI等)上發(fā)表過50余篇論文。自然語言處理開源工具FudanNLP作者,2015年入選首屆中國科協(xié)青年人才托舉工程,2017年ACL杰出論文獎(jiǎng)。
活動(dòng)推薦:
關(guān)于我們:
DataFun:專注于大數(shù)據(jù)、人工智能技術(shù)應(yīng)用的分享與交流。發(fā)起于2017年,在北京、上海、深圳、杭州等城市舉辦超過100+線下和100+線上沙龍、論壇及峰會(huì),已邀請超過2000位專家和學(xué)者參與分享。其公眾號 DataFunTalk 累計(jì)生產(chǎn)原創(chuàng)文章700+,百萬+閱讀,14萬+精準(zhǔn)粉絲。
歡迎轉(zhuǎn)載分享評論,轉(zhuǎn)載請私信。
以上就是關(guān)于復(fù)旦微pos機(jī),自然語言處理中的多任務(wù)學(xué)習(xí)的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于復(fù)旦微pos機(jī)的知識(shí),希望能夠幫助到大家!
![](/style/images/zhouzong.jpg)