99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

全面總結(jié)深度學(xué)習(xí)中的歸一化技術(shù)

新機(jī)器視覺(jué) ? 來(lái)源:DeepHub IMBA ? 作者:Maciej Balawejder ? 2022-04-28 15:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。多年來(lái),研究人員提出了不同的方法來(lái)加速和穩(wěn)定學(xué)習(xí)過(guò)程。歸一化是一種被證明在這方面非常有效的技術(shù)。

7166194c-c6a9-11ec-bce3-dac502259ad0.png

在這篇文章中,我將使用類(lèi)比和可視化的方式來(lái)回顧這些方法中,這將幫助您了解它們的產(chǎn)生的原因和思維過(guò)程。

為什么要?dú)w一化?

例如,我們現(xiàn)在用兩個(gè)特征構(gòu)建一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)模型。這兩個(gè)特征一個(gè)是年齡:范圍在 0 到 65 之間,另一個(gè)是工資:范圍從 0 到 10 000。我們將這些特征提供給模型并計(jì)算梯度。

71740e12-c6a9-11ec-bce3-dac502259ad0.png

不同規(guī)模的輸入導(dǎo)致不同的權(quán)重更新和優(yōu)化器的步驟向最小值的方向不均衡。這也使損失函數(shù)的形狀不成比例。在這種情況下,就需要使用較低的學(xué)習(xí)速率來(lái)避免過(guò)沖,這就意味著較慢的學(xué)習(xí)過(guò)程。

所以我們的解決方案是輸入進(jìn)行歸一化,通過(guò)減去平均值(定心)并除以標(biāo)準(zhǔn)偏差來(lái)縮小特征。

7180a906-c6a9-11ec-bce3-dac502259ad0.png

718e25ae-c6a9-11ec-bce3-dac502259ad0.png

此過(guò)程也稱(chēng)為“漂白”,處理后所有的值具有 0 均值和單位方差,這樣可以提供更快的收斂和更穩(wěn)定的訓(xùn)練。

這是一個(gè)很好的解決方案,那么為什么我們不規(guī)范化網(wǎng)絡(luò)中每一層的激活呢?

下面我們先看一下針對(duì)于激活的歸一化方法

Batch Normalization

719cadea-c6a9-11ec-bce3-dac502259ad0.png

2015 年,Sergey Ioffe 和 Christian Szegedy[3] 采用了這個(gè)想法來(lái)解決內(nèi)部協(xié)變量偏移問(wèn)題。以前輸入層分布由于權(quán)值的更新而不斷變化。所以下面的層總是需要適應(yīng)新的分布,它會(huì)導(dǎo)致收斂速度變慢和訓(xùn)練不穩(wěn)定。

批量標(biāo)準(zhǔn)化提供了一種控制和優(yōu)化每一層之后的分布的方法。該過(guò)程與輸入歸一化相同,但我們添加了兩個(gè)可學(xué)習(xí)的參數(shù),γ 和 β。

通過(guò)代碼來(lái)說(shuō)明要比枯燥的公式好的多,所以BN的代碼如下:

def BatchNorm(x, gamma, beta, eps=1e-5): # x: input shape [N, C, H, W] N, C, H, W = x.shape mean = torch.mean(input=x, dim=[0,2,3], keepdim=True) var = torch.var(input=x, dim=[0,2,3], keepdim=True) # mean, var shape : [1, C, 1, 1] x = (x - mean) / torch.sqrt(var + eps) return x * gamma + beta

這兩個(gè)參數(shù)是通過(guò)反向傳播沿著網(wǎng)絡(luò)學(xué)習(xí)的。他們通過(guò)縮放(γ)和移動(dòng)(β)激活優(yōu)化分布。

71acf984-c6a9-11ec-bce3-dac502259ad0.png

由于有固定的分布,所以可以提高學(xué)習(xí)率并加快收斂速度。除了計(jì)算提升之外,BN 還可以作為一種正則化技術(shù)。數(shù)據(jù)集統(tǒng)計(jì)數(shù)據(jù)的近似產(chǎn)生的噪聲消除了對(duì) Dropout 的需要。

但這是一把雙刃劍。這種估計(jì)僅適用于較大的批次。當(dāng)批次數(shù)量較少時(shí),性能會(huì)急劇下降。

71bc0190-c6a9-11ec-bce3-dac502259ad0.png

BN 的另一個(gè)缺點(diǎn)是對(duì)于批處理的依賴(lài)。如果我們傳遞了單個(gè)樣本而不是批量的樣本,網(wǎng)絡(luò)必須使用預(yù)先計(jì)算的訓(xùn)練均值和方差,這可能會(huì)導(dǎo)致不同的結(jié)果。

這個(gè)問(wèn)題的重要性促使人們創(chuàng)建替代方法以避免對(duì)批處理的依賴(lài)。

Layer Normalization

71ce214a-c6a9-11ec-bce3-dac502259ad0.png

這是Geoffrey E. Hinton等人在2016年[4]中首次嘗試減少對(duì)批大小的約束。提出這個(gè)方法的主要原因是無(wú)法找到將BN應(yīng)用于遞歸神經(jīng)網(wǎng)絡(luò),需要找到一個(gè)替代的方法。

71dc9af4-c6a9-11ec-bce3-dac502259ad0.png

在深度神經(jīng)網(wǎng)絡(luò)中,由于層數(shù)是固定的,因此很容易存儲(chǔ)每個(gè) BN 層的統(tǒng)計(jì)信息。然而在 RNN 中,輸入和輸出形狀的長(zhǎng)度不同。因此,在這種情況下,最好使用單個(gè)時(shí)間步長(zhǎng)(樣本)而不是整個(gè)批次的統(tǒng)計(jì)信息進(jìn)行標(biāo)準(zhǔn)化。

def LayerNorm(x, gamma, beta, eps=1e-5): # x: input shape [N, C, H, W] N, C, H, W = x.shape mean = torch.mean(input=x, dim=[1,2,3], keepdim=True) var = torch.var(input=x, dim=[1,2,3], keepdim=True) # mean, var shape: [N, 1, 1, 1] x = (x - mean) / torch.sqrt(var + eps) return x * gamma + beta

在這種方法中,batch(N) 中的每個(gè)示例都在 [C, H, W] 維度上進(jìn)行了歸一化。與 BN 一樣,它可以加速和穩(wěn)定訓(xùn)練,并且不受批次的限制。此方法可用于批量為 1 的在線學(xué)習(xí)任務(wù)。

Instance Normalization

71f5635e-c6a9-11ec-bce3-dac502259ad0.png

Dmitry Ulyanov 等人在 2016 年的論文 [5] 中介紹了Instance Normalization。這是另一種嘗試減少對(duì)批處理的依賴(lài)以改善樣式傳輸網(wǎng)絡(luò)的結(jié)果。

def InstanceNorm(x, gamma, beta, eps=1e-5): # x: input shape [N, C, H, W] N, C, H, W = x.shape mean = torch.mean(input=x, dim=[2,3], keepdim=True) var = torch.var(input=x, dim=[2,3], keepdim=True) # mean, var shape: [N, C, 1, 1] x = (x - mean) / torch.sqrt(var + eps) return x * gamma + beta

跨批次和通道的標(biāo)準(zhǔn)化允許從圖像中刪除特定的對(duì)比度信息,這有助于泛化。

這種方法在 Pix2Pix 或 CycleGAN 等生成模型中廣受歡迎,并成為著名的 StyleGAN2 中使用的自適應(yīng)實(shí)例歸一化的先驅(qū)。

Group Normalization

72009cce-c6a9-11ec-bce3-dac502259ad0.png

Group Normalization 在 2018[1] 論文中被引入,它直接解決了 CNN 的 BN 限制。主要針對(duì)的是分布式學(xué)習(xí),其中批次被分成許多機(jī)器。這些是在少數(shù)例子上訓(xùn)練的,比如 6-8,在某些情況下,甚至是 1-2。

721d068e-c6a9-11ec-bce3-dac502259ad0.png

GN 可以理解為L(zhǎng)ayer 和Instance的混合。GN 將通道分成組并在它們之間進(jìn)行標(biāo)準(zhǔn)化。該方案使計(jì)算獨(dú)立于批量大小。

def GroupNorm(x, gamma, beta, G, eps=1e-5): # x: input features with shape [N, C, H, W] # G : number of groups N, C, H, W = x.shape x = torch.reshape(input=x, shape=[N, G, C // G, H, W]) mean = torch.mean(input=x, dim=[2,3,4], keepdim=True) var = torch.var(input=x, dim=[2,3,4], keepdim=True) # mean, var shape : [N, G, 1, 1, 1] x = (x - mean) / torch.sqrt(var + eps) x = torch.reshape(input=x, shape=[N, C, H, W]) return x * gamma + beta

GN 優(yōu)于在小批量上訓(xùn)練的 BN,但無(wú)法擊敗大批量的結(jié)果,但是這是一個(gè)很好的起點(diǎn)。

上面的針對(duì)于激活的歸一化方法我們基本上都聽(tīng)說(shuō)過(guò)也經(jīng)常會(huì)用到,下面我們來(lái)介紹針對(duì)權(quán)重的歸一化方法。

Weight Standardization

722c5922-c6a9-11ec-bce3-dac502259ad0.png

我們已經(jīng)對(duì)輸入和層輸出進(jìn)行了標(biāo)準(zhǔn)化,唯一剩下的就是權(quán)重。因?yàn)樗鼈兛梢栽跊](méi)有任何控制的情況下變大,尤其是當(dāng)我們無(wú)論如何都要標(biāo)準(zhǔn)化輸出時(shí)。通過(guò)標(biāo)準(zhǔn)化權(quán)重,我們實(shí)現(xiàn)了更平滑的損失和更穩(wěn)定的訓(xùn)練。

def WeightStand(w, eps=1e-5): # w: input features shape [Cin, Cout, kernel_size, kernel_size] mean = torch.mean(input=w, dim=[0,2,3], keepdim=True) var = torch.var(input=w, dim=[0,2,3], keepdim=True) # mean, var shape : [1, Cout, 1, 1] w = (w - mean) / torch.sqrt(var + eps) return w

權(quán)重的標(biāo)準(zhǔn)化是Group Normalization的一個(gè)很好的輔助。在僅使用一個(gè)樣本的 BN(大批量)情況下,將這些方法結(jié)合起來(lái)會(huì)產(chǎn)生更好的結(jié)果。

72454180-c6a9-11ec-bce3-dac502259ad0.png

除此以外,有人還提出了BCN方法,稱(chēng)為批處理通道規(guī)范化。簡(jiǎn)而言之,每一層同時(shí)使用BN和GN。

總結(jié)

歸一化是深度學(xué)習(xí)中的一個(gè)基本概念。它加快了計(jì)算速度并穩(wěn)定了訓(xùn)練。多年來(lái)發(fā)展了許多不同的技術(shù)。本篇文章整理了目前與它相關(guān)的方法,希望對(duì)你有所幫助

審核編輯 :李倩

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

原文標(biāo)題:深度學(xué)習(xí)中的歸一化技術(shù)全面總結(jié)

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    嵌入式AI技術(shù)深度學(xué)習(xí):數(shù)據(jù)樣本預(yù)處理過(guò)程中使用合適的特征變換對(duì)深度學(xué)習(xí)的意義

    ? 作者:蘇勇Andrew 使用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)機(jī)器學(xué)習(xí),網(wǎng)絡(luò)的每個(gè)層都將對(duì)輸入的數(shù)據(jù)做次抽象,多層神經(jīng)網(wǎng)絡(luò)構(gòu)成深度學(xué)習(xí)的框架,可以深度理解數(shù)
    的頭像 發(fā)表于 04-02 18:21 ?899次閱讀

    歸一化在電機(jī)控制究竟有什么用?(可下載)

    大家好,今天我們來(lái)了解歸一化在電機(jī)控制的作用,那么首先我們需要先了解下歸 的概念,這
    發(fā)表于 02-28 14:14 ?0次下載

    軍事應(yīng)用深度學(xué)習(xí)的挑戰(zhàn)與機(jī)遇

    人工智能尤其是深度學(xué)習(xí)技術(shù)的最新進(jìn)展,加速了不同應(yīng)用領(lǐng)域的創(chuàng)新與發(fā)展。深度學(xué)習(xí)技術(shù)的發(fā)展深刻影響
    的頭像 發(fā)表于 02-14 11:15 ?542次閱讀

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系

    ),是種多層前饋神經(jīng)網(wǎng)絡(luò),它通過(guò)反向傳播算法進(jìn)行訓(xùn)練。BP神經(jīng)網(wǎng)絡(luò)由輸入層、個(gè)或多個(gè)隱藏層和輸出層組成,通過(guò)逐層遞減的方式調(diào)整網(wǎng)絡(luò)權(quán)重,目的是最小網(wǎng)絡(luò)的輸出誤差。 二、深度
    的頭像 發(fā)表于 02-12 15:15 ?869次閱讀

    AI自動(dòng)化生產(chǎn):深度學(xué)習(xí)在質(zhì)量控制的應(yīng)用

    隨著科技的飛速發(fā)展,人工智能(AI)與深度學(xué)習(xí)技術(shù)正逐步滲透到各個(gè)行業(yè),特別是在自動(dòng)化生產(chǎn)中,其潛力與價(jià)值愈發(fā)凸顯。深度學(xué)習(xí)軟件不僅使人工和
    的頭像 發(fā)表于 01-17 16:35 ?702次閱讀
    AI自動(dòng)化生產(chǎn):<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>在質(zhì)量控制<b class='flag-5'>中</b>的應(yīng)用

    GPU在深度學(xué)習(xí)的應(yīng)用 GPUs在圖形設(shè)計(jì)的作用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)作為其核心部分,已經(jīng)成為推動(dòng)技術(shù)進(jìn)步的重要力量。GPU(圖形處理單元)在深度
    的頭像 發(fā)表于 11-19 10:55 ?1639次閱讀

    NPU在深度學(xué)習(xí)的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)作為其核心驅(qū)動(dòng)力之,已經(jīng)在眾多領(lǐng)域展現(xiàn)出了巨大的潛力和價(jià)值。NPU(Neural Processing Unit,神經(jīng)網(wǎng)絡(luò)處理單元)是專(zhuān)門(mén)為
    的頭像 發(fā)表于 11-14 15:17 ?1935次閱讀

    pcie在深度學(xué)習(xí)的應(yīng)用

    深度學(xué)習(xí)模型通常需要大量的數(shù)據(jù)和強(qiáng)大的計(jì)算能力來(lái)訓(xùn)練。傳統(tǒng)的CPU計(jì)算資源有限,難以滿足深度學(xué)習(xí)的需求。因此,GPU(圖形處理單元)和TPU(張量處理單元)等專(zhuān)用硬件應(yīng)運(yùn)而生,它們通過(guò)
    的頭像 發(fā)表于 11-13 10:39 ?1360次閱讀

    深度學(xué)習(xí)模型的魯棒性?xún)?yōu)化

    深度學(xué)習(xí)模型的魯棒性?xún)?yōu)化是個(gè)復(fù)雜但至關(guān)重要的任務(wù),它涉及多個(gè)方面的技術(shù)和策略。以下是些關(guān)鍵的優(yōu)化方法:
    的頭像 發(fā)表于 11-11 10:25 ?1212次閱讀

    GPU深度學(xué)習(xí)應(yīng)用案例

    GPU在深度學(xué)習(xí)的應(yīng)用廣泛且重要,以下是些GPU深度學(xué)習(xí)應(yīng)用案例:
    的頭像 發(fā)表于 10-27 11:13 ?1390次閱讀

    激光雷達(dá)技術(shù)的基于深度學(xué)習(xí)的進(jìn)步

    信息。這使得激光雷達(dá)在自動(dòng)駕駛、無(wú)人機(jī)、機(jī)器人等領(lǐng)域具有廣泛的應(yīng)用前景。 二、深度學(xué)習(xí)技術(shù)的發(fā)展 深度學(xué)習(xí)是機(jī)器
    的頭像 發(fā)表于 10-27 10:57 ?1076次閱讀

    FPGA加速深度學(xué)習(xí)模型的案例

    :DE5Net_Conv_Accelerator 應(yīng)用場(chǎng)景 :面向深度學(xué)習(xí)的開(kāi)源項(xiàng)目,實(shí)現(xiàn)了AlexNet的第層卷積運(yùn)算加速。 技術(shù)特點(diǎn) : 采用了Verilog語(yǔ)言進(jìn)行編程,與P
    的頭像 發(fā)表于 10-25 09:22 ?1248次閱讀

    AI大模型與深度學(xué)習(xí)的關(guān)系

    AI大模型與深度學(xué)習(xí)之間存在著密不可分的關(guān)系,它們互為促進(jìn),相輔相成。以下是對(duì)兩者關(guān)系的介紹: 、深度學(xué)習(xí)是AI大模型的基礎(chǔ)
    的頭像 發(fā)表于 10-23 15:25 ?2906次閱讀

    英偉達(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)基于超球面(hypersphere)進(jìn)行表示
    的頭像 發(fā)表于 10-23 11:30 ?886次閱讀

    FPGA做深度學(xué)習(xí)能走多遠(yuǎn)?

    的發(fā)展前景較為廣闊,但也面臨些挑戰(zhàn)。以下是些關(guān)于 FPGA 在深度學(xué)習(xí)應(yīng)用前景的觀點(diǎn),僅供參考: ? 優(yōu)勢(shì)方面: ? 高度定制
    發(fā)表于 09-27 20:53