吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

刪掉Transformer中的這幾層性能變好了?

深度學習自然語言處理 ? 來源:夕小瑤的賣萌屋 ? 作者:chaos ? 2021-03-08 10:27 ? 次閱讀

基于Transformer結構的各類語言模型(Bert基于其encoder,Gpt-2基于其decoder)早已經在各類NLP任務上大放異彩,面對讓人眼花繚亂的transformer堆疊方式,你是否也會感到迷茫?沒關系,現在讓我們回到最初,再次看看transformer 本來的模樣——Rethinking the Value of Transformer Components。該文收錄已于COLING 2020。

眾所周知,一個完整的transformer結構可以切分成Encoder-self attention(“E:SA”), Encoder-Feed Forward(“E:FF”), Decoder-Self Attention(“D:SA”), Decoder-Encoder Attention(“D:EA”) 和 Decoder-Feed Forward(“D:FF”) 5個sub-layer結構。文中作者采用了兩種度量方式確認這些sub-layer的重要程度。

方法稍后再談,先上干貨,實驗結果表明:

Decoder self-attention layers是最不重要的,而Decoder feed-forward layers是最重要的;

離模型的輸入和輸出越近的sub-layer要比其他的重要些;

在decoder里越靠后的encoder-attention layer要比之前的重要。

這些結果對不同的度量方法,數據集,初始化種子以及模型容量都能保持一致性。

▲Transformer結構圖

模塊重要性分析

所謂的重要性究竟是什么呢?論文認為,這主要包括兩個方面:

Contribution in information Flow,對于模型信息流的貢獻程度

Criticality in Representation Generalization,模型的模塊對參數的擾動表現出不同的魯棒性

Contribution in Information Flow

Transformer 最初是用來做機器翻譯任務的。所謂的information flow就是指數據如何從源語言經過Transformer的encoder和decoder最終成為目標語言的。如何衡量模型的每個部分對information flow做出的貢獻呢? 最直觀的想法就是去掉那個部分看看同樣條件下模型的效果如何。如果去掉那個部分,模型效果沒什么變化,那就說明該部分沒做什么貢獻,反之,如果刪掉該部分,模型效果顯著降低則說明它貢獻卓著,沒它不行。作者采用了如下的量化方法:

公式中指的是去除第n個部分后模型整體的BLEU得分降。為了避免出現重要性指數出現負值和爆炸性下跌,作者將的值設定在[0,C]之間(真的會出現負重要性指數嗎?那樣倒挺好——模型變小,效果更好)。然后通過除以最大的得分降將的值進行了歸一化,這里作者設置的上限C值為基線模型的BLEU得分的1/10.

Criticality in Representation Generalization

這里說的criticality指的是模型的模塊對參數的擾動表現出不同的魯棒性。比方說,如果將某個模塊的參數重置為初始化參數,模型的表現變差,那么這個模塊就是critical的,否則就是non-critical的。有人在理論上將這個criticality給公式化了,而且他們表明這個criticality可以反映神經網絡的泛化能力。

作者便是參考了這個工作,對網絡的第n個模塊,定義

即初始權重和最終權重的一個凸組合。

那么第n個部分的criticality score就可以表示為

這個式子定量的說明了criticality是最小的能使模型在閾值的情況下保持性能。這個值越小說明該模塊越不重要,這里取的是 0.5 BLEU分。

兩種度量方法雖然都是基于模塊對模型表現的影響的,但是又有不同之處。Contribution score可以看成是 hard metric(完全刪除模塊),而 Criticality score可以看成是一種soft metric,它衡量的是在保證模型表現的前提下模塊參數能多大程度的回卷。

實驗

實驗是在WMT2014 English-German(En-De)和English-French(En-Fr)兩個機器翻譯數據集上進行的,作者使用的Transformer模型和Transformer的那篇原始文獻(Vaswani et al.,2017)是一樣的。Transformer model 一共6層編碼器和解碼器,layer size是512,feed-forward sub-layer的size是2048,attention head的數值是8,dropout是0.1,initialization seed設置為1。

觀察模塊的重要性

上圖是采用兩種度量方式在兩個數據集上的實驗結果,其中X軸代表的是模塊類型,Y軸表示的是layer id。其中顏色越深就越重要。可以看出兩種度量方式的結果很大程度上是一致的,比方說:

the decoder self-attention(D:SA)是最不重要的,而the decoder feed-forward layers(D:FF)是最重要的。

編碼器里越靠前(E:SA和E:FF)和解碼器里越靠后(D:EA和D:FF)是更重要的。這個其實很直觀,因為這些模塊離數據的輸入和輸出更近,所以對輸入句子的理解和輸出句子的生成要更加重要些。

在解碼器里越靠后的encoder-attention(D:EA)layers要比之前的encoder-attention layers重要。

分析不重要的模塊

更低的dropout比例和更多的訓練數據會讓不重要的模塊變得更少(dropout是一種常見的用來防止過擬合的手段)。為了保證模型的效果,當我們使用dropout的時候其實說明模型本身有一定程度上的冗余。在不降低模型效果的前提下,小的dropout比例剛好說明模型的冗余越少,也就是不重要的模塊更少。大規模的訓練數據本身就自帶更多的patterns。需要充分發揮transformer的各個模塊才能有效地學習到。

從上面兩張圖可以明顯的看出:當使用更小的dropout和更大的數據集時,顏色深的版塊明顯變得更多。此外之前所得到的結論這里依然成立。

區分和利用一批不重要的模塊

之前的結果都是只刪除一個模塊得到,那我們一次性刪除多個模塊呢?

上圖顯示當我們刪除3到4個不重要的模塊時,模型效果并沒有明顯降低。但是當刪的更多了之后,模型的效果會受到較大的影響。那么我們是否可以利用這些不怎么重要的模塊去對模型進行優化呢?作者采用了兩種方式:一個是模塊剪枝,另一個是模塊回卷。

模塊剪枝就是將不重要的模塊直接刪掉,因為刪掉了相應模塊使得模型的參數變小,作為對比作者在相同參數量下使用了一個淺層的decoder模型結果如表:

ad644d5a-7f2a-11eb-8b86-12bb97331649.png

可以看出剪枝后的模型要比同樣參數下的淺層模型結果要好,而且也能達到和原始模型相應的效果,有的甚至更好(還真有)。

模塊回卷就是將不重要的模塊參數回卷到初始化狀態,再和其他模塊一起微調一下得到的訓練結果要比原始模型好一點。

總結

我們可以利用contribution score和criticality score評價模型中各個模塊的重要性,知曉了模塊的重要性程度后我們可以對不重要的模塊進行剪枝或者參數回卷都能在一定程度上讓原有模型得到優化。

原文標題:我刪掉了Transformer中的這幾層…性能反而變好了?

文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1796

    文章

    47683

    瀏覽量

    240311
  • 深度學習
    +關注

    關注

    73

    文章

    5516

    瀏覽量

    121556
  • Transformer
    +關注

    關注

    0

    文章

    146

    瀏覽量

    6048

原文標題:我刪掉了Transformer中的這幾層…性能反而變好了?

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【干貨】基于儲能變流器測試方法與技術的綜述

    能變流器作為現代儲能系統能量轉換的核心設備,目前已經廣泛應用在發電側、電網側、用戶側、微電網四大領域。然而,隨著對儲能系統的性能、可靠性和安全性以及系統運行效率的要求不斷提高,儲能變
    的頭像 發表于 02-06 13:52 ?164次閱讀
    【干貨】基于儲<b class='flag-5'>能變</b>流器測試方法與技術的綜述

    如何使用MATLAB構建Transformer模型

    Transformer 模型在 2017 年由 Vaswani 等人在論文《Attentionis All You Need》首次提出。其設計初衷是為了解決自然語言處理(Nature
    的頭像 發表于 02-06 10:21 ?266次閱讀
    如何使用MATLAB構建<b class='flag-5'>Transformer</b>模型

    transformer專用ASIC芯片Sohu說明

    2022年,我們打賭說transformer會統治世界。 我們花了兩年時間打造Sohu,這是世界上第一個用于transformer(ChatGPT的“T”)的專用芯片。 將transform
    的頭像 發表于 01-06 09:13 ?313次閱讀
    <b class='flag-5'>transformer</b>專用ASIC芯片Sohu說明

    必看!PCB幾層板設計的決定要素全解析

    一站式PCBA智造廠家今天為大家講講PCB幾層板的決定因素是什么?PCB設計成幾層板的決定因素。PCB作為電子產品的關鍵組成部分,其層數設計是一個復雜而重要的過程。那么,究竟有哪些因素決定了PCB的層數設計呢?本文將對此進行詳
    的頭像 發表于 12-14 11:38 ?255次閱讀

    能變流器小功率充電過程功率不穩定是什么原因?

    能變流器小功率充電過程功率不穩定是什么原因?
    發表于 12-13 21:54

    Transformer模型的具體應用

    如果想在 AI 領域引領一輪新浪潮,就需要使用到 Transformer
    的頭像 發表于 11-20 09:28 ?654次閱讀
    <b class='flag-5'>Transformer</b>模型的具體應用

    Transformer模型能夠做什么

    盡管名為 Transformer,但它們不是電視銀幕上的變形金剛,也不是電線桿上垃圾桶大小的變壓器。
    的頭像 發表于 11-20 09:27 ?455次閱讀
    <b class='flag-5'>Transformer</b>模型能夠做什么

    ADS1258使用內部16M時鐘時動態性能變差,是什么原因導致的?

    使用1258的評估板測試1KHz滿幅輸入的正弦信號時,發現動態性能很差,和手冊上給的頻譜圖相差較多,但是用外灌時鐘時,動態性能明顯變好,請問這個原因是什么呢?
    發表于 11-19 06:29

    EasyGo實時仿真丨PCS儲能變流器控制仿真應用

    ,主要差別在于實際控制效果比仿真效果的電流紋波稍大。通過在電路運行不斷在上位機界面實時調試改進控制參數,仿真表現比實驗測試更好,實現了變流器性能的不斷優化。實驗達到了理論驗證的預期,再次驗證了利用
    發表于 09-20 10:17

    Transformer語言模型簡介與實現過程

    在自然語言處理(NLP)領域,Transformer模型以其卓越的性能和廣泛的應用前景,成為了近年來最引人注目的技術之一。Transformer模型由谷歌在2017年提出,并首次應用于神經機器翻譯
    的頭像 發表于 07-10 11:48 ?2079次閱讀

    Transformer模型在語音識別和語音生成的應用優勢

    自然語言處理、語音識別、語音生成等多個領域展現出強大的潛力和廣泛的應用前景。本文將從Transformer模型的基本原理出發,深入探討其在語音識別和語音生成的應用優勢,并展望其未來發展趨勢。
    的頭像 發表于 07-03 18:24 ?1310次閱讀

    能變流器的拓撲結構介紹

    隨著能源存儲技術的不斷發展,儲能變流器(Power Conversion System,簡稱PCS)作為儲能系統的核心設備,其性能對整個系統的穩定運行和能量轉換效率起著至關重要的作用。而儲能變
    的頭像 發表于 05-17 16:08 ?2402次閱讀

    能變流器的工作原理是什么

    工作原理和性能直接影響到整個儲能系統的運行效率、安全性和穩定性。本文將詳細介紹儲能變流器的工作原理,并探討其在電力系統的重要作用。
    的頭像 發表于 05-17 16:02 ?2212次閱讀

    能變流器模塊作用是什么

    能變流器模塊(PCM)是儲能變流器系統的一個關鍵組成部分,它負責執行儲能系統的電能轉換任務。
    的頭像 發表于 04-24 15:30 ?1550次閱讀

    能變流器拓撲結構有哪些種類

    能變流器(PCS)的拓撲結構是其設計和性能的核心部分,它決定了變流器的效率、可靠性和成本。
    的頭像 發表于 04-22 14:52 ?2768次閱讀
    百家乐官网园选百利宫| 百家乐开庄概率| 百家乐官网电投网址| 肥乡县| 太阳城娱乐城怎么样| 大发888娱乐场下载 17| 金龍百家乐的玩法技巧和规则| 网站百家乐博彩| 百家乐缆的打法| 无锡百家乐官网的玩法技巧和规则 | 寒江博彩堂| 大发888娱乐场下载 df888ylc3403 | 太阳城百家乐官网主页| 百家乐官网怎样看点| 巩留县| 皇冠现金网娱乐城| 现金游戏网| 开棋牌室赚钱吗| 大发888客户端的 软件| 大发888娱乐场下载iypuqrd| 全讯网址| 星期八百家乐的玩法技巧和规则 | 百家乐官网赌博博彩赌博网| 澳门1百家乐官网网| 明升百家乐官网娱乐城| 百家乐官网最好打法与投注| 玩百家乐官网最好方法| 百家乐官网隔一数打法| 土默特右旗| 百家乐官网固定打法| 百家乐官网怎么推算| 吉安县| 3U百家乐官网游戏| 百家乐官网博彩桌出租| 百家乐官网娱乐城主页| 百家乐官网娱乐城返水| 百家乐官网赌具哪里最好| 百家乐官网注册送彩金平台| 澳门百家乐官网大小| 百家乐官网桌布9人| 百家乐官网五湖四海娱乐网|