斯坦福大學(xué)Christopher Manning:Transformer語言模型為什么能取得突破
2020 北京智源大會
本文屬于2020北京智源大會嘉賓演講的整理報道系列。北京智源大會是北京智源人工智能研究院主辦的年度國際性人工智能高端學(xué)術(shù)交流活動,以國際性、權(quán)威性、專業(yè)性和前瞻性的“內(nèi)行AI大會”為宗旨。2020年6月21日-24日,為期四天的2020北京智源大會在線上圓滿舉辦。來自20多個國家和地區(qū)的150多位演講嘉賓,和來自50多個國家、超過50萬名國內(nèi)外專業(yè)觀眾共襄盛會。
2020年6月22日,在第二屆北京智源大會語音與自然語言處理專題論壇上,國際自然語言處理著名學(xué)者、斯坦福人工智能實驗室負(fù)責(zé)人Christopher Manning做了名為《Linguistic structure discovery with deep contextual word representations》的主題演講。
?
在演講中,Christopher Manning 根據(jù)對語言學(xué)結(jié)構(gòu)的學(xué)習(xí)程度,將語言模型分為三個發(fā)展階段:早期基于概率統(tǒng)計、無法學(xué)習(xí)語言結(jié)構(gòu)的黑暗時代(Language Models in The Dark Ages);之后則是啟蒙時代的神經(jīng)語言模型(Enlightenment era neural Language Models),特點(diǎn)是具備一定學(xué)習(xí)語言結(jié)構(gòu)的能力;2018年始,基于Transformer結(jié)構(gòu)的大參數(shù)量預(yù)訓(xùn)練模型(Big Language Models)大行其道,Manning發(fā)現(xiàn)預(yù)訓(xùn)練語言模型的參數(shù)中包含著非常多的語言結(jié)構(gòu)信息,并在本次演講中進(jìn)行了詳細(xì)的解析。
?

Christopher Manning,斯坦福人工智能實驗室(SAIL)主任,斯坦福大學(xué)語言學(xué)和計算機(jī)科學(xué)系機(jī)器學(xué)習(xí)領(lǐng)域、斯坦福人類中心人工智能研究所(HAI)副主任。Manning 的研究目標(biāo)是以智能的方式實現(xiàn)人類語言的處理、理解及生成,研究領(lǐng)域包括樹形 RNN 、情感分析、基于神經(jīng)網(wǎng)絡(luò)的依存句法分析、神經(jīng)機(jī)器翻譯和深度語言理解等,是一位 NLP 領(lǐng)域的深度學(xué)習(xí)開拓者。他是國際計算機(jī)學(xué)會 (ACM)、國際人工智能協(xié)會(AAAI)、國際計算語言學(xué)會(ACL)等國際權(quán)威學(xué)術(shù)組織的 Fellow,曾獲 ACL、EMNLP、COLING、CHI 等國際頂會最佳論文獎,著有《統(tǒng)計自然語言處理基礎(chǔ)》、《信息檢索導(dǎo)論》等自然語言處理著名教材。
整理:智源社區(qū)?何灝宇
一、語言模型:用數(shù)學(xué)給語言建模
?
在報告中,Christopher Manning首先引出了語言模型的概念。語言模型是對自然語言進(jìn)行數(shù)學(xué)建模的工具,它提供了一種能夠用數(shù)學(xué)模型去表示自然語言的方法。現(xiàn)如今通用的語言模型大多采用序列化概率模型的思想,比如在給定的語境下預(yù)測下一個詞出現(xiàn)的概率。
?

圖1:根據(jù)語境預(yù)測下一個詞
?
語言模型如N-Gram語言模型、基于循環(huán)神經(jīng)網(wǎng)絡(luò)的語言模型及預(yù)訓(xùn)練語言模型等都在不同的任務(wù)上被廣泛使用,且能達(dá)到理想的效果。然而,這些語言模型真的學(xué)到了語言結(jié)構(gòu)嗎?還是說它們僅僅是在句子層面上學(xué)習(xí)詞的概率分布?Manning給出了他的答案。
?
二、黑暗時代:N-Gram語言模型
N-Gram語言模型,是通過統(tǒng)計數(shù)據(jù)中給定詞在長度為n的上文的條件下出現(xiàn)的頻率來表征這些詞在相應(yīng)語境下的條件概率,如

?圖2:N-Gram例子
?
N-Gram語言模型是神經(jīng)網(wǎng)絡(luò)出現(xiàn)之前構(gòu)建語言模型的通用方法,該方法雖然通過引入馬爾科夫假設(shè),但是其參數(shù)量依然很大。另外,N-Gram語言模型通過平滑和回退策略解決數(shù)據(jù)稀疏的問題。但是N-Gram語言模型學(xué)到了多少人類語言的結(jié)構(gòu)信息?有些語言學(xué)家們認(rèn)為幾乎沒學(xué)到。雖然這樣的模型可能會包含一些簡單的常識性知識,比如“船”通常會與“沉沒”、“起航”等詞共同出現(xiàn),或者模型會學(xué)習(xí)到一些簡單的詞法,比如類似于“冠詞-形容詞-名詞”這樣的句子,但是N-Gram語言模型對于“名詞”這樣的詞性概念和語言結(jié)構(gòu)規(guī)則是沒有概念的。
?
因此,在那個時代,如果想要讓模型學(xué)習(xí)到語言結(jié)構(gòu),必須通過人工標(biāo)注的方式獲取特定語言結(jié)構(gòu)的訓(xùn)練數(shù)據(jù),然后訓(xùn)練相應(yīng)的分類器。采用這一方法固然是能讓語言模型學(xué)習(xí)到語言結(jié)構(gòu),但是標(biāo)注成本太高且數(shù)據(jù)的遷移性差,似乎并不是一個好的解決方案。
?

圖3:人工標(biāo)注的語法
?
Manning隨后表示,想要讓語言模型學(xué)習(xí)到自然語言的結(jié)構(gòu)知識,只學(xué)習(xí)字面上的信息是遠(yuǎn)遠(yuǎn)不夠的,但幸好,自N-Gram語言模型之后,基于神經(jīng)網(wǎng)絡(luò)的語言模型取得了長足的進(jìn)步。
?
三、啟蒙時代:
神經(jīng)網(wǎng)絡(luò)賦予語言模型新的方向
?
得益于神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)帶來的強(qiáng)大學(xué)習(xí)能力,神經(jīng)網(wǎng)絡(luò)語言模型展現(xiàn)出了比N-Gram語言模型好得多的效果。這其中最為人熟知的便是前向神經(jīng)網(wǎng)絡(luò)(FFNN)語言模型和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)語言模型。前向神經(jīng)網(wǎng)絡(luò)語言模型通過把高維度的稀疏向量嵌入到低維度的分布式向量,從根本上解決了維度災(zāi)難問題。循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型,例如LSTM模型,通過“門”的機(jī)制解決長距離依賴的問題,這樣的模型結(jié)構(gòu)在處理語句這種序列化數(shù)據(jù)時就有著天然的優(yōu)勢。Manning提到,N-Gram和過去的大多數(shù)模型都解決不了語句中的長距離依賴問題,但我們可以期待神經(jīng)語言模型做到這一點(diǎn)。
?

圖4:預(yù)測詞removed,需要用到句子中距離較遠(yuǎn)的詞stump而不是通過N-Gram在近距離取上下文
?
同時,Manning還展示了通過樹結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)捕捉語句結(jié)構(gòu)的一個研究成果。事實上,Manning 早期的深度學(xué)習(xí)工作一直致力于構(gòu)建樹形模型,因為在他看來,樹形模型更能捕捉到語言不同于線性的視覺或者信號處理的結(jié)構(gòu)特點(diǎn)。他們建立的TreeLSTM能夠在一定程度上學(xué)習(xí)到如何去構(gòu)建語句的語法樹,該模型在細(xì)粒度情感分類、語義關(guān)系分類等任務(wù)上也取得了更好的效果,但比提高準(zhǔn)確率更重要的是,語言模型終于開始學(xué)習(xí)語言結(jié)構(gòu)了。
?

圖5:語法樹
?
四、大模型時代:
Transformer模型帶來巨大突破
?
2018年,大參數(shù)量的預(yù)訓(xùn)練語言模型一個接一個的出現(xiàn),為自然語言處理帶來了突破性的進(jìn)展。
?

圖6:預(yù)訓(xùn)練語言模型
?
在這些預(yù)訓(xùn)練模型中,除了ELMo,其他的模型都應(yīng)用了Transformer結(jié)構(gòu),原因是Transformer的結(jié)構(gòu)使得模型在GPU上進(jìn)行大規(guī)模訓(xùn)練成為可能,而模型的參數(shù)量也越來越大,達(dá)到十億甚至百億級別。Transformer的輸入是句子中的詞以及詞的位置編碼, 通過一層線性變換,每個詞得到Query、Key、Value三個低維向量。通過對三個向量做Attention運(yùn)算,從而計算出句子中的每個詞應(yīng)該對句子中的其他詞付出多少“注意力”。不僅如此,Transformer結(jié)構(gòu)中還引入了“多頭”機(jī)制,“多頭”機(jī)制認(rèn)為句子中的上下文信息可以從多個方面進(jìn)行挖掘,因此Transformer使用了多個權(quán)重矩陣對Query、Key、Value向量進(jìn)行Attention運(yùn)算,從而達(dá)到通過多個權(quán)重矩陣學(xué)習(xí)多重語義信息的目的。
?

圖7:Transformer的結(jié)構(gòu)
?
這些基于Transformer結(jié)構(gòu)的預(yù)訓(xùn)練語言模型在自然語言處理的很多領(lǐng)域都產(chǎn)生了巨大的影響,顯著地提高了多個NLP任務(wù)的準(zhǔn)確率。那么,動輒幾十億參數(shù)的預(yù)訓(xùn)練模型們可以學(xué)習(xí)到多少語言結(jié)構(gòu)呢?在本次演講中Manning選取了其中最著名的BERT模型進(jìn)行了分析。
?
根據(jù)對Transformer結(jié)構(gòu)的理解可以知道,Attention運(yùn)算是通過點(diǎn)積加權(quán)的方式計算兩個向量的相關(guān)性,從而得到句子中的每個詞對其他詞該付出多少“注意力”。通過分析這個注意力結(jié)果,Manning發(fā)現(xiàn),在BERT的多個“頭”中,有幾個“頭”是能夠通過無監(jiān)督或自監(jiān)督的方式學(xué)習(xí)到和依存句法相關(guān)的信息的。
?

圖8:BERT模型中每個詞對其他詞的注意力,顏色越深表示注意力越強(qiáng)
?
如上圖的左半部分,賓語sell和stocks會將注意力更多地指向動詞considered和recommending,而在上圖的右半部分,限定詞(冠詞等)the、in,形容詞huge、new等,它們更多將注意力指向名詞language、law、flight、time等。如果對這四個例子中的語句進(jìn)行依存分析,我們會發(fā)現(xiàn)左圖中的詞sell、stocks與動詞considered、recommending構(gòu)成了直接賓語的依存關(guān)系,而右圖中的詞the、in、huge等都是名詞laguage、law等的前置修飾語,它們構(gòu)成了語句中的限定詞依存關(guān)系??梢钥吹侥P痛_實在一定程度上學(xué)習(xí)到了依存句法信息。
?
事實上,“多頭”機(jī)制不僅學(xué)習(xí)到了句法結(jié)構(gòu),也學(xué)習(xí)到了語句中的共指關(guān)系。下圖中左邊的例子中,she、her、Kim實際上指的是同一個人,從模型中的注意力分布也可以看到這種關(guān)系。右圖同理。
?

圖9:BERT模型中的某些“頭”學(xué)習(xí)到的共指關(guān)系
?
Manning表示以上的這些發(fā)現(xiàn)證明,預(yù)訓(xùn)練語言模型能夠?qū)φZ言的符號結(jié)構(gòu)進(jìn)行建模,因為不管是依存句法還是共指關(guān)系其實都是一種用符號表示語法的方法,這是一件很酷的事情。但如果模型能夠直接對語言結(jié)構(gòu)進(jìn)行建模,那就更好了。
?
隨后,Manning提出了一個問題:在BERT模型的向量空間中是否蘊(yùn)含著語法樹結(jié)構(gòu)?為了驗證這個問題,Manning對BERT模型產(chǎn)生的詞向量進(jìn)行了探索,希望這些基于深度上下文的詞表征能夠帶給我們答案。那么,如何根據(jù)詞向量去構(gòu)建這些樹呢?
?
Manning假定句子中詞向量間的L2距離作為樹中結(jié)點(diǎn)之間的距離,根據(jù)這個距離構(gòu)建一棵最小生成樹,并將這個最小生成樹作為模型學(xué)習(xí)到的語法樹,最后用該樹去與人工標(biāo)注的語法樹進(jìn)行驗證。值得一提的是,在不同的語境下,一個詞可能會有不同的含義,那么每個詞向量就可能會包含著多重語義信息。在實驗時,Manning通過對詞向量進(jìn)行線性變換從而將詞向量映射到一個低維的空間,這個低維的向量就包含了原詞向量在特定語境下的語義信息。
?
實驗結(jié)果表明,BERT根據(jù)上下文詞表征構(gòu)建的樹效果非常好,在許多場景下都可以達(dá)到人工標(biāo)注的精度。如下圖中,根據(jù)BERT向量空間構(gòu)建的最小生成樹,與本篇文章圖5所提到的語法樹完全一致。
?

圖10:根據(jù)BERT向量空間構(gòu)建的最小生成樹
?

圖11:用BERT做語法分析樹能夠達(dá)到和人工標(biāo)注相似的結(jié)果
?
根據(jù)這樣的實驗結(jié)果,Manning總結(jié)道,像BERT這種基于深度上下文詞表征的語言模型,與之前的語言模型相比有了一個大轉(zhuǎn)型,不論是形態(tài)上還是學(xué)習(xí)效果上。模型中大量的參數(shù)使得神經(jīng)網(wǎng)絡(luò)不再僅僅去學(xué)習(xí)詞與詞之間的表面聯(lián)系,而是有了學(xué)習(xí)語法結(jié)構(gòu)的能力。至于為什么模型會去主動學(xué)習(xí)語法結(jié)構(gòu),Manning也給出了解釋,他認(rèn)為模型之所以會去主動學(xué)習(xí)語法結(jié)構(gòu),是因為學(xué)習(xí)語法結(jié)構(gòu)能夠幫助模型更好地完成預(yù)測任務(wù),也就是說,模型本質(zhì)上依然是在提高預(yù)測能力,由于學(xué)習(xí)到語法結(jié)構(gòu)有助于更好地預(yù)測,模型就會利用參數(shù)去學(xué)習(xí)語句的語法結(jié)構(gòu)。
?
接下來,Manning做了另一個更有趣的探索,探索不同種類語言的BERT模型是否學(xué)到了相似的語法信息。做法如下,使用一種語言(如英語)的BERT模型的語法空間表示去驗證另一種語言(如法語),如果驗證成功,那么就說明BERT模型編碼不同種語言的語法是采用的是相近的方法。
?

圖12:兩種語言的語法空間聚類結(jié)果
?
上圖是實驗結(jié)果,相似顏色的淺色代表英文,深色代表法語,可以看到聚類效果明顯,這表明BERT模型在建模不同語言的語法信息時采用的方法是相近的。
?
演講最后,Manning提出了如下幾點(diǎn)思考。
?
1. 基于無監(jiān)督或自監(jiān)督學(xué)習(xí)的上下文詞表征模型能夠成功學(xué)習(xí)到語言結(jié)構(gòu),取得這樣的成功證明了語言模型的學(xué)習(xí)實際上是一個信息量豐富的通用任務(wù)。
?
2. 既然語言模型已經(jīng)能夠?qū)W習(xí)語言結(jié)構(gòu),那過去幾十年耗費(fèi)人力標(biāo)注語言學(xué)數(shù)據(jù)算是一個錯誤嗎?
?
3. 基于深度上下文詞表征的語言模型已經(jīng)從之前的基于統(tǒng)計的關(guān)聯(lián)學(xué)習(xí)模型轉(zhuǎn)型,開始主動探索語言結(jié)構(gòu)。
?
4. 在下個十年,語言模型的任務(wù)是否應(yīng)該更多地將重心放在接地語言學(xué)習(xí)(Grounded Language Learning)上?