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

2020-12-12 機器之心Pro

選自medium

作者:Damien Sileo

機器之心編譯

參與:Geek AI、路

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

BERT 為何如此重要

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

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

雖然尚不清楚是否所有的 GLUE 任務都非常有意義,但是基於 Transformer 編碼器的通用模型(Open-GPT、BERT 和 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用雙筒望遠鏡觀察松鼠)這句話。一個好的解析組件可以生成如下解析樹:

「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]

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

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

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

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

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

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

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

BERT 如何實現解析/組合

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

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

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

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

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

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

「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 似乎會基於相關性生成組合的組成部分。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

組合階段

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

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

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

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

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

將消歧作為一種組合。

此外,組合還可能涉及詞序推理。有人認為,位置編碼(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

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權

相關焦點

  • 《Attention is All You Need》文獻總結
    不需要RNN、也不需要CNN,用Attention就可以了,故題為「Attention is all you need」。      以往在seq2seq任務中,我們往往使用RNN進行訓練,但在RNN中,每一time step的計算都依賴於上一time step的輸出,這就使得所有的time step必須串行化計算。
  • Attention is All You Need | 每周一起讀
    Google 此次推出的翻譯框架—Transformer 則完全捨棄了 RNN/CNN 結構,從自然語言本身的特性出發,實現了完全基於注意力機制的 Transformer 機器翻譯網絡架構。論文連結:https://arxiv.org/pdf/1706.03762.pdf#Chainer#https://github.com/soskek/attention_is_all_you_need
  • bert之我見-attention
    bert的已經少之又少了,而bert的講解文章也已經有了很多,這裡我談一下我最近學習得到的理解。(風格依舊,不會重複別人寫過的東西)今天給大家談的是bert中的attention,通篇可能不會有太多篇幅對著bert講,而是把attention講懂,然後再去看bert中的attention幹了什麼,這樣大家能對bert中的attention,甚至整個注意力機制有更加深刻的理解。
  • 【源頭活水】詳解Transformer (Attention Is All You Need)
    地址:https://www.zhihu.com/people/yan-liu-4301前言注意力(Attention)機制[2]由Bengio團隊與2014年提出並在近年廣泛的應用在深度學習中的各個領域,例如在計算機視覺方向用於捕捉圖像上的感受野,或者NLP中用於定位關鍵token
  • What you need to pay attention to in learning spoken English
    First of all, we should be interested in learningEnglish and make great efforts to develop this interest.
  • 隨身英語:Pay attention! 請注意!
    Vocabulary: Concentration 詞彙: 注意力I wonder how many of you will read this article or listen to my voice right through to the end?
  • For All of You Who Don't Want to Quit Smoking
    I’m writing it for all people who don’t want to quit smoking.What they may not understand is that they can’t make you quit, and nagging and negative talk isn’t helping you.
  • 【HBR】To Control Your Life, Control What You Pay Attention To
    Your attention determines the experiences you have, and the experiences you have determine the life you live. Or said another way: you must control your attention to control your life.
  • Do you need to label gender types or not?
    But isn’t the world forgetting about those children, adolescent humans or adults that find it necessary and or need to find themselves through these differences. This is interesting, isn’t it?
  • TensorFlow 2.0官方Transformer教程 (Attention is All you Need)
    Transformer是文章《Attention is All you Need》提出的經典自動翻譯模型。本文介紹TensorFlow 2.0實現的Transformer,使用了TensorFlow 2.0的TFDS (Datasets)等特性,從預處理到模型構建等大大降低了實現的成本,也具有很高的可讀性和可調試性。
  • 清晨朗讀562:PAY ATTENTION
    這次的叫 Attention,講的是我們注意力的退化。放在括弧裡面的是 stage directions,不是朗讀內容。加上這些 stage directions,這個獨白展現的是一個很沒有自知的一個人。「一塊聽聽」聯合多位老師發起了年底打卡活動,如果你感興趣,可以看今天的第二條推送。Have fun!
  • 讀 | All you need is Love
    All you need is Love The first thing you
  • 文本摘要項目(五)——Transformer:Attention Is All You Need
    由於不再使用RNN,所以Transformer具備了並行計算的能力,符合現有的GPU框架;其次,它使用了self-attention機制,可以計算當前詞與其他詞的attention權重,因此可以學習到具有長期依賴的文本間信息。
  • Things U Need Not Say Yes All the Time (Though u Think u Do)
    If you think this person deserves your attention, schedule one day of a month when you can devote your attention to them.2. You don’t need to say yes to people asking for your money.
  • 5 Things You Need to Know about IELTS Vocabulary
    Learning long lists of words won’t improve your scoreThe IELTS exam isn’t a memorisation test, it’s a language exam. You can’t improve your language skills by learning long lists of words.
  • 16 Things U Need Not Say Yes All the Time (Though U Think U Do)
    If you think this person deserves your attention, schedule one day of a month when you can devote your attention to them.2. You don’t need to say yes to people asking for your money.
  • 全民英語推薦:專注力提高之不二秘籍!
    In all seriousness though, I do want you to ask yourself: when’s the last time you were able to sit down and intensely pay attention to one task for a long time?
  • 15 English abbreviations you need to know
    And in English, you really can’t get away from them. Here are 15 that you』ll encounter often and that every English speaker should know.
  • All You Need, You Already Have
    This is a Zen saying that can be translated in a number of ways, all to do with contentment. But my favorite translation is:「All you need, you already have.」
  • or Are We All Addicted to Screens?
    This isn’t going to be enough, it might still vibrate, it might still light up, this isn’t a very full proof plan and we need to get towards as bulletproof a plan as possible if we are to concentrate