电竞比分网-中国电竞赛事及体育赛事平台

分享

解構BERT:從1億個參數(shù)中提取6種模式

 學術頭條 2020-11-27

谷歌的BERT算法已經(jīng)成為一種“統(tǒng)治它們的一種模式?!盉ERT建立在兩個關鍵概念的基礎上,NLP的許多最新進展使用了這兩個概念:(1)transformer 架構(2)無監(jiān)督預訓練。

2018年標志著自然語言處理領域的轉(zhuǎn)折點,一系列深度學習模型在NLP任務中實現(xiàn)了最先進的結(jié)果,從問答到情感分類。最近,谷歌的BERT算法已經(jīng)成為一種“統(tǒng)治所有人的一種模式”,基于其在各種任務中的卓越性能。

BERT建立在兩個關鍵概念的基礎上,NLP的許多最新進展使用了這兩個概念:

(1)transformer 架構

(2)無人監(jiān)督預訓練

該transformer是完全基于注意力的方法,放棄了RNN的順序結(jié)構,比如經(jīng)典的序列模型。

BERT也經(jīng)過預先訓練; 通過兩個無監(jiān)督的任務預先學習它的權重:蒙面語言建模(預測給定左右上下文的缺失單詞)和下一個句子預測(預測一個句子是否跟隨另一個句子)。因此,對于每個新任務,BERT不需要從頭開始訓練; 相反,它的重量是微調(diào)的。

有關BERT的更多詳細信息,請查看  The Illustrated Bert:https://jalammar./illustrated-bert/

BERT是一個(多頭)野獸

Bert不像傳統(tǒng)的注意力模型那樣在RNN的隱藏狀態(tài)上使用平坦的注意力結(jié)構。相反,BERT使用多層注意力(12或24取決于模型),并且還在每層(12或16)中包含多個注意力“頭”。由于模型權重不在層之間共享,因此單個BERT模型有效地具有多達24 x 16 = 384種不同的注意機制。

可視化BERT

由于BERT的復雜性,可能難以直觀了解其學習權重的含義。一般而言,深度學習模型是眾所周知的不透明的,并且已經(jīng)開發(fā)了各種可視化工具來幫助理解它們。

但是,作者沒有找到一個可以闡明BERT正在學習的注意模式。幸運的是,Tensor2Tensor在編碼器 - 解碼器變換器模型中具有可視化注意力的優(yōu)秀工具,因此作者使用BERT的PyTorch實現(xiàn)對其進行了修改以使用BERT的架構,改編的界面如下所示。你可以在Github(https://github.com/jessevig/bertviz)上找到它。

該工具將注意力視為連接正在更新的位置(左)與正在關注的位置(右)的線。顏色識別相應的注意頭,而線條厚度反映注意力得分。在工具的頂部,用戶可以選擇模型層,以及一個或多個注意頭(通過單擊頂部的色塊,代表12個頭)。

BERT實際上學到了什么?

作者使用該工具探索預訓練BERT模型(BERT-Base,無套裝版本)的各個層/頭的注意模式,嘗試了不同的輸入值,但出于演示目的,只使用以下輸入:

句子A: I went to the store.

句子B: At the store, I bought fresh strawberries.

BERT使用WordPiece標記化并插入特殊分類器([CLS ])和分隔符([SEP])標記,因此實際輸入序列為:

  [CLS] i went to the store . [SEP] at the store , i bought fresh straw ##berries . [SEP]

作者發(fā)現(xiàn)了一些相當獨特且令人驚訝的直觀注意模式。下面確定了六個關鍵模式,每個關鍵模式都顯示了展示模式的特定圖層/頭部的可視化。

模式1:注意下一個詞

在這種模式中,特定位置的大部分注意力都指向序列中的下一個標記。下面我們看到第2層頭部0的示例。(所選頭部由頂部顏色條中突出顯示的方塊表示。)左邊的圖顯示所有標記的注意力,而右側(cè)顯示一個選定標記(“i”)的注意力。在這個例子中,幾乎所有的注意力都集中在“去”,即序列中的下一個標記。

左:所有代幣的注意力。 右:選定標記的注意權重(“i”)

在左側(cè),我們可以看到  [SEP]  令牌破壞了下一個令牌注意模式,因為[SEP]的大多數(shù)注意力都是針對  [CLS]  而不是下一個令牌。因此,這種模式似乎主要在每個句子中運作。

該模式與后向RNN有關,其中狀態(tài)更新從右到左依次進行。模式1出現(xiàn)在模型的多個層上,在某種意義上模擬了RNN的周期性更新。

模式2:注意前一個詞

在這種模式中,大部分注意力都集中在句子中的前一個標記上。例如,“go”的大部分注意力都指向下圖中的前一個單詞“i”。這種模式與最后一種模式不同; 一些注意力也分散到其他令牌,尤其是[SEP]令牌。與模式1一樣,這與順序RNN松散相關,在這種情況下是前向RNN。

左:所有代幣的注意力。右:所選令牌的注意力(“went”)

模式3:注意相同/相關的單詞

在這種模式中,注意相同或相關的單詞,包括源詞本身。在下面的例子中,第一次出現(xiàn)的“store”的大部分注意力都集中在它自身和第二次出現(xiàn)的“store”上。這種模式并不像其他一些模式那樣明顯,注意力分散在許多不同的詞語上。

左:所有代幣的注意力。 右:所選令牌的注意權重(“商店”)

模式4:注意其他句子中相同/相關的單詞 

在這種模式中,注意另一句中相同或相關的單詞。例如,第二句中“store”的大部分注意力都集中在第一句中的“store”。可以想象這對于下一句話預測任務(BERT預訓練的一部分)特別有用,因為它有助于識別句子之間的關系  。

左:所有代幣的注意力。 右:所選令牌的注意權重(“store”)

模式5:注意預測單詞的其他單詞

在這種模式中,注意力似乎是針對可預測源詞的其他詞,不包括源詞本身。在下面的例子中,“straw” 的大部分注意力都集中在“##berries” 上,“##berries” 的大部分注意力都集中在“straw” 上。

左:所有代幣的注意力。 右:所選標記的注意力(“## berries”)

這種模式并不像其他一些模式那樣明顯。例如,大部分注意力都集中在分隔符令牌([CLS])上,這是下一個討論的模式6的定義特征。

模式6:注意分隔符令牌

在這種模式中,大部分注意力都集中在分隔符令牌上,即  [CLS]  令牌或  [SEP]  令牌。在下面的示例中,大部分注意力都集中在兩個  [SEP]  令牌上。這可能是模型將句子級狀態(tài)傳播到單個標記的一種方式。

左:所有代幣的注意力。 右:所選令牌的注意權重(“store”)

筆記

有人說  ,數(shù)據(jù)可視化有點像羅夏測驗:我們的解釋可能會被我們自己的信念和期望所染色。雖然上面的一些模式非常明顯,但其他模式有點主觀,所以這些解釋只應作為初步觀察。

此外,上述6種模式描述了BERT的粗略注意結(jié)構,并不試圖描述注意力可能捕獲的語言模式。例如,模式3和模式4中可以表現(xiàn)出許多不同類型的“相關性”,如同義詞,共同參照等。看看不同的注意力是否專注于不同類型的語義和句法關系會很有趣。

信息來源:https://www./2019/02/deconstructing-bert-distilling-patterns-100-million-parameters.html

學術頭條已建立微信交流群,想進群的同學請加學術君微信:AMiner308,記得備注:名字+單位/學校噢!

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多