為什麼說Transformer就是圖神經網絡?

2020-12-18 AI科技大本營

作者 | Chaitanya Joshi

譯者 | Kolen

前言

有些工程師朋友經常問我這樣一個問題:「圖深度學習聽起來很棒,但是現在是否有非常成功的商業案例?是否已經在實際應用中部署?」

除了那些顯而易見的案例,比如Pinterest、阿里巴巴和Twitter公司部署的推薦系統,一個稍有細微差別的成功案例就是Transformer架構的實現,它在NLP行業引起了軒然大波。

通過這篇文章,我想建立起圖神經網絡(GNNs)和Transformers之間的聯繫。具體來說,我將首先介紹NLP和GNN領域中模型架構的基本原理,然後使用公式和圖表來闡述兩者之間的聯繫,最後將討論如何讓兩者協同運作來推動這方面的研究進展。

我們先來談談模型架構的目的——表示學習。

NLP的表示學習

從一個較高的層次來分析,幾乎所有的神經網絡結構都將輸入數據表示為向量(vectors)或者嵌入(embeddings)的形式,從而對數據中有用的統計和語義信息進行編碼。這些潛在或隱藏的表示方法可以用於執行一些有用的任務,例如對圖像進行分類或翻譯句子。其中,神經網絡通過接收反饋(通常是通過誤差(error)/損失(loss)函數)來學習如何構建越來越好的表示方法。

在自然語言處理(NLP)中,按照傳統方式,人們習慣將遞歸神經網絡(RNNs)以照序列的方式(即一個時間步對應一個單詞)來構建句子中每個單詞的表示。直觀地說,我們可以把RNN層想像成一個傳送帶,上面的字從左到右進行自回歸處理。最後,我們得到句子中每個單詞的一個隱藏特徵,並將其傳遞到下一個RNN層或者用於我們選擇的NLP任務。

Transformers最初是用於機器翻譯領域,但是現在已經逐漸取代了主流NLP中的RNNs。該架構採用了一種全新的表示學習方法:完全拋棄了遞歸的方法,Transformers使用注意力機制構建每個詞的特徵,從而找出句子中所有其他單詞對上述單詞的重要性。理解了這一關鍵點我們就能明白,單詞的更新特徵僅僅是所有單詞特徵的線性變換之和,這些特徵是根據它們的重要性進行加權。

早在2017年,這個想法聽起來就非常激進,因為NLP界已經習慣了使用RNN處理文本的序列(每次一個單詞)的風格。這篇論文的標題可能是火上澆油!

Yannic Kilcher為此做了一個出色的視頻概述。

解析Transformer

讓我們通過將上一節內容轉述成數學符號和向量的語言來加深對這個架構的認識。如下所示,我們將句子

中第i個詞的隱藏特徵h從

層更新到

層:

其中,

表示句子中的詞彙集,而

是可以學習到的線性權重(分別表示注意力計算中的Query, Key 和 Value)。句子中的每個單詞並行執行注意力機制,從而可以一次性獲得它們已更新的特徵——這是Transformer相對RNNs的另一個加分點,它使得模型能夠逐字更新特徵。

我們可以通過下面這張流程圖來更好地理解注意力機制:

輸入詞彙特徵和句子中其他詞彙集

,我們使用點積運算來計算出每對

的注意力權重,接著對所有的進行softmax運算。最後,把所有的

相對應的權重累加得到單詞i更新後的詞彙特徵

。句子中的每個單詞都會並行地經歷相同的流程來更新其特徵。

多頭注意力機制

事實證明,要讓這種點積注意力機制起作用是很難的——如果隨機初始化處理得不好會使得整個學習過程失去穩定性。我們可以通過並行執行多個注意力「頭」並將結果連接起來(現在每個注意力頭都有單獨的可學習權重)來克服這個問題:

其中,

是第k個注意力頭的可學習的權重,而

是一個向下的投影,用以匹配跨層的

和的尺寸。

通過觀察上一層中隱藏特徵的不同的變換過程以及方面,多頭機制允許注意力機制從本質上「規避風險」。關於這點,我們將在後面詳細討論。

尺度問題和前向傳播子層

促使形成最終形態的Transformer結構的關鍵問題是,注意機制之後的詞的特徵可能在不同的尺度或重要性上:(1)這可能是由於某些詞在將其他詞的特徵累加時具有非常集中或非常分散的注意力權重。(2)在單個特徵/向量輸入級別,跨多個注意力頭(每個可能會以不同的比例輸出值)進行級聯可以導致最終向量的輸入具有一個大範圍的值。遵循傳統的機器學習思路,在上述流程中增加一個歸一化層似乎是一個合理的選擇。

Transformers使用LayerNorm克服了問題(2),LayerNorm在特徵層級上進行歸一化並學習一種仿射變換。此外,通過求特徵維度的平方根來縮放點積注意力有助於抵消問題(1)。

最後,作者提出了控制尺度問題的另一個「技巧」:具有特殊結構的考慮位置的雙層MLP。在多頭注意力之後,他們通過一個可學習的權重將投影到一個更高的維度,在該維度中,經過ReLU非線性變換,然後投影回其原始維度,然後再進行另一個歸一化操作:

說實話,我不確定超參數化前饋子層背後的確切理由是什麼,似乎也沒有人對此提出疑問!我認為LayerNorm和縮放的點積不能完全解決突出的問題,因此大型MLP是一種可以相互獨立地重新縮放特徵向量的手段。

Transformer層的最終形態如下所示:

Transformer架構也非常適合非常深的網絡,使NLP界能夠在模型參數和擴展數據這兩方面進行延伸。每個多頭注意力子層和前饋子層的輸入和輸出之間的殘差連接是堆疊Transformer層的關鍵(但為了清楚起見,在上圖中省略了)。

GNNs構建圖的表示

我們暫時不討論NLP。

圖神經網絡(GNNs)或圖卷積網絡(GCNs)在圖數據中建立節點和邊的表示。它們是通過鄰域聚合(或消息傳遞)來實現的,在鄰域聚合中,每個節點從其鄰域收集特徵,以更新其周圍的局部圖結構表示。通過堆疊多個GNN層使得該模型可以將每個節點的特徵傳播到整個圖中,從其鄰居傳播到鄰居的鄰居,依此類推。

以這個表情符號社交網絡為例:由GNN產生的節點特徵可用於預測性任務,例如識別最有影響力的成員或提出潛在的聯繫。

在他們最基本的形式中,GNNs通過以下方法來更新節點i在層的隱藏層特徵h(例如,),也就是先將節點自身的特徵和每個鄰居節點

特徵

的聚合相累加,然後再整體做一個非線性變換,如下:

其中

是GNN層的可學習的權重矩陣,而

是一個非線性變換,例如ReLU。在上述例子中,N () ={ , , , }。

鄰域節點

上的求和可以被其他輸入大小不變的聚合函數代替,例如簡單的 均值/最大值函數或其他更強大的函數(如通過注意機制的加權和)。

這聽起來熟悉嗎?

也許這樣一條流程可以幫助建立連接:

如果我們要執行多個並行的鄰域聚合頭,並且用注意力機制(即加權和)替換領域 上的求和 ,我們將獲得圖注意力網絡(GAT)。加上歸一化和前饋MLP,瞧,我們就有了Graph Transformer!

句子就是由詞全連接而成的圖

為了使連接更加清晰,可以將一個句子看作一個完全連接的圖,其中每個單詞都連接到其他每個單詞。現在,我們可以使用GNN來為圖(句子)中的每個節點(單詞)構建特徵,然後我們可以使用它來執行NLP任務。

廣義上來講,這就是Transformers正在做的事情:Transformers是以多頭注意力作為鄰聚合函數的GNNs。標準GNNs從其局部鄰域節點聚合特徵,而NLP的Transformers將整個句子視為局部鄰域,在每個層聚合來自每個單詞

的特徵。

重要的是,各種特定於問題的技巧(如位置編碼、因果/掩碼聚合、學習率表和大量的預訓練)對於Transformers的成功至關重要,但在GNN界中卻很少出現。同時,從GNN的角度看Transformers可以啟發我們擺脫模型結構中的許多花哨的玩意。

可以從Transformers和GNN中學到什麼?

現在我們已經在Transformers和GNN之間建立了聯繫,接著讓我們來探討一些新的問題...

8.1 全連接圖是NLP的最佳輸入格式嗎?

在統計NLP和ML之前,Noam Chomsky等語言學家致力於發展語言結構的最新理論,如語法樹/圖。Tree LSTMs已經嘗試過這一點,但是也許Transformers/GNNs是可以讓語言理論和統計NLP的領域結合得更加緊密的更好的架構?

8.2 如何學習到長期依賴?

完全連通圖使得學習詞與詞之間的非常長期的依賴關係變得非常困難,這是完全連通圖的另一個問題。這僅僅是因為圖中的邊數與節點數成二次平方關係,即在n個單詞的句子中,Transformer/GNN將在n^2對單詞上進行計算。如果n很大,那將會是一個非常棘手的問題。

NLP界對長序列和依賴性問題的看法很有意思:例如,使注意力機制在輸入大小方面稀疏或自適應,在每一層中添加遞歸或壓縮,以及使用對局部性敏感的哈希法進行有效的注意,這些都是優化Transformers有希望的新想法。

有趣的是,還可以看到一些GNN界的想法被混入其中,例如,用於句子圖稀疏化的二進位分區似乎是另一種令人興奮的方法。

8.3 Transformers在學習神經網絡的句法嗎?

NLP界有幾篇關於Transformers可能學到什麼的有趣論文。其基本前提是,對句子中的所有詞對使用注意力機制(目的是確定哪些詞對最有趣),可以讓Transformers學習特定任務句法之類的東西。

多頭注意力中的不同頭也可能「關注」不同的句法屬性。

從圖的角度來看,通過在完全圖上使用GNN,我們能否從GNN在每一層執行鄰域聚合的方法中恢復最重要的邊線及其可能帶來的影響?我還不太相信這種觀點。

8.4 為什麼要用多頭注意力?為什麼要用注意力機制?

我更贊同多頭機制的優化觀點——擁有多個注意力可以改進學習,克服不好的隨機初始化。例如,這些論文表明,Transformers頭可以在訓練後「修剪」或「刪除」,並且不會產生重大的性能影響。

多頭鄰聚合機制在GNNs中也被證明是有效的,例如在GAT使用相同的多頭注意力,MoNet使用多個高斯核來聚合特徵。雖然多頭技巧是為了穩定注意力機制而發明的,但它能否成為提煉出額外模型性能的標準?

相反,具有簡單聚合函數(如sum或max)的GNNs不需要多個聚合頭來維持穩定的訓練。如果我們不需要計算句子中每個詞對之間的成對兼容性,對Transformers來說不是很好嗎?

Transformers能從拋棄注意力中獲益嗎?Yann Dauphin和合作者最近的工作提出了另一種ConvNet架構。Transformers也可能最終會做一些類似於ConvNets的事情。

8.5 為什麼Transformers這麼難訓練?

閱讀新的Transformer論文讓我覺得,在確定最佳學習率表、預熱策略和衰減設置時,訓練這些模型需要一些類似於黑魔法的東西。這可能僅僅是因為模型太大,而且所研究的NLP任務非常具有挑戰性。

但是最近的結果表明,這也可能是由於結構中歸一化和殘差連接的特定組合導致的。

在這一點上我很在意,但是也讓我感到懷疑:我們真的需要代價昂貴的成對的多頭注意力結構,超參數化的MLP子層以及複雜的學習計劃嗎?

我們真的需要具有大量碳足跡的(譯者註:有人提出現在訓練一個模型相當於5輛汽車一天的排碳量)大規模模型嗎?

具有良好歸納偏差的架構難道不容易訓練嗎?

原文連結:

https://dwz.cn/eE9kZK6q

(本文由AI科技大本營編譯,轉載請聯繫微信1092722531)

【end】

在這次疫情防控中,無感人體測溫系統發揮了怎樣的作用?它的技術原理是什麼?無感人體測溫系統的應用場景中有哪些關鍵技術與落地困難?高精準的無感人體測溫系統的核心技術武器是什麼?對於開發者們來說,大家應該了解哪些技術?

機器會成為神嗎?6個步驟,告訴你如何用樹莓派和機器學習DIY一個車牌識別器!(附詳細分析)微信回應釘釘健康碼無法訪問;谷歌取消年度I/O開發者大會;微軟公布Visual Studio最新路線圖什麼是CD管道?一文告訴你如何藉助Kubernetes、Ansible和Jenkins創建CD管道!智能合約初探:概念與演變血虧1.5億元!微盟耗時145個小時彌補刪庫

相關焦點

  • Transformer新型神經網絡在機器翻譯中的應用|公開課筆記
    如左圖所示,我們輸入一個待翻譯的句子,通過神經網絡編碼器,去把這個句子的信息編碼成中間狀態,就是這個圖中紅色的部分,它用數值的隱層來表示。經過中間狀態、經過神經網絡解碼器去生成對應的翻譯,是編碼、解碼的過程。翻譯的知識和參數都是由神經網絡自動進行學習的,它省去了之前傳統方法之前的人工幹預模塊,使整個翻譯過程統一化,並且簡潔。
  • 圖神經網絡加速晶片進入倒計時 全球首款商用圖神經網絡加速IP核...
    因此,該IP核是全球首款圖神經網絡加速IP核,專注於高效加速圖神經網絡的推斷階段。  適合圖神經網絡的算力  此款圖神經網絡加速IP核代號為「GCU Zero」,主要研究人員之一是中科院計算所特別研究助理嚴明玉博士,其畢業於中科院計算所,曾在美國加州大學聖巴巴拉分校 SEAL 實驗室訪學,主要從事圖計算和圖神經網絡加速結構研究。
  • Transformer又來了!這個谷歌3D大法聞歌起舞,流暢且自然!
    研究者將舞蹈表示為一個由關節旋轉和全局平移組成的 3D 動作序列,這使得輸出可以很容易地遷移至動作重定向等應用,具體流程如下圖 1 所示:該架構建立在已被證明對長序列生成特別有效的基於注意力的網絡 [15, 62, 3, 71]上,並從視覺和語言的跨模態文獻 [71] 中獲得靈感,設計了一個使用三個 transformer 的框架,分別用於音頻序列表示、動作表示和跨模態音頻 - 動作表示。
  • 圖神經網絡越深,表現就一定越好嗎?
    數十層甚至數百層神經網絡的應用,是深度學習的重要標誌之一。但現實情況卻遠非如此:比如今年被視作機器學習領域最火熱的研究方向之一——圖神經網絡,大多數都只運用了寥寥幾層網絡。一般思路裡,我們會認為圖神經網絡越深,效果就會越好。然而,日前帝國理工學院教授Michael Bronstein 發出了靈魂拷問:圖神經網絡的深度,真的會帶來優勢嗎?
  • 圖神經網絡前沿綜述:動態圖網絡
    導語 圖神經網絡已經被廣泛的應用於圖結構數據的建模和表徵學習,但是主流的研究都局限於處理靜態網絡數據,而真實的複雜網絡大多會隨時間發生結構和性質的演化
  • 圖神經網絡最新發展
    圖 1:圖像卷積與圖卷積。卷積神經網絡(Convolutional Neural Network,CNN)和圖神經網絡(Graph Neural Network,GNN)的主要區別是什麼?簡單來說,就是輸入數據。你可能還記得,CNN 所需的輸入是一個固定大小的向量或矩陣。然而,某些類型的數據自然是用圖表示的,如分子、引用網絡或社交媒體連接網絡都可以用圖數據來表示。
  • 首款商用圖神經網絡加速IP核發布
    據介紹,這是全球首款商用圖神經網絡加速IP核,專注於高效加速圖神經網絡的推斷階段。     適合圖神經網絡的算力   該款圖神經網絡加速IP核主要研究人員之一、中科院計算所特別研究助理嚴明玉博士介紹說,「Zero」寓意著團隊從0號「認知智能」晶片開始,期望實現機器與人類在智能上的「零差距」;「G」和」U」取圖處理單元(Graph Unit)之義,代表滿足圖神經網絡特殊算力需求的計算單元
  • 我們真的需要深度圖神經網絡嗎?
    深度學習的一大特點就是使用的神經網絡具有幾十層甚至數百層。與之形成鮮明對比的是,大多數用於圖深度學習的架構都很「淺」,只有少量的層。在本文中,作者提出了一個看上去有些離經叛道的問題:圖神經網絡架構的深度能否帶來任何優勢?
  • 中科院計算所沈華偉:圖神經網絡表達能力的回顧和前沿
    沈華偉老師還對近幾年圖神經網絡表達能力的相關研究進行了梳理,他說:「GNN出現的早期,大家對它表達能力的認識是基於其在半監督學習,尤其是節點分類任務上的優秀表現,一些應用向的研究也只是對圖神經網絡表達能力經驗上的證明」。基於這個認知,在介紹完圖神經網絡的基本知識之後,沈華偉老師對圖神經網絡的表達能力給予了理論上的介紹。
  • 深度圖神經網絡到底「深不深」
    今年,圖深度學習在機器學習領域的最熱話題上一直居高不下。然而,那些習慣於想像具有數十甚至上百層卷積神經網絡才算有「深度」的人,看到圖「深度」學習最多只用幾層,一定會很失望。「深度圖神經網絡」是用詞不當嗎?我們是否解釋一下這個經典之詞來看看「深度」是否對圖學習是不利的?訓練深度圖神經網絡非常困難。
  • 【GNN】從圖(Graph)到圖卷積(Graph Convolution):漫談圖神經網絡模型 (一)
    從圖(Graph)到圖卷積(Graph Convolution):漫談圖神經網絡模型 (二)從圖(Graph)到圖卷積(Graph Convolution):漫談圖神經網絡模型 (三)筆者最近看了一些圖與圖卷積神經網絡的論文,深感其強大,但一些Survey或教程默認了讀者對圖神經網絡背景知識的了解,對未學過信號處理的讀者不太友好。
  • 從圖(Graph)到圖卷積(Graph Convolution):漫談圖神經網絡 (二)
    在從圖(Graph)到圖卷積(Graph Convolution): 漫談圖神經網絡 (一)中,我們簡單介紹了基於循環圖神經網絡的兩種重要模型,在本篇中,我們將著大量筆墨介紹圖卷積神經網絡中的卷積操作。
  • 圖神經網絡的「前世今生」
    而現實中很多數據之間都有著相當複雜的關係, 一般表現為非歐空間之上的圖結構.為處理圖數據之上的任務, 圖神經網絡就應運而生了.譜域卷積通過離散傅立葉變換把拓撲圖映射到譜域, 然後據此來定義自己的圖卷積算子.主要的模型有SCNN、ChebNet和GCN(按發表時間升序排列). 這三個模型都是基於同一種算法, 可以說是一脈相承的了.
  • 百度李偉彬:基於PGL的圖神經網絡基線系統
    承辦單位為中國科學院大學學生會,協辦單位為中國科學院計算所研究生會、網絡中心研究生會、人工智慧學院學生會、化學工程學院學生會、公共政策與管理學院學生會、微電子學院學生會。2020年5月30日,第15期「AI未來說·青年學術論壇」大數據線上專場論壇以「線上平臺直播+微信社群圖文直播」形式舉行。百度李偉彬帶來報告《基於PGL的圖神經網絡基線系統》。
  • 圖神經網絡的十大學習資源分享
    字幕組雙語原文:【乾貨】圖神經網絡的十大學習資源分享英語原文:Top 10 Learning Resources for Graph Neural Networks翻譯:雷鋒字幕組(聽風1996)圖神經網絡(GNNs)是深度學習的一個相對較新的領域,從最近開始越來越流行。
  • 嵌入式快訊:M1808 AI 核心板和基於Transformer的車道線檢測網絡
    對於開發者、工程師、科研工作者來說,Mac 一直是非常受歡迎的平臺,也有人用 Mac 訓練神經網絡,但訓練速度一直是一個令人頭疼的問題。 上周,蘋果發布了搭載 Arm 架構 M1 晶片的三款新 Mac,於是就有人想問:用它們訓練神經網絡能快一點嗎?
  • 中科院計算所研究團隊提出圖神經網絡加速晶片設計
    嚴明玉在受訪時說,圖神經網絡在搜索、推薦、風險控制等重要領域有著廣泛應用。現有的處理器晶片在執行圖神經網絡的計算中效率低下,其團隊展開面向圖神經網絡的加速晶片設計,為解決這一難題提供可行方案。讓機器「會思考」 設計中「增引擎」圖神經網絡被認為有望解決深度學習無法處理的關係推理、可解釋性等一系列問題,讓機器「能理解、會思考」。然而由於圖神經網絡在圖數據處理方面的特殊性,傳統用於加速神經網絡的晶片難以直接對圖神經網絡的執行提供高效計算支撐。
  • 表徵圖數據絕不止圖神經網絡一種方法
    近年來,圖神經網絡掀起了將深度學習方法應用於圖數據分析的浪潮。不過其作為一門古老的認識世界的方法論,人們對於圖表徵技術的研究從很早以前就開始了。雖然現在深度神經網絡在物體識別、圖像分類和自然語言處理領域都取得了巨大的成功。然而,「設計出最優的神經網絡,學習並輸出任意的圖」仍然是一個熱門的研究課題。
  • 中科院計算所提出全球首款圖神經網絡加速晶片設計
    「HyGCN,寓意向圖神經網絡的加速說『Hi』。」嚴明玉介紹道,圖神經網絡將深度學習算法和圖計算算法相融合,取長補短,能達到更優的認知與問題處理等能力,在搜索、推薦、風險控制等重要領域有著廣泛應用。現有的處理器晶片在執行圖神經網絡的計算中效率低下,其團隊前瞻性地展開面向圖神經網絡的加速晶片設計,為解決這一難題提供了可行方案。
  • 表徵圖數據,絕不止圖神經網絡一種方法
    雖然現在深度神經網絡在物體識別、圖像分類和自然語言處理領域都取得了巨大的成功。然而,「設計出最優的神經網絡,學習並輸出任意的圖」仍然是一個熱門的研究課題。本文是一篇出自倫敦大學學院的圖表徵學習綜述,詳細介紹了圖核、卷積、圖神經網絡、圖嵌入、概率模型共五類圖表徵學習方法的起源與發展,並對圖數據表徵學習方法的最新進展和未來發展方向進行總結和討論。