Attention isn’t all you need!BERT的力量之源遠不止注意力

机器之心發表於2019-03-05
本文嘗試從自然語言理解的角度解釋 BERT 的強大能力。作者指出Transformer不只有注意力(解析),還注重組合,而解析/組合正是自然語言理解的框架。

BERT 為何如此重要

BERT 是谷歌近期釋出的自然語言處理模型,它在問答系統、自然語言推理和釋義檢測(paraphrase detection)等任務中取得了突破性的進展。由於 BERT 是公開可用的,它在研究社群中很受歡迎。

下圖顯示了 GLUE 基準測試分數的演變趨勢,GLUE 基準測試分數即在多個自然語言處理評估任務中的平均得分。

Attention isn’t all you need!BERT的力量之源遠不止注意力

雖然尚不清楚是否所有的 GLUE 任務都非常有意義,但是基於 Transformer 編碼器的通用模型(Open-GPTBERT 和 BigBird)在不到一年的時間內縮小了與任務專用模型和人類的差距。

然而,正如 Yoav Goldberg 在論文《Assessing BERT’s Syntactic Abilities》所述,我們並沒有完全理解 Transformer 是如何對句子進行編碼的。

與 RNN 不同,Transformer完全依賴於注意力機制,除了透過每個單詞的絕對位置的嵌入對單詞進行標記外,Transformer 對單詞順序沒有明確的概念。這種對注意力的依賴可能會導致 Transformer 在語法敏感任務上的效能不如 RNN (LSTM)模型,後者直接對詞序建模並顯式跟蹤句子狀態。

有一些文章已經深入探討了 BERT 模型的技術細節。本文將嘗試提供一些新的見解和假設,從而解釋 BERT 強大的能力。

語言理解的框架:解析/組合

人類理解語言的方式一直是一個懸而未決的問題。在 20 世紀,兩個互補的理論對這個問題進行了說明:

  • 組合原則(Compositionalityprinciple)指出,複合詞的意義來源於每個單詞的意義以及這些單片語合的方式。根據這一原則,名詞性短語「carnivorousplants」(食肉植物)的意義可以透過組合過程從「carnivorous」和「plant」的意義中派生出來。[Szabó 2017]

  • 另一個原則是語言的層次結構。該理論指出,透過分析,句子可以被分解成從句等簡單結構。從句又可以被分解成動詞短語和名詞性短語等結構。

對層次結構進行解析,並遞迴地從它們的組成部分中提取出意義,直到達到句子級別,這對於語言理解是一種很好的方法。想想「Bart watched a squirrel with binoculars」(Bart用雙筒望遠鏡觀察松鼠)這句話。一個好的解析元件可以生成如下解析樹

Attention isn’t all you need!BERT的力量之源遠不止注意力

「Bart watched a squirrel withbinoculars」這句話的二叉解析樹

這個句子的意義可以從連續的組合過程中派生而來(將「a」與「squirrel」組合、「watched」與「a squirrel」複合,「watched a squirrel」與「with binoculars」),直到獲知句子的意義。

向量空間(如在詞嵌入中)可用於表示單詞、短語以及其它組成部分。組合過程可以被構造為函式 f,它將把(“a”、“squirrel”)合成為一個有意義的向量表示 “a squirrel” =f(“a”, “squirrel”)。[Baroni 2014]

然而,組合和解析都是很困難的任務,並且這兩個任務彼此需要。

顯然,組合依賴解析的結果來確定應該組合什麼。但即使有正確的輸入,組合也是一個難題。例如,形容詞的意義會根據它們所描述的單詞而變化:「white wine」(白葡萄酒)的顏色實際上是黃色的,而白貓是白色的。這種現象被稱為co-composition。 [Pustejovsky 2017]

Attention isn’t all you need!BERT的力量之源遠不止注意力

「白葡萄酒」和「白貓」在二維語義空間中的表徵(空間的維度是顏色)。

組合還需要更廣泛的上下文。例如,「綠燈」中的單片語合方式取決於具體情況。綠燈可以表示認可,也可以表示真正綠色的燈。一些慣用表達的意義需要某種形式的記憶,而不是簡單地組合。因此,在向量空間中執行組合過程需要如深度神經網路這樣的強大非線性函式(也具有記憶功能 [Arpit 2017])。

相反,解析操作在某些情況下可能需要組合才能工作。不妨考慮句子「Bart watcheda squirrel with binoculars」的另一個解析樹

Attention isn’t all you need!BERT的力量之源遠不止注意力

「Bart watched a squirrel withbinoculars」的另一種二叉解析樹

雖然這種解析在句法上是成立的,但它引出了對句子的一種奇怪解釋:Bart(裸眼)看到一隻拿著雙筒望遠鏡的松鼠。然而,我們必須使用某種形式的組合過程才能確定「一隻松鼠拿著雙筒望遠鏡」是不可能的。

通常,在派生出恰當的結構之前,必須經過消歧和對背景知識的整合。但是這種派生也可以透過某些形式的解析和組合來實現。

有一些模型也曾試著將解析和組合一起應用到實踐中 [Socher 2013],然而,它們有一個限制,即依賴手動標註的標準解析樹,此外,它們也已經被一些更簡單的模型超越了。

BERT 如何實現解析/組合

我們假設 Transformer 以一種創新的方式嚴重依賴這兩種操作(解析/組合):由於組合需要解析,而解析又需要複合,所以Transformer 使用迭代過程,透過連續的解析和組合步驟來解決相互依賴的問題。實際上,Transformer 是由幾個堆疊的層(也稱為塊)組成的。每個塊包括一個注意力層和一個緊接著的非線性函式(應用於每個 token)。

我們試著展示這些元件與解析/組合框架之間的聯絡:

Attention isn’t all you need!BERT的力量之源遠不止注意力

一個 Transformer 塊可以被看做連續的解析和組合步驟。

將注意力作為一個解析步驟

BERT 模型使用注意力機制讓輸入序列中的每個 token(例如,句子由詞或子詞 token 組成)能夠注意到其餘的 token。

為了說明這一點,我們使用一種視覺化工具(來自這篇文章:https://medium.com/dissecting-bert/dissecting-bert-part2-335ff2ed9c73)深入研究注意力頭,並在預訓練 BERT-Base Uncased 模型(谷歌釋出的 4 種BERT 預訓練模型中的一種)上測試了我們的假設。在如下注意力頭示意圖中,「it」這個單詞會注意到該句中所有其它 token,但是似乎重點關注「street」和「animal」這兩個詞。

Attention isn’t all you need!BERT的力量之源遠不止注意力

「it」在 layer 0head #1 得到的注意力值的視覺化結果。

BERT 的每一層使用 12 個單獨的注意力機制。因此在每一層上,每個 token 都可以關注其它 token 的 12 個不同方面。由於 Transformer 使用許多不同的注意力頭(這個 BERT base 模型使用了 12*12=144個注意力頭),每個注意力頭可以重點關注不同型別的組合。

我們忽略了與 [cls] 和[SEP] token 相關的注意力值。我們試著使用幾個句子進行測試,發現結果很難不被過度解讀,你可以隨意在這個 colab notebook(https://colab.research.google.com/drive/1Nlhh2vwlQdKleNMqpmLDBsAwrv_7NnrB)中使用不同的句子測試我們的假設。請注意,在這些圖中,左側的序列注意右側的序列。

在第二層中,注意力頭 #1 似乎會基於相關性生成組合的組成部分。

Attention isn’t all you need!BERT的力量之源遠不止注意力

第二層的注意力頭 #1 的注意力值視覺化結果,它似乎將相關的 token 配對。

更有趣的是,在第三層中,注意力頭 #9 似乎展示了更高層次的組成部分:一些 token 注意到了相同的核心單詞(「if」、「keep」、「have」)。

Attention isn’t all you need!BERT的力量之源遠不止注意力

第三層的注意力頭 #11 的注意力值視覺化結果,其中一些token似乎注意到了某些的核心單詞(例如「have」、「keep」)。

在第五層中,注意力頭 #6 執行的匹配過程似乎更關注特定的組合,特別是涉及動詞的組合。像 [SEP] 這樣的特殊 token 似乎被用來表示沒有找到匹配關係。這可以使注意力頭發現適合組合的特定結構。這種一致的結構可被傳遞給組合函式。

Attention isn’t all you need!BERT的力量之源遠不止注意力

第五層的注意力頭#6 的注意力值視覺化結果,其中 (we, have)、(if, we)、(keep, up)、(get, angry) 等組合似乎更受到關注。

任何樹狀結構都可以透過連續的淺層解析層來表示,如下圖所示:

Attention isn’t all you need!BERT的力量之源遠不止注意力

如何用一些注意力層表示樹狀結構。

在檢視 BERT 注意力頭的過程中,我們沒有發現如此清晰的樹狀結構,但是 Transformer 還是有可能對其進行表徵。

我們注意到,由於編碼是在所有層上同時進行的,因此我們很難正確地解釋 BERT 正在做什麼。對於給定層的分析只對其上一層或下一層有意義。解析也分佈在各個注意力頭上。

下圖展示了,在兩個注意力頭的情況下, BERT注意力機制更加實際的情況。

Attention isn’t all you need!BERT的力量之源遠不止注意力

BERT 模型中的注意力值更加實際的情況。

然而,正如我們之前看到的那樣,解析樹是一種高階的抽象表示,它可以建立在在更復雜的「根莖」(rhizomatic)[Deleuze 1987] 結構之上。例如,我們可能需要找出代詞指的是什麼,以便對輸入進行編碼(共指消解)。在其他情況下,可能還需要根據全域性上下文來進行消歧。

意外的是,我們發現了一個似乎在真正執行共指消解的注意力頭(第六層的注意力頭 #0)。此外,正如文章《Understanding BERT Part 2: BERT Specifics》中提到的,一些注意力頭似乎為每個單詞提供全域性上下文(第 0 層的注意力頭 #0)。

Attention isn’t all you need!BERT的力量之源遠不止注意力

第六層的注意力頭 #0 中發生的共指消解。

Attention isn’t all you need!BERT的力量之源遠不止注意力

每個單詞都會關注該句中所有其它的單詞。這可能為每個單詞建立一個粗略的上下文語境。

組合階段

在每一層中,所有注意力頭的輸出都會被級聯並輸入到一個可表示複雜非線性函式的神經網路(這是構建一個有表達能力的組合過程所需要的)。

神經網路依靠注意力頭產生的結構化輸入,可以執行各種各樣的組合。在前文展示的第五層中,注意力頭 #6 可以引導模型進行下列組合:(we, have)、(if, we)、(keep, up)、(get,angry)。該模型可以用非線性的方式將它們組合起來,並返回一個組合後的表徵。因此,多注意力頭可作為工具為組合做準備。

Attention isn’t all you need!BERT的力量之源遠不止注意力

如何用注意力頭為特定的組合(如形容詞和名詞的組合)做準備。

雖然我們沒有發現注意力頭更一致地關注某些組合(如形容詞/名詞),但動詞/副詞的組合和模型所利用的其他組合之間可能會有一些共同點。

可能存在許多相關的組合(詞-子詞、形容詞-名詞、動詞-介詞、從句-從句)。更進一步講,我們可以將消歧看作把一個歧義詞(如 bank)與其相關的上下文單詞(如 river 或 cashier)組合的過程。在組合階段,模型還可以將給定上下文中與概念相關的背景常識知識進行整合。

Attention isn’t all you need!BERT的力量之源遠不止注意力

將消歧作為一種組合。

此外,組合還可能涉及詞序推理。有人認為,位置編碼(positional encoding)可能不足以正確地編碼單詞的順序。然而,位置編碼的初衷就是為每個 token 進行粗粒度、細粒度上和可能精確的位置編碼。(位置編碼是一個向量,它會被用來與輸入嵌入求平均,以為輸入序列中的每個 token 生成能夠感知位置的表徵)。因此,基於兩個位置編碼,非線性組合理論上可以執行基於單詞相對位置的關係推理。

我們假設,在 BERT 模型的自然語言理解中, 組合階段也起到了很重要的作用:你並不只需要注意力機制(不僅僅需要解析,還需要組合),Attention isn’t all you need!

總結

本文介紹了對 Transformer 的歸納偏置的一些見解。不過,讀者需要了解,本文的解釋對 Transformer 的能力持樂觀態度。讀者需要注意的是,LSTM 可以隱式地處理樹結構 [Bowman 2015]和組合過程 [Tai 2015]。但是 LSTM 存在一些侷限性,其中有一些是由梯度消失問題造成的 [Hochreiter1998]。因此,需要研究人員透過進一步的工作來解釋 Transformer 的侷限性。

參考文獻

  • BERT: Pre-training of Deep BidirectionalTransformers for Language Understanding [Devlin 2018]

  • Attention Is All You Need [Vaswani 2017]

  • Assessing BERT’s SyntacticAbilities[Goldberg 2019]

  • Compositionality [Szabó 2017] Frege in Space [Baroi,2014]

  • Co-compositionality in Grammar [Pustejovsky 2017]

  • A Closer Look at Memorization in DeepNetworks [Arpit 2017]

  • Recursive Deep Models for SemanticCompositionality Over a Sentiment Treebank [Socher 2013]

  • Improved Semantic Representations From Tree-StructuredLong Short-Term Memory Networks [Tai 2015]

  • Tree-structured composition in neuralnetworks without tree-structured architectures [Bowman 2015]

  • A Thousand Plateaus[Deleuze 1987]

  • The vanishing gradient problem duringlearning recurrent neural nets and problem solutions [Hochreiter 1998]

  • Dissecting BERT part 2 [Ingham 2019]

原文連結:https://medium.com/synapse-dev/understanding-bert-transformer-attention-isnt-all-you-need-5839ebd396db

相關文章