復旦大學陳俊坤:自然語言處理中的多任務學習|AI 研習社職播間第 6 期
雷鋒網 AI 科技評論編者按:過去幾年,深度學習在自然語言處理中取得了很大的進展,但進展的幅度並不像其在計算機視覺中那麼顯著。其中一個重要的原因是數據規模問題。多任務學習是將多個任務一起學習,充分挖掘多個任務之間的相關性,來提高每個任務的模型準確率,從而可以減少每個任務對訓練數據量的需求。
近日,在雷鋒網 AI 研習社公開課上,復旦大學計算機系在讀碩士陳俊坤分享了其所在研究組關於多任務學習在自然語言處理領域的最新工作。公開課回放視頻網址:
http://www.mooc.ai/open/course/574?=chenjunkun
分享嘉賓:
陳俊坤,復旦大學計算機系在讀碩士,導師是邱錫鵬副教授,主要研究方向為自然語言處理,多任務學習等。其研究工作曾在 AAAI, IJCAI 上發表。
分享主題:自然語言處理中的多任務學習 & 復旦大學 NLP 實驗室介紹
分享提綱:
1、復旦大學 NLP 實驗室介紹
2、基於深度學習的自然語言處理
3、深度學習在自然語言處理中的困境
4、自然語言中的多任務學習
5、多任務基準平台
雷鋒網 AI 研習社將其分享內容整理如下:
本次的分享主要有兩個目的:一是介紹一下復旦大學 NLP 實驗室的相關工作;二是讓願意攻讀研究生的同學對國內實驗室有更多的了解,從而在選擇攻讀研究生上更有目標性。
復旦大學 NLP 實驗室介紹分享之前,先進行一下自我介紹,我目前在復旦大學 NLP 實驗室攻讀研三,師從邱錫鵬副教授,現在也是位元組跳動 AI Lab 的實習生,研究方向主要是自然語言處理、多任務學習和遷移學習。今天的分享,我會重點講一下多任務學習。
另外介紹一下復旦大學 NLP 實驗室,它致力於利用機器技術,理解和處理人類語言,擁有國內領先的團隊,實驗室的老師都有非常豐富的經驗。我所在的研究組主要聚焦於深度學習和自然語言處理領域,包括語言表示學習、詞法/句法分析、文本推理、問答系統等方面,指導老師是邱錫鵬副教授,近幾年來,我們發表國際頂級會議/期刊 50 余篇,還獲得了 ACL 2017 傑出論文;在 SQUAD 2.0 上獲得第二的成績,並在 SQUAD 1.1 上多次獲得第一;另外我們也開發開源自然語言處理系統,希望能幫助大眾解決更多問題,其中包括 FudanNLP(國內最早的開源 NLP 系統之一)、fastNLP(一個模塊化、自動化、可擴展的 NLP 系統)。
本次自然語言處理的報告綱要包括:
打開今日頭條,查看更多圖片自然語言處理簡介
自然語言處理簡介
基於深度學習的自然語言處理
深度學習在自然語言處理中的困境
自然語言處理中的多任務學習
新的多任務基準平台
首先簡單介紹一下自然語言語言處理這個概念。
我們知道圖靈測試是指,當一個人與機器對話時,他無法判斷對方是機器還是人,那機器就通過了圖靈測試。這就引出了自然語言處理的核心:讓機器去理解和生成自然語言。
那什麼是自然語言處理?我們可以大致將其理解為人類語言,區別於程序語言等人工語言。自然語言處理任務包括語音識別、自然語言理解、自然語言生成、人機交互以及所涉及的中間階段,目前可以歸為是人工智慧和計算機科學的交叉子學科。
從技術上進行總結,可以分為三個層面:基礎技術、核心技術和應用:
自然語言處理的難點在於歧義性,以下我以中文分詞為例進行說明:
(關於自然語言處理的難點的具體講解,請回看視頻 00:05:35 處)
自然語言處理的發展歷程可以這樣總結: 在 1990 年以前,多基於規則的方法進行自然語言處理;90 年代以後,逐漸引入一些統計學習的方法;目前,自 2012 年開始,隨著的深度學習的熱潮,開始基於深度學習神經網路端到端的訓練進行自然語言處理。總之,自然語言處理就是一個理解語言(文本到機器)、生成(機器到文本)再到交互的過程。
那對於人來說,理想中的自然語言處理流程是怎樣的呢?
(關於理想中的自然語言處理流程的具體講解,請回看視頻 00:08:10 處)
基於深度學習的自然語言處理下面講一下基於深度學習的自然語言處理是怎樣的。首先講一下如何在計算機中表示語言的語義?
計算機中語言語義的表示之前是採用一些知識庫的規則;到了深度學習中,則採用分散式的表示方法。下面可以看一個圖像的案例:
(關於語言語義表示及其案例的具體講解,請回看視頻 00:09:00 處)
這裡就要引出在自然語言處理中非常重要的概念——詞嵌入(Word Embeddings),這個概念從 2013 年開始逐漸火熱起來。
(關於詞嵌入的具體講解,請回看視頻 00:10:40 處)
詞表示之後,就要考慮句子表示,不過句子表示的難度遠大於詞表示,這裡主要講一下在神經網路中怎樣表示句子。
(關於神經網路中的句子表示的具體講解,請回看視頻 00:12:42)
在得到字、句子表示之後,如果要對自然語言處理任務的類型進行總結,可以劃分為以下幾個類別:
第一,類型(對象)到序列,包括文本生成、圖像描述生成任務;
第二,序列到類別,包括文本分類、情感分析任務;
第三,同步的序列到序列,包括中文分析、詞性標註、語義角色標註任務;
第四,非同步的序列到序列,包括機器翻譯、自動摘要、對話系統任務。
深度學習在自然語言處理中的困境相比計算機視覺,深度學習在自然語言處理中存在較大的困境。
針對這些困境,目前有兩套相對有效的解決思路:
一是無監督預訓練;
二是多任務學習。
那麼為什麼多任務學習在自然語言處理中的表現這麼好?原因包括:
隱式的數據增強;
更自然的表示學習;
更好地表示學習,一個好的表示需要能夠提高多個任務的性能;
正則化:共享參數在一定程度上弱化了網路能力,可以防止過擬合;
Eavesdropping(竊聽)。
(對於深度學習在自然語言處理中所存在困境及其原因和解決方法——無監督學習和多任務學習的具體講解,請回看視頻 00:13:51 處)
自然語言處理中的多任務學習
下面講一下自然語言下的多任務學習。理想狀態下,自然語言處理是按照輸入到詞法分析到句法分析再到多任務的過程,而多任務的自然語言處理,可以使用一個共享模塊,同時進行詞法分析、句法分析以及任務這幾項任務。
自然語言中的多任務學習可以歸納為以下幾個種類:
第一個是跨領域(Multi-Doman)任務
第二個是多級(Multi-Level)任務
第三個是多語言(Multi-Linguistic)任務
第四個是多模態(Multi-Modality)任務
深度學習下的多任務學習,一般是共享一些多層次的神經網路,可以總結為以下三種方式:
第一,硬共享模式
第二,軟共享模式
第三,共享-私有模式
(關於自然語言處理中的多任務學習種類以及深度學習下的多任務學習方式的具體講解,請回看視頻 00:23:15 處)
共享模式主要可以分為以下類別:
接下來我將以實驗室的論文為主,外加一些相關論文,介紹一下這些共享模式:
硬共享模式
軟共享模式
共享-私有模式
函數共享模式
多級共享模式
主輔任務模式
接著講一下共享模式探索:
(關於對這幾類共享模式的案例介紹以及共享模式探索的具體講解,請回看視頻 00:26:35 處)
新的多任務基準平台接下來介紹一下多任務學習的兩個比較主流的 benchmark。
先講一下從去年開始比較火的閱讀理解,即機器閱讀一篇或多篇文檔,並回答一些相關問題。它對於自然語言處理來說,是比較難的任務類型,這就引出了兩個 benchmark。
第一個是 decanlp,它將很多 Q1 任務合併在一起作為多任務學習的聯合訓練集,每個任務有不同評價指標,每個任務的類型差異也很大,有的是翻譯,有的是摘要。
第二個是最近被大家刷爆的數據集 GLUE,它是 NYU 做的,跟 decanlp 理念差不多,也是跟 Q&A、情感分類類似的數據集。
這兩個數據集還有很多發展的空間,但是我個人感覺最近大家刷榜的方式有點走偏了。
(關於這兩個 benchmark 的具體講解以及講者的一些思考分享,請回看視頻 00:46:50 處)
以上就是本期嘉賓的全部分享內容。更多公開課視頻請到雷鋒網 AI 研習社社區(http://ai.yanxishe.com/)觀看。關注微信公眾號:AI 研習社(okweiwu),可獲取最新公開課直播時間預告。
※新智駕會員升級:我們用更有效的方式幫你擴展自動駕駛世界
※中國智慧城市「熱戰」的2018
TAG:雷鋒網 |