天天看點

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&文獻)

來源:PaperWeekly

作者:李秋池、王本友

文章來源:微信公衆号 資料派THU

本文約5600字,建議閱讀10+分鐘。

本文為你介紹年度最佳可解釋NLP論文。

今天要介紹的文章與目前大火的 BERT 同獲最佳論文,摘得 NAACL 2019 最佳可解釋NLP論文(Best Explainable NLP Paper)。NAACL 與 ACL 和 EMNLP 并稱之為 NLP 三大頂會,去年 ELMO 獲得 outstanding paper,今年一共有五篇最佳論文,分别是 Best Thematic Paper,Best Explainable NLP Paper,Best Long Paper 以及最佳短文和最佳 resource 論文。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&文獻)

目前用深度學習的方法來做 NLP 任務已經越來越火了,很多具有複雜結構的神經網絡被聲稱在給定規範良好的輸入和輸出的某些資料集有着更好表現。但是神經網絡本身的可解釋性的問題,像一顆定時炸彈,始終萦繞在大家心頭。

如果始終在 how 的問題上,在應用上下猛藥,也可能像煉丹術一樣,有可能并沒有對準病症。而 why 的問題,也就是它為什麼 work 的機制,是一個更難的問題,正吸引越來越多的研究者從不同的角度和視野去挑戰。

哈士奇還是狼?

對于神經網絡的工作原理,有一個形象的例子,那就是哈士奇還是狼(husky or wolf)的問題[1]。大部分人都可以很正确地判斷出左圖中的動物是狼,而右圖中的動物是哈士奇,這兩個圖對人而言還是相對不難。不出意外地,神經網絡模型也能夠把這兩張圖分得很準。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&文獻)

當讓神經網絡模型分下面這張圖,它就淩亂了,認為下圖是狼。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&文獻)

原來神經網絡模型分類這兩個類别,靠的是背景,而不是真的知道哈士奇和狼之間細微的差別。換句話說,一旦哈士奇大哥偶爾跑到雪地上,神經網絡就傻眼了。如果有一天使用者或者産品經理跑過來說,這隻站在雪地裡的哈士奇,一定要在下一個版本被正确地分類,那麼這時候負責模型設計人員多半會手足無措。

提到這一個例子的目的是說明,因為神經網絡内部本身的限制非常少,神經元的值可以在任意的取值區間,這使得神經網絡隻是被當做一個黑盒子去拟合輸入輸出,其内部的機制并不能夠被大家所清晰地了解。是以,目前的神經網絡往往并不是十全完美的解決方案,而需要改進結構的設計便于人們了解其内部的機制。

可解釋性 (Interpretation)

可解釋性的問題較早就有人提出來,有着不一樣的叫法,比如 interpretable, explainable, intelligible, transparent 和 understandable,不一而足。

值得提到的是此處的可解釋性與推薦系統的推薦理由或多或少有一些聯系和細微的差別,本文提到的可解釋性并不限于對于機器學習某個預測(某個特定 case)的理由,更多的了解為對這個模型的通用(general)的了解。無論何種了解,可解釋性都與最終的性能關系并不緊密。

通常,可解釋性是人們在機器學習模型中尋求的各種特征的代理。這些輔助的特征可能是公平性(Fairness,能否減輕各類偏見 bias?),可靠性(Reliability),因果(Causality,是一種相關性還是因果性?如分類哈士奇和狼是靠的兩種類别之間的差異,還是由于背景帶來的相關性),可信度(Trust,模型能夠知道預測本身的置信度如何?)。

本文主要參考 Lipton 的說法 [2],主要解釋為透明度 Transparency 和事後解釋性 Post-hoc Explainability。

前者 Transparency 主要關心模型的運作機制和功能。這樣友善人類去做檢查,比如人工剔除模型的一些顯著的弱點。一旦發現了 bad cases,人類有辦法按照自己預期的目标,去幹預和改變它的預測。在實時的應用中,資料可能包含比标注語料更多的噪音,是以透明性更加重要。

事後解釋性通常在模型訓練完成之後的馬後炮解釋。在模型訓練之後,比如對一些元件做一些統計分析,像對 CNN 核的可視化,對機器翻譯 attention 的可視化 3。

CNM複值比對網絡

值得注意的是,本文提到的可解釋網絡并非标準範式,本文作者給出一些新的神經網絡範式,從新的角度去闡述可解釋性。

本文提到的網絡不同于多層感覺機,卷積神經網絡和循環或遞歸神經網絡。從網絡結構本身,可以了解為一個玩具(toy)網絡(代碼開源在 Github 上),因為目前它是一個較淺的神經網絡,在結果本身并沒有太大的競争力,關注的是可解釋性。

透明度和事後解釋性解釋為兩個稍微具體一點的研究問題:

  1. Transparency – 模型怎麼工作的?網絡由什麼驅動來給出最終預測?
  1. Post-hoc Explainability – 神經網絡學到了什麼?網絡中每一層某個神經元的激活值大或者小意味着什麼?

對于這兩個問題,在本文的網絡架構裡姑且給出一個可能的思路就是:

  1. 由量子機率來驅動網絡來做出預測;
  1. 将同一個希爾伯特空間的狀态(state)來一統不同粒度的語言單元。包括可學習元件也将嵌入到與詞語相同的希爾伯特空間,這樣人們有機會去通過人類易于了解的語言單元(比如詞級别)來诠釋學習到的元件。

動機

量子實體認為微觀粒子可以同時處于不同的狀态(量子疊加),這種有别于經典實體的常識,比如在沒有觀測之前,人們難以想象一個同時處于死了和活着的貓。不僅如此,一對糾纏粒子可以在相聚很遠的時候,其中一個粒子的測量的結果可以影響到與之糾纏的另外一個粒子。

從量子實體發展來描述實體系統中的不确定的數學語言,是否對語言的形式化描述也有所裨益?這是本文關心的問題。在語言本身,詞語存在一些不确定性,比如 apple 這個英文單詞可以是一種水果,也可以一個生産 iPhone 和 Mac 的公司。如果把水果和生産 iPhone 和 Mac 的公司定義成基本語義單元,那麼 apple 這個詞就可以認為是這些基本語言單元的疊加态。

此外,詞語與詞語之間并不是完全獨立的,有人做過一個詞彙聯想實驗,有論文嘗試将這種詞彙聯想可以用量子糾纏來解釋 [5],更有相關的學者嘗試用量子力學的數學架構來建構認知模型,比如霍金的導師 Penrose 推崇的量子大腦這類大膽想法(當然也招來大量批評)。

本文的出發點是受上述觀點的啟發,作者聲稱,量子力學去模組化不确定的數學形式化是通用的(general),而且相對成熟,有潛力在模組化語言的場景去嘗試。在語言中的不确定性首先展現在單詞級别的一次多義的場景裡;次之,在語義組合的級别(意即如何組合多個詞的意思成一個詞組或者更大語義單元),也存在不同的組合方法。

用機率來驅動神經網絡

通常對神經網絡的批評來自于人們無法了解神經元到底有什麼實體含義,當一個神經元的值變大或者變小對目前執行個體而言究竟是有什麼意義。一個可行的方案是不在單獨去看一個神經元,而是把神經元組成一個簇(可以參看 Capsule Network [6]),對神經元簇去做一個整體,每個神經元簇是一個向量,向量的方向表征着不同的特性,長度可以對應一些強度(或者說未經歸一化前的機率)。

在量子的上下文下,将這一類的簇稱之為狀态。量子機率是一套基于投影幾何的機率理論,可以看做是一個更加 general 的機率理論。這些所有的狀态都是由一些基本基态組成的,這些基态被稱之為不可分割且互不相關的語言基本單元(義原),形式化為一些 one-hot 向量。一個越加豐富複雜的語言體系,應有更多這樣的 one-hot 向量。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&文獻)

比如圖中是一個簡化的例子,比如某種原始的動物語言隻有兩個基本義原,比如 yes 和 no,分别對應于 |0> 和 |1>,分别是 one-hot 的向量 [1,0] 和 [0,1]。

在該動物的意識深處永遠處于一種糾結的狀态,它“汪”一聲隻能表示其中兩種意思的混合狀态,但是有着不同程度,有時候是非常想說 yes 但是隻是有一點不情願,有時候是想說 no,這種不确定性可以由投影來測量,測量長度的平方對應于機率。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&文獻)

但是當把三個這樣的原始動物聚在一起,每個動物都有着不情願的程度,意即圖中不同的處于疊加的狀态。上帝問“今天願意去祭祀嗎?”(上帝的語言系統好像比大家都複雜豐富很多)。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&文獻)

這樣三隻動物就一起“汪汪汪”叫了起來,上帝把它們的狀态都往 (x 軸表示 yes)投影,然後對投影長度的平方求平均,就知道這些動物願不願意去祭祀的情況。

更有趣的是,上帝仗着自己語言系統比較豐富,突然玩起了花樣,不再是問“願意還是不願”,上帝問“你們三個是不是都是半情願半不情願(50%-50%)”,然後把所有的狀态朝着 x 軸正方向和 y 軸正方向之間的 45 度角方向投影,投影最後的結果照樣把三個投影長度的平方平均一下就可以得到最後的結果。

是以再推而廣之,那麼對所有的方向都可以去做投影,最後的結果就類似圖中的虛線橢圓(虛線與實線向量相接的點描述投影的長度,它的數學描述來自後文提到的密度矩陣)。

于是就把這樣的基于投影幾何的機率理論嘗試搬到語言模組化中來。單詞被認為是純的狀态疊加态,就像圖中的機關向量。很多單詞一起的的混合系統就像圖中三個動物一起的小集體,這樣的小集體的機率描述是一個圖中的虛線橢圓來描述(也就是密度矩陣),對混合系統的測量(就像上帝問的問題)的結果就呈現平均的結果。

如果選一組完備且正交的測量向量去測量這樣的混合系統(實際上本文用資料驅動的方式去找一些更有判别力的測量向量),可以得到一組機率分布(即機率和為 1)。值得注意的是,所有狀态都是機關的,而且這樣的狀态向量都是複數的。

希爾伯特空間一統不同粒度的語言單元

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&文獻)

上文對量子機率有了一個簡短的描述,為了友善大家接受,丢棄了幾乎所有的數學形式化符号,全部同簡單的投影幾何的語言描述量子機率理論是如何在兩維的空間運作。但是實際上語言本身應該是更複雜,是以這樣互斥的基本語言單元的數量(也就是空間次元)的數量會更大,意即空間的次元更大。

這樣自然語言于實體形式化的語言的類比如下:

  • 義原(不可分割的語言單元) <--> 基态
  • 詞 <--> 疊加态
  • 詞組/N-gran <--> 混合态
  • 語義測量 <--> 投影算子 (投影方向對應于網絡裡面任意的一個疊加态)
  • 句子 <--> 和投影算子一一對應的一組機率值

所有一些對應的内容均是有着良好的歸一化和數學限制,如下表所示:

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&amp;文獻)

幾乎每一個組建都有着相對較好的限制的定義,與之對應的好處是,在整個神經網絡中出現的神經元要麼是一個機關狀态的一個元素,抑或是機率值。

語義比對

文本比對是自然語言處理和資訊檢索很常見的任務,目标是比對兩個對象。源對象和目标對象可以是查詢和文檔,問題和答案,假設和推論,以及對話系統裡兩個 utterance。通常的做法是先對兩個文本對象建構一個對稱的表示層,然後再在得到兩個表示上做一個互動層。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&amp;文獻)

如圖所示,詞就像粒子一樣(同時處于不同的位置,有一個波函數來描述它出現的不同地方的機率,但是義原是離散的,是以它實際上是一個離散的機率分布來描述),被認為是嵌入在希爾伯特空間的一個狀态,也就是一個複數的機關狀态向量,一個在基本語義單元空間的複值權重線性疊加(對應在基本語義單元的一個機率分布)。

與 CNN 類似,本文用滑動視窗來對一些列 N-gram 來建構一個混合系統,這樣混合系統的機率屬性由一個密度矩陣來描述。本文模型将需要比對的兩個文本對象各自的 N-gram 同時向一個投影平面投影,投影的長度的平方對應混合系統投影到該投影平面的機率。

根據投影長度來判斷兩個文本對象是否比對。如果兩個文本對象是比對(比如該答案對應正确的問題),希望找到一些投影方向讓兩個密度矩陣投影後的長度相近;反之希望投影長度相差更大。

因為投影平面是由一個向量張成的子空間,該投影向量跟詞語同時嵌入在同一個希爾伯特空間,是以可以通過最靠近該投影向量的詞向量來了解投影向量可能蘊含的含義。

選取了其中五個投影向量,将其最近的五個詞展示出來。由圖中學到的測量向量的含義可以通過詞語來描述。如下圖:

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&amp;文獻)

複值語義組合

将詞向量相加來表示句子是一個非常常見的做法,在一些文本分類的任務中,直接對文本的所有詞的詞向量平均,然後接一個全聯接層就可以得到不錯的結果。但是這種直接加法是一種粗糙的做法,因為其有一個非常強的假設,那就是由詞組成的詞組/句子/文檔的含義是由其包含的詞線性相加得到的。

一個簡單例子“artificial intelligence”的含義就是像人一樣工作的智能,基本可以由兩個詞的含義的線性疊加。另外一個例子是“ivory tower”的組合起來的意思,并不是一個由象牙做成的塔,而是心無旁骛追求自己目标(通常為智慧方面)的樂土,這樣一個組合起來的意思并不能由象牙和塔的直接線性疊加。

複值(形如 z=a+bi 或者 z=r(cos θ+i sin θ))的表示可以隐式地表達更加豐富的語義組合。與傳統的實值詞向量相比,本文詞向量是由複值向量。每一個複數由一個實部和虛部組成,可将其轉換成振幅和相位的形式,振幅 (r) 對應經典的傳統的實數詞向量的值,而相位 (θ) 可能表征一些高階的語義。

當對兩個複數相加時,不是直接對振幅進行相加,同時會考慮它們的相位資訊,有的時候振幅相加會得到增益的效果,有時候可以得到相消的結果。這時候相位就像一種經典的門機制,它能夠控制如何讓兩種資訊源如何融合起來。在組合大粒度語義單元時,這樣額外的相位(作為一個種門機制)可以有潛力隐式模組化非線性的語義組合。

網絡的結構

網絡的結構跟上文形式化模組化一緻,模型不涉及顯式的全聯接層,不包含卷積網絡,不包含循環或遞歸的神經網絡單元。

本文模型用滑動的視窗建構兩個文本對象的 N-gram 的密度矩陣表示,然後采用一組測量投影操作,同時測量兩個文本對象所有的 N-gram 視窗裡的混合系統(由密度矩陣描述)。最後通過一組 max pooling 操作得到每個測量向量在所有 N-gram 最大的投影機率,最後通過向量的 cosine 距離得到比對的分數。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&amp;文獻)

其中自底向上建構密度矩陣的操作,也就是從 embedding 層到 mixture 層的做法如下(叉操作是外積/張量積,點操作是一個标量乘以矩陣的每一個元素,加操作是矩陣點對點加法):

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&amp;文獻)

首先對選取的一個 N-gram 視窗,對其中每一個詞向量用 l2-norm 歸一化(也就是直接除以它的長度),然後計算該歸一化向量與其共轭轉置的外積(外積操作,如 x=[a,b], 外積是一個 22 的矩陣為 x=[[aa†,ab†],[a†b,bb†]] 大家常見的内積操作的結果是一個标量 ab†,† 是共轭轉置)。

由于向量經過了歸一化,得到的外積矩陣有着良好的性質,對角線元素是實數且和為 1,非對角線元素是複數。然後把所有外積矩陣權重起來得到的是一個密度矩陣,權重是由詞向量的模經過 softmax 得到的一組和為 1 的向量,是以也能保證密度矩陣也是機關的(對角線元素和為 1)。其中一個好處是對網絡對不同的詞有着顯式的權重,這樣權重依賴于局部的上下文。

對于這樣一個一個對詞向量本身的外積,在機器學習領域也是比較常見的操作,類似于推薦系統裡面的特征交叉。對一個詞而言,其特征是其詞向量的每一個元素,傳統的神經網絡的假設空間簡化為,采取外積操作後的矩陣相當于構造了一個二階的特征交叉矩陣作為新的特征,新的假設空間 。

與本文自底向上建構密度矩陣不同的是,也可以通過最大似然估計來得到密度矩陣,這類的方法最出名的當屬發表在 2013 年 SIGIR 的 Alessandro Sordoni,Jianyun Nie 和 Yoshua Bengio 的量子語言模型 [7],本文自底向上建構密度矩陣是能夠輕量地直接結合在神經網絡裡面。

Case Study

基于一個局部視窗建構基于詞袋模型的密度矩陣表示,對于下列的 case 顯得更加有效。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&amp;文獻)

文句和答句同時包含了某個實體(president of chief executive of Amtrak 與 Amtrak’spresident and chief executive),但是它們的順序有可能有一些颠倒,其中颠倒的本身會有一些詞的變化,比如從 of 變成 ’s。

密度矩陣在一個 local 的視窗内是位置不敏感的,是以可以處理 Amtrak 與 president/chief executive 的交換的情況;而且有着顯式的詞權重模組化,of 與 ’s 之類的詞由于本身詞頻高,可以與很多詞同時出現,假想其應該有更小的權重(實驗結果基本支援該假想)。

第二個例子是一個稍難一點的例子,因為兩個需要比對的兩個文本片段,包含有一些不重疊的詞。這類比對例子寄希望于詞向量的軟比對能力。

NAACL 2019最佳論文:量子機率驅動的神經網絡(附代碼&amp;文獻)

結果

實驗結果取得與一些經典模型可比較的結果。由于評測的資料集相對比較小,在結果上提供的貢獻比較有限。相比較 CNN 和 RNN,本文模型相對較淺且參數有限,貢獻更多是展現提供一個新的視角來看待神經網絡。

代碼已經開源見:

https://github.com/wabyking/qnn

展望

短期看,暴力拟合資料會取得更好的結果。最近伯克利的研究人員聲稱,兒童隻需要 18M 的存儲空間來掌握它們的母語 [10],整個社群還有很長的路要走。大資料大模型的紅利總有一天會吃完,未來人們不得不去摘取高枝上的果實,啃難啃的骨頭。

長期看,社群或許能從數學或者實體的角度來了解和分析深度學習中受益,或者結合語言特性本身,來設計一些具有較強動機(而不是完全從經驗結果出發)的模型和方法。

當然實作這樣長期的一些目标,也需要行業内的科研和工程從業人員對一些有好的思路和想法有更多的寬容,在一個寬松的環境不再要求所有的論文的方法都去追求 the state of art;在一個良好設定的基準線上能夠驗證論文本身的觀點(即便是 toy model),就應該是科學的論文;刷榜固不可少,小清新也别有風味。

一個有潛力的實體啟發的研究方向是從目前的一個低維的角度朝向指數高次元的張量空間,某些傳統神經網絡,被認為是對應于特定假設空間裡高維參數張量的分解。例如單層 CNN 被認為對應于 CP 分解;某種特定設定下的多層 CNN 對應于階層化Tucker分解 [8];RNN 則與張量鍊分解(Tensor Train Decomposition)有關 [9]。

通過分析不同張量分解模型來了解其能近似的張量的秩(rank)能夠很好地了解神經網絡的表達能力。不僅如此,基于高維張量空間的視角,有很大的潛力去指導設計神經網絡結構。

參考文獻

[1] Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. "Why should i trust you?: Explaining the predictions of any classifier." Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining. ACM, 2016.

[2] Lipton, Zachary C. "The Mythos of Model Interpretability." Queue 16.3 (2018): 30.

[3] Zeiler, Matthew D., and Rob Fergus. "Visualizing and understanding convolutional networks." European conference on computer vision. springer, Cham, 2014.

[4] Ding, Yanzhuo, et al. "Visualizing and understanding neural machine translation." Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2017.

[5] Bruza, Peter, et al. "Is there something quantum-like about the human mental lexicon?." Journal of Mathematical Psychology53.5 (2009): 362-377.

[6] Sabour, Sara, Nicholas Frosst, and Geoffrey E. Hinton. "Dynamic routing between capsules." Advances in neural information processing systems. 2017.

[7] Sordoni, Alessandro, Jian-Yun Nie, and Yoshua Bengio. "Modeling term dependencies with quantum language models for IR." Proceedings of the 36th international ACM SIGIR conference on Research and development in information retrieval. ACM, 2013.

[8] Cohen, Nadav, Or Sharir, and Amnon Shashua. "On the expressive power of deep learning: A tensor analysis." Conference on Learning Theory. 2016.

[9] Khrulkov, Valentin, Alexander Novikov, and Ivan Oseledets. "Expressive power of recurrent neural networks." arXiv preprint arXiv:1711.00811 (2017).

[10]

https://news.berkeley.edu/2019/03/27/younglanguagelearners/

編輯:王菁

校對:龔力、楊學俊

繼續閱讀