91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)方法「ReZero」

倩倩 ? 來源:機(jī)器之心Pro ? 2020-04-17 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

深度學(xué)習(xí)在眾多領(lǐng)域都取得了顯著進(jìn)展,但與此同時(shí)也存在一個(gè)問題:深層網(wǎng)絡(luò)的訓(xùn)練常常面臨梯度消失或梯度爆炸的阻礙,尤其是像 Transformer 這樣的大型網(wǎng)絡(luò)?,F(xiàn)在,加州大學(xué)圣迭戈分校的研究者提出了一種名為 ReZero 的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)方法,并使用 ReZero 訓(xùn)練了具有一萬層的全連接網(wǎng)絡(luò),以及首次訓(xùn)練了超過 100 層的 Tansformer,效果都十分驚艷。

深度學(xué)習(xí)在計(jì)算機(jī)視覺、自然語言處理等領(lǐng)域取得了很多重大突破。神經(jīng)網(wǎng)絡(luò)的表達(dá)能力通常隨著其網(wǎng)絡(luò)深度呈指數(shù)增長,這一特性賦予了它很強(qiáng)的泛化能力。然而深層的網(wǎng)絡(luò)也產(chǎn)生了梯度消失或梯度爆炸,以及模型中的信息傳遞變差等一系列問題。研究人員使用精心設(shè)計(jì)的權(quán)值初始化方法、BatchNorm 或 LayerNorm 這類標(biāo)準(zhǔn)化技術(shù)來緩解以上問題,然而這些技術(shù)往往會耗費(fèi)更多計(jì)算資源,或者存在其自身的局限。

近日,來自加州大學(xué)圣迭戈分校(UCSD)的研究者提出一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)方法「ReZero」,它能夠動態(tài)地加快優(yōu)質(zhì)梯度和任意深層信號的傳播。

論文地址:https://arxiv.org/abs/2003.04887v1

代碼地址:https://github.com/majumderb/rezero

這個(gè)想法其實(shí)非常簡單:ReZero 將所有網(wǎng)絡(luò)層均初始化為恒等映射。在每一層中,研究者引入了一個(gè)關(guān)于輸入信號 x 的殘差連接和一個(gè)用于調(diào)節(jié)當(dāng)前網(wǎng)絡(luò)層輸出 F(x) 的可訓(xùn)練參數(shù)α,即:

在剛開始訓(xùn)練的時(shí)候?qū)ⅵ猎O(shè)置為零。這使得在神經(jīng)網(wǎng)絡(luò)訓(xùn)練初期,所有組成變換 F 的參數(shù)所對應(yīng)的梯度均消失了,之后這些參數(shù)在訓(xùn)練過程中動態(tài)地產(chǎn)生合適的值。改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:

圖 1:ReZero 結(jié)構(gòu)示意圖

ReZero 主要帶來了以下兩個(gè)益處:

1. 能夠訓(xùn)練更深層神經(jīng)網(wǎng)絡(luò)

學(xué)習(xí)信號能夠有效地在深層神經(jīng)網(wǎng)絡(luò)中傳遞,這使得我們能夠訓(xùn)練一些之前所無法訓(xùn)練的網(wǎng)絡(luò)。研究者使用 ReZero 成功訓(xùn)練了具有一萬層的全連接網(wǎng)絡(luò),首次訓(xùn)練了超過 100 層的 Tansformer 并且沒有使用學(xué)習(xí)速率熱身和 LayerNorm 這些奇技淫巧。

2. 更快的收斂速度

與帶有標(biāo)準(zhǔn)化操作的常規(guī)殘差網(wǎng)絡(luò)相比,ReZero 的收斂速度明顯更快。當(dāng) ReZero 應(yīng)用于 Transformer 時(shí),在 enwiki8 語言建模基準(zhǔn)上,其收斂速度比一般的 Transformer 快 56%,達(dá)到 1.2BPB。當(dāng) ReZero 應(yīng)用于 ResNet,在 CIFAR 10 上可實(shí)現(xiàn) 32% 的加速和 85% 的精度。

ReZero (residual with zero initialization)

ReZero 對深度殘差網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行了簡單的更改,可促進(jìn)動態(tài)等距(dynamical isometry)并實(shí)現(xiàn)對極深網(wǎng)絡(luò)的有效訓(xùn)練。研究者在初始階段沒有使用那些非平凡函數(shù) F[W_i] 傳遞信號,而是添加了一個(gè)殘差連接并通過初始為零的 L 個(gè)可學(xué)習(xí)參數(shù)α_i(作者稱其為殘差權(quán)重)來重新縮放該函數(shù)。目前,信號根據(jù)以下方式進(jìn)行傳遞:

在初始階段,該網(wǎng)絡(luò)表示為恒等函數(shù)并且普遍滿足動態(tài)等距關(guān)系。在該架構(gòu)修改中,即使某一層的 Jacobian 值消失,也可以訓(xùn)練深度網(wǎng)絡(luò)(正如 ReLU 激活函數(shù)或自注意力機(jī)制出現(xiàn)這樣的狀況)。這一技術(shù)還可以在現(xiàn)有的已訓(xùn)練網(wǎng)絡(luò)上添加新層。

實(shí)驗(yàn)結(jié)果

更快的深層全連接網(wǎng)絡(luò)訓(xùn)練

圖 3 展示了訓(xùn)練損失的演變過程。在一個(gè)簡單實(shí)驗(yàn)中,一個(gè)使用了 ReZero 的 32 層網(wǎng)絡(luò),擬合訓(xùn)練數(shù)據(jù)的收斂速度相比其他技術(shù)快了 7 到 15 倍。值得注意的是,與常規(guī)的全連接網(wǎng)絡(luò)相比,殘差連接在沒有額外的標(biāo)準(zhǔn)化層時(shí)會降低收斂速度。這可能是因?yàn)槌跏蓟A段信號的方差并不獨(dú)立于網(wǎng)絡(luò)深度。

隨著深度的增加,ReZero 架構(gòu)的優(yōu)勢更加明顯。為了驗(yàn)證該架構(gòu)可用于深度網(wǎng)絡(luò)訓(xùn)練,研究者在一臺配備 GPU 的筆記本電腦上成功訓(xùn)練了多達(dá) 1 萬層的全連接 ReZero 網(wǎng)絡(luò),使其在訓(xùn)練數(shù)據(jù)集上過擬合。

圖 3:256 寬度和 ReLU 激活的 32 層全連接網(wǎng)絡(luò)四種變體,在訓(xùn)練過程中的交叉熵?fù)p失。

更快的深層 Transformer 訓(xùn)練

研究者提出,常規(guī)的 Transformer 會抑制深層信號傳遞,他們在輸入序列 x 的 n x d 個(gè) entry 的無窮小變化下評估其變化,獲得注意力處理的輸入-輸出 Jacobian,從而驗(yàn)證了之前的觀點(diǎn)。

圖 5a 展示了不同深度中使用 Xavier 統(tǒng)一初始化權(quán)重的 Transformer 編碼層的輸入-輸出 Jacobian 值。淺層的 Transformer 表現(xiàn)出峰值在零點(diǎn)附近的單峰分布,可以發(fā)現(xiàn),深層結(jié)構(gòu)中 Jacobian 出現(xiàn)了大量超出計(jì)算精度的峰值。雖然這些分布取決于不同初始化方法,但以上量化的結(jié)論在很大范圍內(nèi)是成立的。這些結(jié)果與普遍認(rèn)為的相一致,也就是深層 Transformer 很難訓(xùn)練。

圖 5:多個(gè)輸入-輸出 Jacobian 矩陣中對數(shù)奇異值λ_io 的直方圖。(a)層數(shù)分別為 4、12、64 層的 Transformer 編碼器網(wǎng)絡(luò);(b)是 64 層時(shí)訓(xùn)練前和訓(xùn)練中的 ReZero Transformer 編碼器網(wǎng)絡(luò)。深層 Transformer 距離動態(tài)等距很遠(yuǎn),即λ_io 1,而 ReZero Transformer 更接近動態(tài)等距,平均奇異值 λ_io ≈ 1。

能夠在多項(xiàng) NLP 任務(wù)中實(shí)現(xiàn) SOTA 的 Transformer 模型通常是小于 24 層的,這項(xiàng)研究中,最深層模型最多使用了 78 層,并且需要 256 個(gè) GPU 來訓(xùn)練。研究者又將這一模型擴(kuò)展至數(shù)百個(gè) Transformer 層,并且仍然可以在臺式機(jī)上訓(xùn)練。為了檢查該方法是否可以擴(kuò)展至更深層的 Transformer 模型之上,研究者將 ReZero Transformer 拓展到了 64 及 128 層,并與普通 Transformer 進(jìn)行了對比。

結(jié)果顯示,收斂之后,12 層的 ReZero Transformer 與常規(guī)的 Transformer 取得了相同的 BPB。也就是說,用 ReZero 來替代 LayerNorm 不會失去任何模型表現(xiàn)。訓(xùn)練普通的 Transformer 模型會導(dǎo)致收斂困難或訓(xùn)練緩慢。當(dāng)達(dá)到 64 層時(shí),普通的 Transformer 模型即使用了 warm-up 也無法收斂。ReZero Transformer 在α初始化為 1 時(shí)發(fā)散,從而支持了α = 0 的初始化理論。深層的 ReZero Transformer 比淺層的 Transformer 表現(xiàn)出了更優(yōu)越的性能。

表 3:在 enwiki8 測試集上的 Transformers (TX) 對比。

收斂速度比較

選擇 enwiki8 上的語言建模作為基準(zhǔn),因?yàn)檩^難的語言模型是 NLP 任務(wù)性能的良好指標(biāo)。在實(shí)驗(yàn)中,其目標(biāo)是通過測量 12 層的 Transformer 在 enwiki8 上達(dá)到 1.2 位每字節(jié)(BPB)所需的迭代次數(shù),由此來衡量所提出的每種方法的收斂速度。

表二:針對 ReZero 的 12 層 Transformers 歸一化后與 enwiki8 驗(yàn)證集上達(dá)到 1.2 BPB 時(shí)所需的訓(xùn)練迭代比較。

更快的殘差網(wǎng)絡(luò)訓(xùn)練

通過前述部分,看到了 ReZero 的連接是如何使深層網(wǎng)絡(luò)的訓(xùn)練成為可能的,并且這些深層網(wǎng)絡(luò)都包含會消失的 Jacobian 奇異值,例如 ReLU 激活或自我注意力。但是,如果沒有 ReZero 的連接或者是其他架構(gòu)的更改,其中某些架構(gòu)將無法執(zhí)行訓(xùn)練。在本節(jié)中,會將 ReZero 連接應(yīng)用于深層殘差網(wǎng)絡(luò)從而進(jìn)行圖像識別。

雖然這些網(wǎng)絡(luò)并不需要 ReZero 連接便可以進(jìn)行訓(xùn)練,但通過觀察發(fā)現(xiàn),在 CIFAR-10 數(shù)據(jù)集上訓(xùn)練的 ResNet56 model4(最多 200 個(gè) epochs)的驗(yàn)證誤差得到了非常明顯的提升:從(7.37±0.06)%到(6.46±0.05)%。這一效果是將模型中的所有殘差連接轉(zhuǎn)換為 ReZero 連接之后得到的。在實(shí)施 ReZero 之后,驗(yàn)證誤差降低到 15%以下的次數(shù)也減少了(32±14)%。盡管目前這些結(jié)果只提供了有限的信息,但它們?nèi)灾赋隽?ReZero 連接擁有更廣泛的適用性,從而也推進(jìn)了進(jìn)一步的研究。

上手實(shí)操

項(xiàng)目地址:

https://github.com/majumderb/rezero

在此提供了自定義的 ReZero Transformer 層(RZTX),比如以下操作將會創(chuàng)建一個(gè) Transformer 編碼器:

import torchimport torch.nn as nnfrom rezero.transformer import RZTXEncoderLayerencoder_layer = RZTXEncoderLayer(d_model=512, nhead=8)transformer_encoder = nn.TransformerEncoder(encoder_layer, num_layers=6)src = torch.rand(10, 32, 512)out = transformer_encoder(src)

創(chuàng)建一個(gè) Transformer 解碼器:

import torchimport torch.nn as nnfrom rezero.transformer import RZTXDecoderLayerdecoder_layer = RZTXDecoderLayer(d_model=512, nhead=8)transformer_decoder = nn.TransformerDecoder(decoder_layer, num_layers=6)memory = torch.rand(10, 32, 512)tgt = torch.rand(20, 32, 512)out = transformer_decoder(tgt, memory)

注意確保 norm 參數(shù)保留為 None,以免在 Transformer 中用到 LayerNorm。

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

    關(guān)注

    45

    文章

    3953

    瀏覽量

    142609
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4838

    瀏覽量

    107747
  • 自然語言處理
    +關(guān)注

    關(guān)注

    1

    文章

    630

    瀏覽量

    14665
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    神經(jīng)網(wǎng)絡(luò)的初步認(rèn)識

    日常生活中的智能應(yīng)用都離不開深度學(xué)習(xí),而深度學(xué)習(xí)則依賴于神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)。什么是神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)的核心思想是模仿生物神經(jīng)系統(tǒng)的結(jié)構(gòu),特別是大
    的頭像 發(fā)表于 12-17 15:05 ?323次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的初步認(rèn)識

    Transformer如何讓自動駕駛變得更聰明?

    ]自動駕駛中常提的Transformer本質(zhì)上是一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),最早在自然語言處理里火起來。與卷積神經(jīng)網(wǎng)絡(luò)(CNN)或循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)不同,Transformer能夠自動審視所
    的頭像 發(fā)表于 11-19 18:17 ?2268次閱讀

    自動駕駛中常提的卷積神經(jīng)網(wǎng)絡(luò)是個(gè)啥?

    在自動駕駛領(lǐng)域,經(jīng)常會聽到卷積神經(jīng)網(wǎng)絡(luò)技術(shù)。卷積神經(jīng)網(wǎng)絡(luò),簡稱為CNN,是一種專門用來處理網(wǎng)格狀數(shù)據(jù)(比如圖像)的深度學(xué)習(xí)模型。CNN在圖像處理中尤其常見,因?yàn)閳D像本身就可以看作是由像素排列成的二維網(wǎng)格。
    的頭像 發(fā)表于 11-19 18:15 ?2072次閱讀
    自動駕駛中常提的卷積<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>是個(gè)啥?

    NMSIS神經(jīng)網(wǎng)絡(luò)庫使用介紹

    NMSIS NN 軟件庫是組高效的神經(jīng)網(wǎng)絡(luò)內(nèi)核,旨在最大限度地提高 Nuclei N 處理器內(nèi)核上的神經(jīng)網(wǎng)絡(luò)的性能并最??大限度地減少其內(nèi)存占用。 該庫分為多個(gè)功能,每個(gè)功能涵蓋特定類別
    發(fā)表于 10-29 06:08

    在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的些經(jīng)驗(yàn)

    , batch_size=512, epochs=20)總結(jié) 這個(gè)核心算法中的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練過程,是用來對MNIST手寫數(shù)字圖像進(jìn)行分類的。模型將圖像作為輸入,通過卷積和池化層提取圖像的特征,然后通過全連接層進(jìn)行分類預(yù)測。訓(xùn)練過程中,模型通過最小化損失函數(shù)來優(yōu)化模型參數(shù),從而提高分類準(zhǔn)確性。
    發(fā)表于 10-22 07:03

    CICC2033神經(jīng)網(wǎng)絡(luò)部署相關(guān)操作

    在完成神經(jīng)網(wǎng)絡(luò)量化后,需要將神經(jīng)網(wǎng)絡(luò)部署到硬件加速器上。首先需要將所有權(quán)重?cái)?shù)據(jù)以及輸入數(shù)據(jù)導(dǎo)入到存儲器內(nèi)。 在仿真環(huán)境下,可將其存于個(gè)文件,并在 Verilog 代碼中通過 readmemh 函數(shù)
    發(fā)表于 10-20 08:00

    液態(tài)神經(jīng)網(wǎng)絡(luò)(LNN):時(shí)間連續(xù)性與動態(tài)適應(yīng)性的神經(jīng)網(wǎng)絡(luò)

    1.算法簡介液態(tài)神經(jīng)網(wǎng)絡(luò)(LiquidNeuralNetworks,LNN)是一種新型的神經(jīng)網(wǎng)絡(luò)架構(gòu),其設(shè)計(jì)理念借鑒自生物神經(jīng)系統(tǒng),特別是秀麗隱桿線蟲的
    的頭像 發(fā)表于 09-28 10:03 ?1197次閱讀
    液態(tài)<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>(LNN):時(shí)間連續(xù)性與動態(tài)適應(yīng)性的<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    神經(jīng)網(wǎng)絡(luò)的并行計(jì)算與加速技術(shù)

    隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)在眾多領(lǐng)域展現(xiàn)出了巨大的潛力和廣泛的應(yīng)用前景。然而,神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜度和規(guī)模也在不斷增加,這使得傳統(tǒng)的串行計(jì)算方式面臨著巨大的挑戰(zhàn),如計(jì)算速度慢、訓(xùn)練時(shí)間長等
    的頭像 發(fā)表于 09-17 13:31 ?1122次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的并行計(jì)算與加速技術(shù)

    MSCMG無刷直流電機(jī)改進(jìn)的I_f無位置起動方法

    針對磁懸浮控制力矩陀螺無刷直流電機(jī)電阻、電感值極小的特點(diǎn)和已有的無位置傳感器 I/f 起動算法加速階段換相精度不高且算法復(fù)雜的問題,通過分析電磁轉(zhuǎn)矩和換相時(shí)刻的關(guān)系,提出了一種改進(jìn)的 I/f起動方法
    發(fā)表于 08-06 14:27

    MSCMG無刷直流電機(jī)改進(jìn)的I_f無位置起動方法

    方法。該方法在電磁轉(zhuǎn)矩恒定的情況下,結(jié)合電機(jī)模型,精確計(jì)算出電機(jī)換相的具體時(shí)刻。為保證電磁轉(zhuǎn)矩恒定確保換相時(shí)刻的準(zhǔn)確性,采用神經(jīng)網(wǎng)絡(luò)法估計(jì)反電勢系數(shù),并設(shè)計(jì)了基于三相繞組不對稱補(bǔ)償?shù)?b class='flag-5'>改進(jìn)
    發(fā)表于 07-23 13:19

    無刷電機(jī)小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測方法的研究

    摘要:論文通過對無刷電機(jī)數(shù)學(xué)模型的推導(dǎo),得出轉(zhuǎn)角:與三相相電壓之間存在映射關(guān)系,因此構(gòu)建了個(gè)以三相相電壓為輸人,轉(zhuǎn)角為輸出的小波神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)轉(zhuǎn)角預(yù)測,并采用改進(jìn)遺傳算法來訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)
    發(fā)表于 06-25 13:06

    神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)在電機(jī)故障診斷中的應(yīng)用

    摘要:針對傳統(tǒng)專家系統(tǒng)不能進(jìn)行自學(xué)習(xí)、自適應(yīng)的問題,本文提出了基于經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的并步電機(jī)故障診斷方法。本文將小波神經(jīng)網(wǎng)絡(luò)和專家系統(tǒng)相結(jié)合,充分發(fā)揮了二者故障診斷的優(yōu)點(diǎn),很大程度上降
    發(fā)表于 06-16 22:09

    神經(jīng)網(wǎng)絡(luò)RAS在異步電機(jī)轉(zhuǎn)速估計(jì)中的仿真研究

    眾多方法中,由于其結(jié)構(gòu)簡單,穩(wěn)定性好廣泛受到人們的重視,且已被用于產(chǎn)品開發(fā)。但是MRAS仍存在在低速區(qū)速度估計(jì)精度下降和對電動機(jī)參數(shù)變化非常敏感的問題。本文利用神經(jīng)網(wǎng)絡(luò)的特點(diǎn),使估計(jì)更為簡單、快速
    發(fā)表于 06-16 21:54

    基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析

    本文的目的是在個(gè)神經(jīng)網(wǎng)絡(luò)已經(jīng)通過python或者M(jìn)ATLAB訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,將訓(xùn)練好的模型的權(quán)重和偏置文件以TXT文件格式導(dǎo)出,然后通過python程序?qū)xt文件轉(zhuǎn)化為coe文件,(coe
    的頭像 發(fā)表于 06-03 15:51 ?1194次閱讀
    基于FPGA搭建<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的步驟解析

    神經(jīng)網(wǎng)絡(luò)壓縮框架 (NNCF) 中的過濾器修剪統(tǒng)計(jì)數(shù)據(jù)怎么查看?

    無法觀察神經(jīng)網(wǎng)絡(luò)壓縮框架 (NNCF) 中的過濾器修剪統(tǒng)計(jì)數(shù)據(jù)
    發(fā)表于 03-06 07:10