編者按:在上期的NLP熱門詞彙解讀中,我們介紹了預訓練(Pre-training),它在自然語言處理領域正在掀起一股風潮,催生了「一本正經胡說八道」的編故事大師GPT-2,正與BERT相愛相殺的XLNet,以及許多新的想法與模型。除了文本數據,越來越多的圖數據為圖神經網絡研究提供了廣闊的應用背景。
AI世界瞬息萬變,本期熱詞,我們將為你解讀GPT-2、XLNet,與圖神經網絡。
OpenAI的研究人員在「Improving Language Understanding by Generative Pre-Training」中提出了OpenAI GPT,並用實驗驗證了使用基於Transformer的語言模型可以大幅度提升現有任務效果。在這篇論文的基礎上,OpenAI又提出了GPT-2。
除了模型細節上的微調,GPT-2與前代最主要的區別是使用更大規模的語料對模型進行了預訓練——它擁有15億參數,在800萬網頁數據上進行學習,最終實現針對給定的上文預測下一個詞的訓練目標。
相比GPT而言,藉助10倍的參數和10倍的數據,GPT-2能夠生成質量極高的文本,並在一些任務上,無需特定領域數據即可獲得很好的效果。如圖1所示,我們可以給定一個段落開頭,用GPT-2去續寫這個故事。原作者展示的幾個例子真的可以說是「大力出奇蹟」了。
以往的文本生成模型往往在解決連貫性、語法正確性、故事性等方面都遇到很多困難,但這些在GPT-2給出的例子中都得到了不錯的體現。也正是因為這個原因,GPT-2並沒有給出完整模型參數,因為該模型一旦公開,可能會被用於不良用途,如生成假新聞等。
圖1:GPT-2文本生成案例
GPT-2也對預訓練的模型規模和數據規模進行了探究,結果表明,隨著模型大小的增加,最終任務上的表現也不斷提高。而受限於現有的硬體計算能力,還沒有找到增大模型規模的收益上限。相信隨著算力的持續提升,更大、更快、更好的預訓練模型會不斷湧現,並為自然語言處理領域帶來新一輪的方法論變革。
語言模型預訓練(Language Model Pre-training)正在成為自然語言處理技術的重要組成部分。之前的ELMo、GPT/GPT-2、BERT等開源模型,在各個自然語言理解任務上都取得了跨越式的提升。XLNet是由CMU和Google Brain的研究人員在「XLNet: Generalized Autoregressive Pretraining for Language Understanding」 這篇論文中提出的最新預訓練方法。
文章首先嘗試指出,當前的預訓練模型BERT存在的一大問題是預訓練和測試之間有輸入不匹配的問題。這一問題的根源是BERT是基於自解碼(denoising autoencoding)方式對語言模型進行預訓練,在輸入中人為遮蓋了一些詞進行預測,但在測試時卻是使用正常文本。
為了解決這個問題,XLNet嘗試用自回歸(autoregressive)的預訓練方式,提出了「詞序變換語言模型」(Permutation Language Modeling)。如圖2所示,模型對不同詞語之間的依賴關係進行了分解,在訓練中嘗試枚舉不同的詞語生成順序,從而對整個數據文本的概率進行計算。和BERT不同的是,為了避免使用「人為遮蓋詞語」的方式處理輸入,XLNet提出使用帶有錯位的自注意力模型(Two-Stream Self-Attention)對文本進行編碼。
這個模型的另一個亮點是使用了比以往模型更大的訓練語料,和BERT的13GB數據相比,XLNet使用了約110GB文本,並配之以512塊TPU v3晶片訓練了2.5天。再次體現出了大規模數據、強勁計算能力的重要性和威力。正如在BERT上大家觀察到的現象,使用更大的數據進行預訓練可以帶來持續的性能提升,XLNet也因此獲得了巨大加成。尋找數據規模、模型大小對預訓練效果提升的上界,也是目前大家探索的問題。Facebook研究院最近也使用更大的數據規模、更久的訓練,將BERT的預訓練效果提升到了XLNet的結果。隨著計算力的發展,更多的進展會在這一領域持續發生,不斷提升下遊任務效果。
圖2:詞序變換語言模型
來源:https://arxiv.org/abs/1906.08237
日常生活中有許多數據,例如社交網絡、商品品目等,是天然可以被建模成成圖(Graph)的,由一組節點(對象)及其邊(關係)組成。傳統的圖研究者們希望能夠用機器學習的方法,在圖上挖掘出有效信息。例如,在已知的社交網絡中尋找相似的群體,在製藥學中判斷相似的分子結構等等。而隨著深度學習,尤其是卷積神經網絡(Convolution Neural Network)的發展,J. Bruna (2013) 在M. Gori (2005)、F. Scarselli (2009) 提出的圖神經網絡基礎上引入了圖譜論(Spectral Graph Theory),並實現了一個基於卷積神經網絡的圖神經網絡。
在傳統的研究中,研究者為了很好地處理圖數據結構特有的信息,往往要經歷數據清洗和特徵抽取(Feature Engineering)的環節,然後才進行數據建模(Modeling)。而由於圖類數據的特殊性,特徵抽取成為了影響後續任務的關鍵步驟。因此找到泛化性高、表達能力強、拓撲信息有效的特徵變得極其重要。圖神經網絡希望利用深度學習的技巧,來學習一個可以在低維空間中表達圖上每一個節點及其鄰居(乃至子網絡)和對應連接關係的圖嵌入(Graph Embedding),並可以直接使用端到端的訓練框架來解決後續問題。
此後的幾年中,不同的研究者也引入了不同的深度學習模型,用於解決不同的問題。例如,為了更好地刻畫更廣泛(長)的鄰居關係,YujiaLi (2015) 和Xiaodan Liang (2016),分別使用了GRU和LSTM替代了Convolution Layer;為了刻畫帶權重的鄰居關係,Petar Veličković (2017)用attention mechanism替代了Convolution Layer等。
圖3:採用不同Layer的圖神經網絡變種
來源:https://arxiv.org/pdf/1901.00596.pdf
此外,除了傳統的分類和預測任務外,圖神經網絡也與生成模型有一些結合。例如,Nicola De Cao (2018)提出的MolGAN結合了生成對抗網絡(GAN)的訓練方式,使得模型可以產生與元輸入相近且不同的圖數據結構;而You (2018)提出的GCPN則利用強化學習的視角和訓練方式,利用特定的激勵(reward)來生成相似的數據,用於生成相似的醫藥分子結構。
總而言之,圖神經網絡目前依然處於發展階段,傳統圖結構數據中特有的難題,如Sub-graph的表達方式等,依然亟待研究。而圖類數據的廣泛存在,也使得該領域有廣闊的應用背景。
參考資料:
[1] Gated Graph Neural Networks,Yujia Li, 2015
[2] Semantic Object Parsing with Graph LSTM, Xiaodan Liang, 2016
[3] MolGAN: An implicit generative model for small molecular graphs,Nicola De Cao, 2018
你也許還想看:
感謝你關注「微軟研究院AI頭條」,我們期待你的留言和投稿,共建交流平臺。來稿請寄:msraai@microsoft.com。