邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

一:報告導讀

本次報告主要涉及深度學習在自然語言處理(Natural Language Processing,NLP)領域的進展,首先講解了語言的表示學習、詞嵌入等基礎概念和知識,然後介紹了無監督預訓練、Transformer模型、BERT及多種改進等NLP技術的最新研究工作,最後對深度學習在理論和應用層面的前景進行了展望。

二、專家介紹

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

邱錫鵬

邱錫鵬,復旦大學計算機科學技術學院副教授,博士生導師。開源中文自然語言處理工具FudanNLP作者,FastNLP項目負責人。2015年入選首屆中國科協人才託舉工程,2017年ACL傑出論文獎,2018年獲中國中文信息學會"錢偉長中文信息處理科學技術獎—漢王青年創新獎"。近5年在ACL、EMNLP、AAAI、IJCAI等計算機學會A/B類期刊、會議上發表50餘篇學術論文,引用1800餘次。主要從事自然語言處理、深度學習等方向的研究。

三、報告內容

自然語言處理相當於讓計算機去理解和生成人說的話。它涉及到非常多的方面,包括人機對話、機器翻譯、智能問答等等。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

對於傳統的NLP技術,一般來講流程比較複雜,就是從預處理到找一些規則,建立一些模型,最終進行各種各樣的應用。大家如果用過自然語言相關的產品,比如像語音識別、機器翻譯和個人助理等一些終端的應用,你會發現到目前為止這些產品的智能性並不如我們預期的那麼好。從我們近幾年來講,隨著深度學習應用到各個領域之後,自然語言的性能得到了非常大的提升,它帶來了一個非常大的好處,就是關於在表示學習上面,就是我們怎麼表示一個文本的語義,有了深度學習以後我們就可以更加有效的建模一個自然語言的語義,它的模型也更加簡單,可以進行端到端的學習,把自然語言的門檻降到非常低。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

如果大家對自然語言不是很瞭解的話,我稍微給大家講一下,關於怎麼在計算機中去表示一個語言的語義信息。一般人的理解就是,我要在計算機中把每個詞和句子的意思都寫出來計算機才可以理解,這是早期的通過知識庫加上規則去表示它的語義。現在我們採取分佈式表示,我們把一個語義分散到不同的維度,這些維度加起來可以表示一個詞或者一個句子的意思,我們如果用數學表示的話就是一個向量,這是近幾年深度學習在自然語言處理中能夠帶來的一個非常有效的表示方法。如果對於詞的話,我們希望把不同的詞,比如北京、上海,映射到一個向量上面去,包括還有一些情感詞。我們的目的,我們把這個映射過程的空間叫做語義空間,在這個語義空間中,任何的語義都是可以計算的,利用計算機進行各種各樣的語義計算。

有了詞的表示之後,我們就可以進一步探索怎麼把詞進一步組成句子的語義,再組成篇章的語義,等等。我們希望通過一個神經網絡來做這樣的語義組合。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

我們給你一段文本,我們希望把它的意思表示出來,這個問題我們就把它理解成語言的表示學習問題。在這個語言表示學習問題裡有幾個方面的東西需要我們考慮,第一個就是模型層面,我們怎麼去設計這個模型,能夠去組合它的語義,比如說我們的詞,一個句子的語義是怎麼用詞來表示出來的,我們從語言學得到的經驗,句子的語義是由詞構成的,詞是由一個語法關係來構成,按照詞不同的依賴關係,層次化的去構建它整個句子的語義。還有更直接的訓練模型,先局部組合,然後再非局部組合。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

還有就是學習層面,我們有了模型之後,模型裡面肯定有很多參數,我們怎麼樣去學習這些模型的參數,一種是端到端的學習,我們完全把這些知識帶到一個具體任務中去,通過神經網絡的梯度下降等方法去學,這種方法在NLP裡面用的是任務學習和遷移學習,輔助我們學習到更好的模型。另外一種是更為複雜的,基本上涉及到語義這個定義的話。語義更多的是認知層面的,它還不像感知,所有的人看到一個貓都說是貓,而不像自然語言,自然語言在很多時候都充滿歧義性,同樣一句話不同的人有不同的理解,涉及到很多認知的方面。如果涉及到一個人他的知識結構,它的背景還有一些常識的東西,這些東西需要在數據之外人為的加進去,從這個方面也導致了自然語言處理比我們一般感知的任務要更加困難。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

我們分別從這幾個方面來介紹一下,首先我們看一下語義組成模型,這裡我列了三個在自然語言處理裡面常見的三種模型。第一個就是卷積神經網絡,這個卷積神經網絡相當於用一個局部的卷積,然後這樣層次化的堆上去,先組合,然後再進行非局部的組合。另外是用一個時間序列的方式來去組織。先用所謂的局部組合,就是局部組合優先。這個在自然語言處理裡面不一定存在,在一個句子中兩個依賴非常近的詞並不一定是優先組合的,因為我們的語言並不是一個完全的順序結構。這兩年,從17年開始,谷歌提了一個新的模型叫transformer,就是我們所有的詞全鏈接,它目前成為在自然語言處理中的主流模型,就是它去掉了之前兩個隱含假設,就是局部組合的假設。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

Transformer也帶來另外一個問題,它的模型複雜度會更高,對於很多的小樣本是沒法學的,只會在機器翻譯或者大的任務上,因為它有大量的訓練語料會表現非常好。這就涉及到在深度學習的NLP裡面有一個困境,就是說在一年之前,我們說自然語言處理裡面也用了大量的深度學習,但其實這些模型並不深,通常都是一層的Bi-LSTM,深度模型並沒有證明有太多的收益。這個原因是什麼呢?最基本的原因就是在自然語言處理缺少圖象那樣的大規模標註數據,因為標註語言的成本非常高,它的語料不是所有的人都可以標,一般都是和具體領域結合,需要一些領域專家才能標這些語料,所以很難形成非常大規模的標誌數據。這樣的話很難訓練一個非常深的模型。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

那麼怎麼辦呢,有下面幾種思路,一種是引入額外的知識,早期人為在各個領域都有大量的知識庫和知識圖譜,怎麼把我們的深度學習模型和這些智庫結合,而另外一個就是用無監督的預訓練,因為在文本雖然我們的標註數據非常少,但是我們有大量的無標註的數據,這些無標註的數據怎麼充分利用呢,就是幫助我們訓練,另外一個多任務學習,所有的自然語言處理都涉及到與意的表述問題,也就是所有的自然語言處理背後都有某種相關性,我們怎麼設計一種模型或者框架去同時學習多個自然語言處理模型,就是把每個任務的數據集都放在一起充分利用起來,這也是一個解決思路。

今天我們只關注無監督預訓練這部分,我們通過大規模的無監督預訓練去學習一個模型,把這個模型遷移到一個具體的任務上面去。這個就涉及到我們怎麼樣去設計一個無監督的學習任務,給你一個句子,然後估計這個句子的,有非常多種語言模型,我們現在基本上都把這些模型叫做自訓練模型,也就是類似於無監督機器學習中的自編碼器(Auto-encoder),相當於給原始數據加一些噪聲,再把正確的句子預測出來,通過人為的構造這樣一個自監督的學習訓練任務來去學習這些大模型,因為這些數據不需要標註,所以我們可以收集大量的數據,來訓練一個任務,訓練好之後,我們再把這些任務遷移到具體的任務上,基本上就可以獲得一些非常好的效果。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

從去年下半年開始,在NLP領域出現一批的預訓練模型。最右邊的是Unet,第一個預訓練模型出來之前,由我們團隊做的一個模型,但是在10月份的時候,谷歌的BERT模型利用了大量的無監督的預訓練,訓練一個模型,這個模型在大數據上訓練了一個最右邊的結構,也就是全鏈接的結構,它比沒有預訓練的模型要好很多,準確率指標由60%多直接上級到將近80%,在BERT基礎上又提出改進,都是基於預訓練模型,這些模型在學習機制、設計任務的時候多少有些不一樣。右邊這個是我們人類的水平。在單模型上,預訓練現在最好的結果已經接近人的水平,如果我們把這些模型進行組合,做一些集成模型,已經比人做閱讀理解的水平要更好。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

最後總結一下,在NLP中這些表示學習依然非常重要,主要涉及兩個方面,除去我們認知非常難之外,主要是兩個方面,一個就是模型層面,在NLP中它是需要找到更適合模型,傳統的CNN、RNN對我們的語言理解並不能帶來更好的提升,所以到目前為止我們找到了一個模型就是transformer。另外還是可以在跨語言、跨模態,學習一種更通用化的文本表示模型。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

最後再談一下這個主題,深度學習是不是遇到了瓶頸。在理論方面,我們主要從這幾個層面來考慮,一個是表示學習層面,從這個層面來講的話,我們目前帶來的提升大部分都是靠大數據和算力,當然模型設計也非常重要,最主要的還是來自於算力的提升,如果算力有瓶頸,我們深度學習就會遇到瓶頸,另外一個就是模型層面,現在我們主要用的是端到端的學習方式,當然也有遷移學習,但需要這個優化問題都是連續化,更難的一個問題是非連續化的問題,其實我們大的層面也可以把它看成是一種學習問題,我們需要設計一些架構,這方面空間非常大。另外一個是學習理論方面,包括泛化性,包括對抗樣本等等,都是有很多東西可以做的。

在應用層面,簡單場景的話我覺得目前深度學習還只是剛剛開始,也就是我們大量的傳統行業還沒有機會應用這些深度學習的技術,如果你能把你在具體應用場景當中,把問題變成非常明確的問題的話,你就可以用深度學習,所以說深度學習我覺得它會取得非常廣泛的應用。但是在特別複雜的情況下,目前這種單一靠深度學習還是不夠的,還需要其他方面的一些理論的支持,包括前面幾位嘉賓講了它的可解釋性和可靠性,在這幾個方面總歸還是任重道遠。

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

點擊 或 掃描圖片二維碼瞭解更多大會信息

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展

邱錫鵬:從Transformer到BERT --自然語言處理中的表示學習進展


分享到:


相關文章: