0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

無殘差連接或歸一化層,也能成功訓(xùn)練深度transformer

CVer ? 來源:機(jī)器之心 ? 作者:機(jī)器之心 ? 2022-12-12 11:23 ? 次閱讀

首次!無殘差連接或歸一化層,也能成功訓(xùn)練深度transformer。

盡管取得了很多顯著的成就,但訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)(DNN)的實(shí)踐進(jìn)展在很大程度上獨(dú)立于理論依據(jù)。大多數(shù)成功的現(xiàn)代 DNN 依賴殘差連接和歸一化層的特定排列,但如何在新架構(gòu)中使用這些組件的一般原則仍然未知,并且它們?cè)诂F(xiàn)有架構(gòu)中的作用也依然未能完全搞清楚。

殘差架構(gòu)是最流行和成功的,最初是在卷積神經(jīng)網(wǎng)絡(luò)(CNN)的背景下開發(fā)的,后來自注意力網(wǎng)絡(luò)中產(chǎn)生了無處不在的 transformer 架構(gòu)。殘差架構(gòu)之所以取得成功,一種原因是與普通 DNN 相比具有更好的信號(hào)傳播能力,其中信號(hào)傳播指的是幾何信息通過 DNN 層的傳輸,并由內(nèi)核函數(shù)表示。

最近,使用信號(hào)傳播原則來訓(xùn)練更深度的 DNN 并且殘差架構(gòu)中沒有殘差連接和 / 或歸一化層的參與,成為了社區(qū)感興趣的領(lǐng)域。原因有兩個(gè):首先驗(yàn)證了殘差架構(gòu)有效性的信號(hào)傳播假設(shè),從而闡明對(duì) DNN 可解釋性的理解;其次這可能會(huì)實(shí)現(xiàn)超越殘差范式的 DNN 可訓(xùn)練性的一般原則和方法。

對(duì)于 CNN,Xiao et al. (2018)的工作表明,通過更好初始化提升的信號(hào)傳播能夠高效地訓(xùn)練普通深度網(wǎng)絡(luò),盡管與殘差網(wǎng)絡(luò)比速度顯著降低。Martens et al. (2021) 的工作提出了 Deep Kernel Shaping (DKS),使用激活函數(shù)轉(zhuǎn)換來控制信號(hào)傳播,使用 K-FAC 等強(qiáng)二階優(yōu)化器在 ImageNet 上實(shí)現(xiàn)了普通網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)的訓(xùn)練速度相等。Zhang et al. (2022) 的工作將 DKS 擴(kuò)展到了更大類的激活函數(shù),在泛化方面也實(shí)現(xiàn)了接近相等。

信號(hào)傳播中需要分析的關(guān)鍵量是 DNN 的初始化時(shí)間內(nèi)核,或者更準(zhǔn)確地說,是無限寬度限制下的近似內(nèi)核。對(duì)于多層感知機(jī)(MLP)以及使用 Delta 初始化的 CNN,該內(nèi)核可以編寫為僅包含 2D 函數(shù)的簡(jiǎn)單層遞歸,以便于進(jìn)行直接分析??鐚?transformer 的內(nèi)核演化更加復(fù)雜,因此 DKS 等現(xiàn)有方法不適用 transformer 或?qū)嶋H上任何包含自注意力層的架構(gòu)。

在 MLP 中,信號(hào)傳播是通過查看(一維)內(nèi)核的行為來判斷的,而 transformer 中的信號(hào)傳播可以通過查看(高維)內(nèi)核矩陣在網(wǎng)絡(luò)層中的演化來判斷。

該研究必須避免一種情況:對(duì)角線元素隨深度增加快速增長(zhǎng)或收縮,這與不受控制的激活范數(shù)有關(guān),可能導(dǎo)致飽和損失或數(shù)值問題。避免秩崩潰(rank collapse)對(duì)于深度 transformer 的可訓(xùn)練性是必要的,而是否可以訓(xùn)練深度無殘差 transformer 仍是一個(gè)懸而未決的問題。

ICLR 2023 盲審階段的這篇論文解決了這個(gè)問題,首次證明了無需殘差連接或歸一化層時(shí)也可能成功訓(xùn)練深度 transformer。為此,他們研究了深度無殘差 transformer 中的信號(hào)傳播和秩崩潰問題,并推導(dǎo)出三種方法來阻止它們。具體而言,方法中使用了以下組合:參數(shù)初始化、偏置矩陣和位置相關(guān)的重縮放,并強(qiáng)調(diào)了 transformer 中信號(hào)傳播特有的幾種復(fù)雜性,包括與位置編碼和因果掩蔽的交互。研究者實(shí)證證明了他們的方法可以生成可訓(xùn)練的深度無殘差 transformer。

在實(shí)驗(yàn)部分,在 WikiText-103 和 C4 數(shù)據(jù)集上,研究者展示了使用他們主要的方法——指數(shù)信號(hào)保持注意力(Exponential Signal Preserving Attention, E-SPA),可以通過延長(zhǎng)大約五倍的訓(xùn)練時(shí)間使得標(biāo)準(zhǔn) transformer 與文中無殘差 transformer 的訓(xùn)練損失相當(dāng)。此外通過將這一方法與殘差連接結(jié)合,研究者還表明無歸一化層的 transformer 能夠?qū)崿F(xiàn)與標(biāo)準(zhǔn) transformer 相當(dāng)?shù)挠?xùn)練速度。

e0e3e806-7989-11ed-8abf-dac502259ad0.png

論文地址:https://openreview.net/pdf?id=NPrsUQgMjKK

對(duì)于這篇論文,Google AI 首席工程師 Rohan Anil 認(rèn)為是 Transformer 架構(gòu)向前邁出的一大步,還是一個(gè)基礎(chǔ)性的改進(jìn)。

e0ebbaa4-7989-11ed-8abf-dac502259ad0.jpg

構(gòu)造無捷徑可訓(xùn)練的深層 Transformer

迄今為止,糾正 Transformer 秩崩潰(rank collapse)的唯一策略依賴于殘差連接,該方式跳過了自注意力層固有的可訓(xùn)練性問題。與此相反,該研究直接解決這個(gè)問題。首先通過注意力層更好地理解信號(hào)傳播,然后根據(jù)見解(insights)進(jìn)行修改,以在深度 transformer 中實(shí)現(xiàn)對(duì)忠實(shí)信號(hào)的傳輸,無論是否使用殘差連接,都可以對(duì)信號(hào)進(jìn)行訓(xùn)練。

具體而言,首先,該研究對(duì)僅存在注意力的深度 vanilla transformer 進(jìn)行了一下簡(jiǎn)單設(shè)置,之后他們假設(shè)該 transformer 具有單一頭(h = 1)設(shè)置或具有多頭設(shè)置,其中注意力矩陣 A 在不同頭之間不會(huì)變化。如果塊 l≤L 初始化時(shí)有注意力矩陣 A_l,則最終塊的表示形式為 X_L:

e0f425ea-7989-11ed-8abf-dac502259ad0.png

對(duì)于上式而言,如果e0fb45c8-7989-11ed-8abf-dac502259ad0.pnge1088a3a-7989-11ed-8abf-dac502259ad0.png采用正交初始化,那么e113b00e-7989-11ed-8abf-dac502259ad0.png就可以在初始化時(shí)正交。

在上述假設(shè)下,如果采用e11a3e4c-7989-11ed-8abf-dac502259ad0.png表示跨位置輸入核矩陣,經(jīng)過一些簡(jiǎn)化處理后,可以得到如下公式:

e120a7a0-7989-11ed-8abf-dac502259ad0.png

從這個(gè)簡(jiǎn)化公式(深度僅注意力 transformer 中的核矩陣)中,可以確定對(duì) (A_l)_l 的三個(gè)要求:

e127bdba-7989-11ed-8abf-dac502259ad0.png

必須在每個(gè)塊中表現(xiàn)良好,避免退化情況,如秩崩潰和爆炸 / 消失的對(duì)角線值;

A_l 必須是元素非負(fù) ?l;

A_l 應(yīng)該是下三角?l,以便與因果掩碼注意力兼容。

在接下來的 3.1 和 3.2 節(jié)中,該研究專注于尋找滿足上述需求的注意力矩陣,他們提出了 3 種方法 E-SPA、U-SPA 和 Value-Skipinit,每種方法都用來控制 transformer 的注意力矩陣,即使在很深的深度也能實(shí)現(xiàn)忠實(shí)的信號(hào)傳播。此外,3.3 節(jié)演示了如何修改 softmax 注意力以實(shí)現(xiàn)這些注意力矩陣。

下圖中,該研究對(duì)提出的兩個(gè) SPA 方案進(jìn)行了驗(yàn)證,U-SPA 和 E-SPA,結(jié)果顯示即使在網(wǎng)絡(luò)較深時(shí)也能成功地避免僅注意力 vanilla transformers 中的秩崩潰現(xiàn)象。

e12eaf44-7989-11ed-8abf-dac502259ad0.png

實(shí)驗(yàn)

WikiText-103 基線:首先,該研究驗(yàn)證了沒有殘差連接的標(biāo)準(zhǔn)深度 transformer 是不可訓(xùn)練的,即使它們有歸一化層 (LN) 和 transformed 激活,但本文的方法可以解決這個(gè)問題。如圖 2 所示,可以清楚地看到,從標(biāo)準(zhǔn) transformer 中移除殘差連接使其不可訓(xùn)練,訓(xùn)練損失穩(wěn)定在 7.5 左右。正如圖 1 所示,標(biāo)準(zhǔn) transformer 遭受了秩崩潰。

e13c5f5e-7989-11ed-8abf-dac502259ad0.png

另一方面,該研究提出的 E-SPA 方法優(yōu)于 U-SPA 和 Value-Skipinit。然而,與本文無殘差方法相比,帶有殘差和 LN 的默認(rèn) transformer 仍然保持訓(xùn)練速度優(yōu)勢(shì)。

在表 1 中,該研究使用提出的方法評(píng)估了 MLP 塊中不同激活函數(shù)的影響,以及 LN 在無殘差 transformer 的使用??梢钥吹皆谏疃葹?36 處,本文方法針對(duì)一系列激活實(shí)現(xiàn)了良好的訓(xùn)練性能:DKS-transformed GeLU、TAT-transformed Leaky ReLU 以及 untransformed GeLU ,但不是 untransformed Sigmoid。通過實(shí)驗(yàn)還看到,層歸一化對(duì)于訓(xùn)練速度而言相對(duì)不重要,甚至在使用 SPA 時(shí)對(duì) transformed activation 的激活有害,因?yàn)?SPA 已經(jīng)具有控制激活規(guī)范的內(nèi)置機(jī)制。

e1495182-7989-11ed-8abf-dac502259ad0.png

在圖 3 中,我們看到一種不需要更多迭代就能匹配默認(rèn) transformer 訓(xùn)練損失的方法是使用歸一化殘差連接。

e1523fc2-7989-11ed-8abf-dac502259ad0.png

表 2 顯示帶有歸一化殘差和 LN 的 E-SPA 優(yōu)于默認(rèn)的 PreLN transformer。

e15c70b4-7989-11ed-8abf-dac502259ad0.png

下圖 4(a)表明 E-SPA 再次優(yōu)于其他方法;4(b)表明訓(xùn)練損失差距可以通過簡(jiǎn)單地增加訓(xùn)練時(shí)間來消除。

e1660f48-7989-11ed-8abf-dac502259ad0.png

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4749

    瀏覽量

    100434
  • Transformer
    +關(guān)注

    關(guān)注

    0

    文章

    139

    瀏覽量

    5968
  • dnn
    dnn
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    9037

原文標(biāo)題:ICLR盲審階段被審稿人贊不絕口的論文:會(huì)是Transformer架構(gòu)的一大創(chuàng)新嗎?

文章出處:【微信號(hào):CVer,微信公眾號(hào):CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Pytorch深度學(xué)習(xí)訓(xùn)練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學(xué)習(xí)訓(xùn)練
    的頭像 發(fā)表于 10-28 14:05 ?123次閱讀
    Pytorch<b class='flag-5'>深度</b>學(xué)習(xí)<b class='flag-5'>訓(xùn)練</b>的方法

    英偉達(dá)推出歸一化Transformer,革命性提升LLM訓(xùn)練速度

    英偉達(dá)團(tuán)隊(duì)近日在AI領(lǐng)域投下了枚震撼彈,他們提出了種全新的神經(jīng)網(wǎng)絡(luò)架構(gòu)——歸一化Transformer(nGPT)。這創(chuàng)新架構(gòu)基于超球
    的頭像 發(fā)表于 10-23 11:30 ?318次閱讀

    網(wǎng)絡(luò)是深度神經(jīng)網(wǎng)絡(luò)嗎

    網(wǎng)絡(luò)(Residual Network,通常簡(jiǎn)稱為ResNet) 是深度神經(jīng)網(wǎng)絡(luò)的種 ,其獨(dú)特的結(jié)構(gòu)設(shè)計(jì)在解決深層網(wǎng)絡(luò)訓(xùn)練中的梯度消失
    的頭像 發(fā)表于 07-11 18:13 ?946次閱讀

    神經(jīng)網(wǎng)絡(luò)中的卷積、池與全連接

    深度學(xué)習(xí)中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)是種特別適用于處理圖像數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。它通過卷積、池
    的頭像 發(fā)表于 07-11 14:18 ?4318次閱讀

    神經(jīng)網(wǎng)絡(luò)模型的基本結(jié)構(gòu)是什么

    問題的復(fù)雜性和輸入數(shù)據(jù)的特征維度。輸入的每個(gè)神經(jīng)元都與個(gè)輸入特征相對(duì)應(yīng),神經(jīng)元的值就是輸入特征的值。 在輸入,數(shù)據(jù)通常需要進(jìn)行預(yù)處理,以適應(yīng)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。預(yù)處理的方法包括
    的頭像 發(fā)表于 07-11 10:59 ?624次閱讀

    神經(jīng)網(wǎng)絡(luò)如何用監(jiān)督算法訓(xùn)練

    神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的重要組成部分,其訓(xùn)練方式多樣,其中監(jiān)督學(xué)習(xí)是種重要的訓(xùn)練策略。監(jiān)督學(xué)
    的頭像 發(fā)表于 07-09 18:06 ?683次閱讀

    使用PyTorch搭建Transformer模型

    Transformer模型自其問世以來,在自然語言處理(NLP)領(lǐng)域取得了巨大的成功,并成為了許多先進(jìn)模型(如BERT、GPT等)的基礎(chǔ)。本文將深入解讀如何使用PyTorch框架搭建Transformer模型,包括模型的結(jié)構(gòu)、
    的頭像 發(fā)表于 07-02 11:41 ?1434次閱讀

    深度學(xué)習(xí)模型訓(xùn)練過程詳解

    深度學(xué)習(xí)模型訓(xùn)練個(gè)復(fù)雜且關(guān)鍵的過程,它涉及大量的數(shù)據(jù)、計(jì)算資源和精心設(shè)計(jì)的算法。訓(xùn)練個(gè)深度
    的頭像 發(fā)表于 07-01 16:13 ?1031次閱讀

    【大規(guī)模語言模型:從理論到實(shí)踐】- 每日進(jìn)步點(diǎn)點(diǎn)

    和postNorm進(jìn)行分類。preNorm是在連接之前進(jìn)行歸一化,而postNorm是在
    發(fā)表于 05-31 19:54

    利用深度循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)心電圖降噪

    個(gè)是它們由堆疊在起的多個(gè) (> 2) 組成 - 這 種方法稱為深度學(xué)習(xí)。這種深層架構(gòu)雖然比典型 的\"淺層\"神經(jīng)網(wǎng)絡(luò)需要更
    發(fā)表于 05-15 14:42

    種利用光電容積描記(PPG)信號(hào)和深度學(xué)習(xí)模型對(duì)高血壓分類的新方法

    、Shaoqing Ren和 Jian Sun于2015年提出[19]。它是基于學(xué)習(xí)的思想。學(xué)習(xí)涉及使用跳躍連接,允許
    發(fā)表于 05-11 20:01

    【大語言模型:原理與工程實(shí)踐】大語言模型的預(yù)訓(xùn)練

    進(jìn)行損失計(jì)算,得到下個(gè)目標(biāo)的預(yù)測(cè)。會(huì)設(shè)計(jì)些其他輔助訓(xùn)練任務(wù),與主任務(wù)共同訓(xùn)練。選擇合適的預(yù)訓(xùn)練
    發(fā)表于 05-07 17:10

    FPGA在深度學(xué)習(xí)應(yīng)用中將取代GPU

    上漲,因?yàn)槭聦?shí)表明,它們的 GPU 在訓(xùn)練和運(yùn)行 深度學(xué)習(xí)模型 方面效果明顯。實(shí)際上,英偉達(dá)已經(jīng)對(duì)自己的業(yè)務(wù)進(jìn)行了轉(zhuǎn)型,之前它是家純粹做 GPU 和游戲的公司,現(xiàn)在除了作為
    發(fā)表于 03-21 15:19

    智能車中電磁歸一化該怎么處理

    歸一化處理 很多開始的小白,在做電磁這部分時(shí),可能并不太知道歸一化,只是通過濾波算法處理后就用解算出來的電感數(shù)值,開始寫控制算法,這樣導(dǎo)致的結(jié)果就是,調(diào)出來的車可能容錯(cuò)率不高,適應(yīng)
    的頭像 發(fā)表于 11-28 17:45 ?854次閱讀

    電磁循跡中什么是歸一化

    什么是歸一化 歸一化就是將所有數(shù)據(jù)都變成0-1之間的數(shù),將數(shù)據(jù)映射到0~1范圍之內(nèi)處理,使數(shù)據(jù)觀察更便捷快速。 在電磁車行駛過程中,由于需要通過分析各個(gè)電感采集值的情況來判定前方為何種路段。 所以
    的頭像 發(fā)表于 11-28 15:50 ?873次閱讀