偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一文圖解BERT注意力機制

發(fā)布于 2024-11-22 12:16
瀏覽
0收藏

2018年是自然語言處理領域的轉折點,一系列深度學習模型在從問答到情感分類的NLP任務上取得了最先進的成果。

谷歌的BERT算法已經成為一種“一個模型來統(tǒng)治其他所有NLP模型”,基于其在各種各樣的任務上的優(yōu)異性能。

一文圖解BERT注意力機制-AI.x社區(qū)

這篇文章通過可視化輸出,嘗試使用BertViz進行交互式演示。

??https://github.com/jessevig/bertviz??

BERT建立在兩個關鍵思想的基礎上,這兩個思想是NLP最近取得的許多進展的原因:

  1. Transformer架構;
  2. 無監(jiān)督預訓練。

Transformer是一種序列模型,它放棄了RNN的遞歸結構,采用了完全基于注意力的方法,如經典的Attention Is All You Need中所述。

BERT也是預先訓練的;它的權重是通過兩個無監(jiān)督任務提前學習的:Mask語言建模(在給定左右上下文的情況下預測丟失的單詞)和下一個句子預測(預測一個句子是否跟隨另一個句子)。

因此,BERT不需要為每個新任務從頭開始訓練。相反,它的權重可以通過微調優(yōu)化下游任務。

BERT is a (multi-headed) model

Bert不像傳統(tǒng)的注意力模型,它在RNN的隱藏狀態(tài)上使用平面注意力結構。相反,BERT使用多層注意力(12層或24層,取決于模型),并且在每一層中包含多個注意力“頭”(12層或16層)。

由于模型權重在層之間不共享,單個BERT模型有效地具有多達24 x 16 = 384個不同的注意力機制。

Visualizing BERT

由于BERT的復雜性,很難直觀地理解其學習的權重的含義。深度學習模型通常是出了名的不透明,人們開發(fā)了各種可視化工具來幫助理解它們。

然而,我還沒有找到一個可以闡明BERT正在學習的注意力模式的方法。還好Tensor2Tensor有一個很好的工具,可以在編碼器-解碼器Transformer模型中可視化注意力,所以我們使用BERT的PyTorch實現(xiàn)來使用BERT的架構。

一文圖解BERT注意力機制-AI.x社區(qū)

該工具將注意力可視化為連接正在更新的位置(左)和正在關注的位置(右)的線條。

顏色標識相應的注意力頭部,而線條粗細反映注意力分數(shù)。在工具的頂部,用戶可以選擇模型層,以及一個或多個注意力頭(通過點擊頂部的色塊,代表12個頭)。

What does BERT actually learn?

Sentence A: I went to the store.
Sentence 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 strawberries.[SEP]

我們發(fā)現(xiàn)了一些相當獨特和令人驚訝的直覺注意力模式。下面,我確定了六個關鍵模式,并為每一個模式顯示了展示該模式的特定層/頭部的可視化。

Pattern 1: Attention to next word

在這種模式中,特定位置的大部分注意力都集中在序列中的下一個標記上。下面我們看到一個例子,layer 2, head 0.(選定的頭部由頂部顏色條中突出顯示的正方形指示。

左邊的圖顯示了所有標記的注意力,而右邊的圖顯示了一個選定標記(“i”)的注意力。

在這個例子中,幾乎所有的注意力都集中在“went”上,即序列中的下一個標記。 

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

一文圖解BERT注意力機制-AI.x社區(qū)

在左邊,我們可以看到[SEP]標記破壞了下一個標記的注意力模式,因為[SEP]的大部分注意力都指向[CLS]而不是下一個標記。

因此,這種模式似乎主要在每句話中起作用。這種模式與后向RNN有關,其中狀態(tài)更新從右到左順序進行。

模式1出現(xiàn)在模型的多個層上,在某種意義上模擬了RNN的周期性更新。

Pattern 2: Attention to previous word

在這個句型中,大部分注意力都集中在句子的前一個標記上。例如,“went”的大部分注意力都指向下圖中的前一個單詞“i”。

這個模式不像上一個那么明顯;一些注意力也分散到其他標記上,特別是[SEP]標記。

與模式1一樣,這與順序RNN(在本例中為前向RNN)有松散的關系。 

(左:所有標記的注意力權重。右:所選標記的注意力權重(“went”)

一文圖解BERT注意力機制-AI.x社區(qū)

Pattern 3: Attention to identical/related words

在這種模式中,注意力集中在相同或相關的詞上,包括源詞本身。在下面的示例中,第一次出現(xiàn)的“store”的大部分注意力都指向它本身和第二次出現(xiàn)的“store”。

這種模式不像其他一些模式那樣明顯,注意力分散在許多不同的單詞上。

(左:所有標記的注意力權重。右:所選標記(“store”)的注意力權重)

一文圖解BERT注意力機制-AI.x社區(qū)

Pattern 4: Attention to identical/related words in other sentence

在這種模式中,注意力會集中在另一個句子中相同或相關的詞上。例如,第二句中的“store”的大部分注意力都指向第一句中的“store”。

可以想象,這對下一個句子預測任務(BERT預訓練的一部分)特別有幫助,因為它有助于識別句子之間的關系。 

(左:所有標記的注意力權重。右:所選標記(“store”)的注意力權重)

一文圖解BERT注意力機制-AI.x社區(qū)

Pattern 5: Attention to other words predictive of word

在這種模式中,注意力似乎被引導到其他詞,這些詞是源詞的預測,不包括源詞本身。

在下面的示例中,來自“straw”的大部分注意力都指向“##berries”,而來自“##berries”的大部分注意力都集中在“straw”上。 

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

一文圖解BERT注意力機制-AI.x社區(qū)

這個模式不像其他一些那么明顯。例如,大部分注意力都集中在一個標記([CLS])上,這是模式6的定義特征,下面將討論。

Pattern 6: Attention to delimiter tokens

在這種模式中,大部分注意力都集中在[CLS]token或[SEP]token上。在下面的例子中,大部分注意力都集中在兩個[SEP]tokens上。

正如本文所討論的,這種模式是一種“無操作”:當注意力頭在輸入句子中找不到任何有意義的東西時,它會專注于[SEP]標記。 

(左:所有標記的注意力權重。右:所選標記(“store”)的注意力權重)

一文圖解BERT注意力機制-AI.x社區(qū)

參考:https://towardsdatascience.com/deconstructing-bert-distilling-6-patterns-from-100-million-parameters-b49113672f77

本文轉載自 ??沐白AI筆記??,作者: 楊沐白

收藏
回復
舉報
回復
相關推薦