日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

深度学习预训练模型可解释性概览

發(fā)布時間:2024/10/8 145 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习预训练模型可解释性概览 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?PaperWeekly 原創(chuàng)?·?作者|蔡杰

學(xué)校|北京大學(xué)碩士生

研究方向|問答系統(tǒng)

近年來預(yù)訓(xùn)練模型(ELMo, GPT, BERT, XLNet, ALBERT 等)給許多 NLP 任務(wù)帶來了顯著的改進,但是有一個問題一直困擾著大家:被當(dāng)做黑盒的神經(jīng)網(wǎng)絡(luò)到底是如何做的以及為什么會這樣做?

最近,人們對解決這個謎團越來越感興趣,就此,我將最近看的一些相關(guān)論文進行總結(jié),希望可以和大家一起探討學(xué)習(xí)。

引言

在正式介紹論文之前,先給大家簡單介紹一下目前比較主流的分析方法:?

Analyse Pre-trained Model?

我們都知道預(yù)訓(xùn)練(pre-train)方法因為數(shù)據(jù)量巨大需要消耗大量的計算資源,那這么多計算資源最后都變成了啥?或者說在整個pre-train的過程中,模型到底學(xué)到了什么能力?以下的 pre-train model 以 BERT 為例。

  • Probing tasks:一般做法是設(shè)計一些簡單的分類任務(wù)(一種任務(wù)包含一種特定的語言學(xué)信息),將 BERT 每一層的輸出作為 embedding,在得到 embedding 后通過簡單的分類器(例如一層的 FFN,為了不過多干擾模型本身的能力),來驗證模型的不同層在不同 probing task 上的能力。?

  • Visualization:我們都知道 BERT 是由多層 Transformer 構(gòu)成的,每一層 Transformer 都有一個 multi-head self-attention 模塊。在這個模塊中,每個 word 和其他所有 word 都會有交互,從而得到一個注意力(attention)分數(shù),通過可視化這個分數(shù),可以知道在不同層,甚至不同 head 中,不同的 word 關(guān)注的部分。還有的做法是將不同層的特定詞 embedding 做聚類,同樣也可以了解模型不同層的能力。?

Analyse Fine-tuned Model?

目前 NLP 許多任務(wù)的 SOTA 都是通過微調(diào)(fine-tune)預(yù)訓(xùn)練(pre-train)的模型達到的。那么問題來了,在 Fine-tune 的過程中,模型又學(xué)到了什么能力?

在這一部分同樣有 Probing tasks 和 Visualization 兩種做法,而且做法同上述方法類似,只是將 pre-train 的 model 作為對比對象。?

Adversarial attacks:對于fine-tuned model,對抗性攻擊是一種新做法。對抗性攻擊通過使用特定干擾信息創(chuàng)建的例子來驗證模型的魯棒性。具體例子請見之后的論文。

Pre-trained model Analysis?

1. Probing tasks Method

論文標題:Open Sesame: Getting Inside BERT’s Linguistic Knowledge?

論文來源:ACL 2019?

論文鏈接:https://arxiv.org/abs/1906.01698

引言?

本文在嘗試解釋 BERT 上主要做了兩件事:

  • 通過設(shè)計 probing tasks 來證明 BERT 在 pre-train 之后得到的 word embeddings 包含語法信息;?

  • 提出了基于 attention 的對主謂一致和共指消解問題的評價分數(shù),根據(jù) self-attention 來確定 BERT 對語言相關(guān)元素的關(guān)注程度。?

實驗1

設(shè)計了三個 probing tasks 分別是識別一句話中的助動詞、主語名詞以及第 n 個 token。?

Training 和 Development 集合是原有數(shù)據(jù)集。Generalization 集合是根據(jù)一些語法規(guī)則(加了一些從句,名詞替換為復(fù)合名詞或所有格名詞等)在 Training 和 Development 基礎(chǔ)上生成的。Generalization 集合才是最后實驗的數(shù)據(jù)。?

之后實驗獲取 BERT 每一層的 embedding,每一層都訓(xùn)練一個簡單的分類器,這樣每個 token 都有一個結(jié)果(如下圖)。label 是一個 one-hot 向量,使用交叉熵作為損失函數(shù)。

結(jié)果1

Figure 1 在第 4 層突然準確率變得很高,作者認為是因為淺層特征是一個高度 localized 的特征,包含的句子上下文信息不足以確定 main auxiliary。隨著 self-attention 的作用,層數(shù)加深,信息變得越來越抽象,到 4-6 層左右正好能足夠表示 main auxiliary,之后層數(shù)再加深,信息變得更抽象,導(dǎo)致 acc 有所下降。?

在復(fù)合名詞的分類任務(wù)(Figure 2 是復(fù)合名詞的結(jié)果)中,large 的效果就要差很多了。base 上的效果很好,作者認為是由于主語名詞特征的顯著性。至于為什么 large 效果很差,作者也沒有給出很好的解釋。?

在所有格問題(Figure 3 是所有格名詞的結(jié)果)上,base 和 large 的表現(xiàn)都很差,作者認為是是所有格的歧義性導(dǎo)致的(she's sleeping 中的 's 可能表示的是所有格關(guān)系,也有可能表示的是 is 的縮寫)。?

N_th token(Figure 4 是 N_th token 的結(jié)果)對比了兩個 baseline,一個是 pre-embedding,另一個是 pre-embedding 去掉 position-encoding,可以看到 1-3 層判斷 2-9 位置的準確率都還是挺高的,其余的準確率隨層數(shù)增加而降低。沒有 position-encoding 的在第一層就很低,表明 BERT 的 position 信息主要來源于 position-encoding。

之所以在 4 層之后會下降有可能是因為舍棄了位置信息,轉(zhuǎn)而獲得一些抽象的層次信息。而 position 1-3 的準確率隨著層數(shù)增加一直沒有下降,作者認為這有可能是因為自然語言分布的特性造成的,句子開頭的詞性可能是固定的,但是隨著句子長度的增加,詞性的類別就不固定了。

實驗2

主謂一致和共指消解都具有一個先行詞(trigger)元素,比如判斷謂詞(target)的時候需要先知道主語,共指消解的時候也得先知道后面的詞指代的是什么。但是如果這個先行詞有多個,就可能導(dǎo)致模型不知道那個先行詞才是正確的。因此作者提出了一個叫“confusion score”的概念,定量地表示一句話給模型帶來的混淆程度。?

由 Table 2 可知,上半部分是主謂一致的 example,下半部分是共指消解的 example。?

A1 和 A2 是帶有介詞短語的 example,A3 和 A4 是帶有關(guān)系從句的 example,有論文指出帶有介詞短語的句子要比帶有關(guān)系從句的句子更難處理,因此 A1 和 A2 的 score 要更高,而 A1 和 A3 中的“dog”和“the cat”一樣都是可以接“does”的,而 A2 和 A4 的“dogs”是不能接“does”的,所以 A2 和 A4 的 score 要比 A1 和 A3 低。?

對于共指消解問題,作者同樣在插入了一些 distractor,比如 R1,“the lord”是先行詞,但是“the wizard”的語法同樣正確,但是 R2 中的語法就不對了,所以 R2 的 score 比 R1 低。R3 和 R4 在關(guān)系從句中插入了 distractor,因為如果“himself”共指了關(guān)系從句中的 distractor 的話語法是不正確的,所以分數(shù)要比 R1 和 R2 低。R5-R8 包括相對修飾語,賓語名詞短語,分數(shù)普遍要高很多。?

接下來就講講這個 confusion score 是怎么計算的:作者根據(jù)兩種語法現(xiàn)象(主謂一致和反身回指)設(shè)計了通過 self-attention 來確定 BERT 對語言相關(guān)元素的關(guān)注程度。

首先先計算一個 attention_score,token 可能包含多個 word(比如 Table 2 里的 the lord),相當(dāng)于讓每個 word 都和 Y 計算 attention,這里的 attn 函數(shù)就是 self-attention 計算的值。求和之后再在 head 層面上求和取平均,得到每個 token 對 target 的 attention。

之后根據(jù)上式得到“confusion score”。

結(jié)果2?

Figure 5 和 Table 3 顯示了共指消解的混淆程度與層深度的負相關(guān)。主謂一致性的混淆分數(shù)呈現(xiàn)出相似的趨勢。作者推測 BERT 隨著層數(shù)的加深,包含的信息也更抽象。還有就是作者觀察到的 BERT 的自我注意值對語法扭曲的敏感性表明,BERT 的句法知識實際上被編碼在其注意力矩陣中。

最后,值得注意的是,對于共指消解和主語動詞一致的混淆在第 4 層增加,而在 N_th token 的實驗中,正好也是第 4 層之后結(jié)果開始下降。作者為未來留下了一個對這兩者之間聯(lián)系的伏筆。

2. Visualization Method

論文標題:What does BERT look at? An Analysis of BERT’s Attention

論文來源:ACL 2019?

論文鏈接:https://arxiv.org/abs/1906.04341

引言

本文主要通過可視化 BERT 的 attention 層,以了解 BERT 的 attention 層都在關(guān)注什么地方,發(fā)現(xiàn)有很多 attention 集中在 [CLS] 和 [SEP] 符號上。文章還通過實驗得出不同的 multi-head 中不同的 head 關(guān)注的是不同的語法現(xiàn)象。此外文章也實驗了融合多個 head,得出模型關(guān)于語法整體的建模程度。

實驗?

Surface-Level Patterns in Attention

作者通過可視化 attention 的權(quán)重,得到了幾種不同的 attention 的 pattern。如 Figure 1 所示,有的 attention 是 broadly 形式(關(guān)注所有的詞),有的 attention 是關(guān)注的是其下一個 token,有的 attention 則集中關(guān)注 [SEP] 符號上,還有的 attention 則關(guān)注標點符號。

Attending to Separator Tokens

作者在分析 attention 的過程中發(fā)現(xiàn)一個很有趣的現(xiàn)象。在 6-10 層,有超過一半的 attention 關(guān)注的是 [SEP](Figure 2 的上圖),一開始作者的想法是 [SEP] 用于聚合段與段之間的信息,方便后面的 head 去獲取信息。

如果假設(shè)成立的話,那 [SEP] 關(guān)注的信息應(yīng)該是整句話,但是 Figure 2 的下圖表明,90% 以上的 [SEP] 關(guān)注的是他們自身,所以作者又推測,指向 [SEP] 很可能是一種“no-op”(無作用)的操作。?

為了進一步驗證以上的假設(shè),作者又采用了一種基于梯度的可以衡量特征重要性的方法(Sundararajan et al., 2017) 簡單地說,這個值的大小意味著將注意力轉(zhuǎn)移到 token 上會多大程度改變 BERT 的輸出。Figure 3 中可以看到,在 5 層之后,[SEP] 的梯度就基本下降到 0,說明這個時候給 [SEP] 或多或少的 attention 都改變不了模型的輸出,進一步驗證了作者“no-op”的結(jié)論。?

Figure 4 是作者計算每一層的 attention 的熵值,可以看到低層的熵值比較大,說明在低層模型更偏向于 broadly 的 attention 方式,基本上每個單詞在其余每個單詞上的 attention 只有 10%,對 [CLS] attention 的熵值分布也和 Figure 4 類似,最后一層有較高的熵值,因為這層的 [CLS] 聚合了之前的所有信息,之后用于 next-sentence prediction 任務(wù)中。

看看每個attention head都學(xué)到了什么

上圖是直接賓語,名詞修飾語的例子。除此之外,作者還例舉了好幾種例子,在這里就不一一列舉了,感興趣的讀者可以去看論文。?

接下來作者在 Penn Tree bank 的數(shù)據(jù)集上做了統(tǒng)計,每個詞都有一個 dependency。為了測試 BERT 中對詞與詞的 dependency 的建模程度,作者直接把 attention map 拿了出來,把每個詞給了最多 attention 的詞作為 dependency,baseline 的話就是把括號內(nèi)的數(shù)字(正數(shù)表示右邊第幾個詞,負數(shù)則表示左邊第幾個詞)對應(yīng)的 word 作為 baseline,可以看到 BERT 還是學(xué)到了很多 dependency 的信息的。?

作者還做了一個共指消解的任務(wù),在句子中找出給定詞之前的 antecedent。發(fā)現(xiàn)某一個 head 的正確率在 65% (neural supervised model 是 83%)。

Fine-tuned Model Analysis

1.?Adversarial attacks

論文標題:What does BERT Learn from Multiple-Choice Reading Comprehension Datasets?

論文鏈接:https://arxiv.org/abs/1910.12391

引言?

目前最新模型已經(jīng)在多個 MCRC 數(shù)據(jù)集上實現(xiàn)了 SOTA。然而,作者認為這樣的表現(xiàn)可能并不能反映模型真正的語言理解和推理能力。在這項工作中,作者采用了兩種方法來研究 BERT 從 MCRC 數(shù)據(jù)集中學(xué)到了什么:?

  • 不可讀的數(shù)據(jù)攻擊:添加一些不可讀數(shù)據(jù)來混淆 BERT,誤導(dǎo)其作出錯誤的判斷;?

  • 不可回答的訓(xùn)練數(shù)據(jù):增加不可回答的訓(xùn)練數(shù)據(jù)或者洗牌 examples 來訓(xùn)練 BERT。

實驗

不可讀的數(shù)據(jù)攻擊

Un-Readable Data Attack(不可讀數(shù)據(jù)攻擊)例子,在原始的文章結(jié)尾加上一句亂序的話(這句話由原始問題和錯誤選項拼接而成),該方法就是 Figure 2 中的 (a)。

作者探索了三種對抗攻擊方法(Figure 2 (a),(b),(c),詳細的例子請見論文),通過在文章或原始干擾源(錯誤的選項)中添加額外的干擾信息來測試模型的魯棒性。對抗性攻擊的目標是操縱輸入,誤導(dǎo)模型做出錯誤的預(yù)測,而人類在這些攻擊下仍然能夠選擇正確的答案。?

不可回答的訓(xùn)練數(shù)據(jù)

通過用不可回答的數(shù)據(jù)來訓(xùn)練 BERT(Un-Answerable Data Training),從這些數(shù)據(jù)中,人類可以學(xué)到一些關(guān)于如何回答問題的知識。

Figure 4 中文章(passage)的次順序被打亂了(P-Shuffle),變成了不可讀的數(shù)據(jù)。作者還嘗試了另外兩種方法:?

  • 打亂 question 中的詞序(Q-Shuffle)?

  • 既打亂 passage 的詞序,也打亂 question 的詞序(PQ-Shuffle)?

作者同樣嘗試了刪除整個 passage (P-Remove),刪除整個 question (Q-Remove) 以及刪除 passage 和 question (PQ-Remove)。

結(jié)果

不可讀的數(shù)據(jù)攻擊

頂端的兩行分別是隨機猜測的結(jié)果和正常訓(xùn)練 BERT 的結(jié)果。

我們可以看到幾乎所有的數(shù)據(jù)集上 BERT 的性能都顯著下降,而且對于某些數(shù)據(jù)集,BERT 的性能甚至低于隨機猜測。這意味著 BERT 無法檢測出正確的詞序和語法,嚴重依賴于關(guān)鍵詞匹配。

不可回答的訓(xùn)練數(shù)據(jù)?

我們可以看到在所有這些設(shè)置上訓(xùn)練的 BERT 比“Random Guess”和“Longest Baseline”要好得多,“Longest Baseline”總是選擇最長的答案作為預(yù)測。而且 BERT 在“P-Shuffle”設(shè)置下進行訓(xùn)練,隨機地對訓(xùn)練集中的所有段落單詞進行洗牌,甚至可以獲得與原始完全訓(xùn)練設(shè)置非常接近的性能,特別是在 MCScript 和 MCScript2.0 數(shù)據(jù)集上。?

進一步比較“P-Shuffle”和“P-Remove”,我們會發(fā)現(xiàn),盡管被洗牌的段落沒有遵循正確的語法,不再是可解釋的,但它仍然比刪除整個段落要好。通過比較“Q-Shuffle”和“Q-Remove”、“PQ Shuffle”和“PQ Remove”,也可以發(fā)現(xiàn)類似的結(jié)論。?

那么說明 BERT 仍然可以從無序輸入中學(xué)習(xí),這表明它對詞序或句法信息不敏感。

小結(jié)

以上論文解讀更多的是希望給大家了解該領(lǐng)域的進展,以及在該領(lǐng)域中大家的普遍做法,涉及到結(jié)論性的內(nèi)容還得具體細看論文,歡迎大家共同學(xué)習(xí)交流。

相關(guān)論文推薦

Pre-trained model Analysis

論文標題:What do you learn from context? Probing for sentence structure in contextualized word representations

論文來源:ICLR 2019?

論文鏈接:https://arxiv.org/abs/1905.06316

論文標題:BERT Rediscovers the Classical NLP Pipeline

論文來源:ACL?2019?

論文鏈接:https://arxiv.org/abs/1905.05950

Fine-tuned Model Analysis

論文標題:How Does BERT Answer Questions? A Layer-Wise Analysis of Transformer Representations

論文來源:CIKM?2019?

論文鏈接:https://arxiv.org/abs/1909.04925

點擊以下標題查看更多往期內(nèi)容:?

  • 拋開約束,增強模型:一行代碼提升ALBERT表現(xiàn)

  • 淺談Knowledge-Injected BERTs

  • 從 Word2Vec 到 BERT

  • 后 BERT 時代的那些 NLP 預(yù)訓(xùn)練模型

  • 從三大頂會論文看百變Self-Attention

  • 自然語言處理中的語言模型預(yù)訓(xùn)練方法

#投 稿 通 道#

?讓你的論文被更多人看到?

如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?

PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。

?????來稿標準:

? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?

? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?

? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標志

???? 投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨在附件中發(fā)送?

? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通

????

現(xiàn)在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關(guān)注」訂閱我們的專欄吧

關(guān)于PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

▽ 點擊 |?閱讀原文?| 獲取最新論文推薦

總結(jié)

以上是生活随笔為你收集整理的深度学习预训练模型可解释性概览的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。