在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

全面總結深度學習中的歸一化技術

新機器視覺 ? 來源:DeepHub IMBA ? 作者:Maciej Balawejder ? 2022-04-28 15:29 ? 次閱讀

訓練深度神經網絡是一項具有挑戰性的任務。多年來,研究人員提出了不同的方法來加速和穩定學習過程。歸一化是一種被證明在這方面非常有效的技術。

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

在這篇文章中,我將使用類比和可視化的方式來回顧這些方法中,這將幫助您了解它們的產生的原因和思維過程。

為什么要歸一化?

例如,我們現在用兩個特征構建一個簡單的神經網絡模型。這兩個特征一個是年齡:范圍在 0 到 65 之間,另一個是工資:范圍從 0 到 10 000。我們將這些特征提供給模型并計算梯度。

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

不同規模的輸入導致不同的權重更新和優化器的步驟向最小值的方向不均衡。這也使損失函數的形狀不成比例。在這種情況下,就需要使用較低的學習速率來避免過沖,這就意味著較慢的學習過程。

所以我們的解決方案是輸入進行歸一化,通過減去平均值(定心)并除以標準偏差來縮小特征。

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

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

此過程也稱為“漂白”,處理后所有的值具有 0 均值和單位方差,這樣可以提供更快的收斂和更穩定的訓練。

這是一個很好的解決方案,那么為什么我們不規范化網絡中每一層的激活呢?

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

Batch Normalization

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

2015 年,Sergey Ioffe 和 Christian Szegedy[3] 采用了這個想法來解決內部協變量偏移問題。以前輸入層分布由于權值的更新而不斷變化。所以下面的層總是需要適應新的分布,它會導致收斂速度變慢和訓練不穩定。

批量標準化提供了一種控制和優化每一層之后的分布的方法。該過程與輸入歸一化相同,但我們添加了兩個可學習的參數,γ 和 β。

通過代碼來說明要比枯燥的公式好的多,所以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

這兩個參數是通過反向傳播沿著網絡學習的。他們通過縮放(γ)和移動(β)激活優化分布。

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

由于有固定的分布,所以可以提高學習率并加快收斂速度。除了計算提升之外,BN 還可以作為一種正則化技術。數據集統計數據的近似產生的噪聲消除了對 Dropout 的需要。

但這是一把雙刃劍。這種估計僅適用于較大的批次。當批次數量較少時,性能會急劇下降。

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

BN 的另一個缺點是對于批處理的依賴。如果我們傳遞了單個樣本而不是批量的樣本,網絡必須使用預先計算的訓練均值和方差,這可能會導致不同的結果。

這個問題的重要性促使人們創建替代方法以避免對批處理的依賴。

Layer Normalization

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

這是Geoffrey E. Hinton等人在2016年[4]中首次嘗試減少對批大小的約束。提出這個方法的主要原因是無法找到將BN應用于遞歸神經網絡,需要找到一個替代的方法。

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

在深度神經網絡中,由于層數是固定的,因此很容易存儲每個 BN 層的統計信息。然而在 RNN 中,輸入和輸出形狀的長度不同。因此,在這種情況下,最好使用單個時間步長(樣本)而不是整個批次的統計信息進行標準化。

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) 中的每個示例都在 [C, H, W] 維度上進行了歸一化。與 BN 一樣,它可以加速和穩定訓練,并且不受批次的限制。此方法可用于批量為 1 的在線學習任務。

Instance Normalization

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

Dmitry Ulyanov 等人在 2016 年的論文 [5] 中介紹了Instance Normalization。這是另一種嘗試減少對批處理的依賴以改善樣式傳輸網絡的結果。

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

跨批次和通道的標準化允許從圖像中刪除特定的對比度信息,這有助于泛化。

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

Group Normalization

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

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

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

GN 可以理解為Layer 和Instance的混合。GN 將通道分成組并在它們之間進行標準化。該方案使計算獨立于批量大小。

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 優于在小批量上訓練的 BN,但無法擊敗大批量的結果,但是這是一個很好的起點。

上面的針對于激活的歸一化方法我們基本上都聽說過也經常會用到,下面我們來介紹針對權重的歸一化方法。

Weight Standardization

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

我們已經對輸入和層輸出進行了標準化,唯一剩下的就是權重。因為它們可以在沒有任何控制的情況下變大,尤其是當我們無論如何都要標準化輸出時。通過標準化權重,我們實現了更平滑的損失和更穩定的訓練。

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

權重的標準化是Group Normalization的一個很好的輔助。在僅使用一個樣本的 BN(大批量)情況下,將這些方法結合起來會產生更好的結果。

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

除此以外,有人還提出了BCN方法,稱為批處理通道規范化。簡而言之,每一層同時使用BN和GN。

總結

歸一化是深度學習中的一個基本概念。它加快了計算速度并穩定了訓練。多年來發展了許多不同的技術。本篇文章整理了目前與它相關的方法,希望對你有所幫助

審核編輯 :李倩

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

    關注

    42

    文章

    4776

    瀏覽量

    100952
  • 數據集
    +關注

    關注

    4

    文章

    1208

    瀏覽量

    24749

原文標題:深度學習中的歸一化技術全面總結

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    GPU在深度學習的應用 GPUs在圖形設計的作用

    隨著人工智能技術的飛速發展,深度學習作為其核心部分,已經成為推動技術進步的重要力量。GPU(圖形處理單元)在深度
    的頭像 發表于 11-19 10:55 ?614次閱讀

    NPU在深度學習的應用

    隨著人工智能技術的飛速發展,深度學習作為其核心驅動力之,已經在眾多領域展現出了巨大的潛力和價值。NPU(Neural Processing Unit,神經網絡處理單元)是專門為
    的頭像 發表于 11-14 15:17 ?726次閱讀

    深度學習模型的魯棒性優化

    深度學習模型的魯棒性優化是個復雜但至關重要的任務,它涉及多個方面的技術和策略。以下是些關鍵的優化方法:
    的頭像 發表于 11-11 10:25 ?328次閱讀

    激光雷達技術的基于深度學習的進步

    信息。這使得激光雷達在自動駕駛、無人機、機器人等領域具有廣泛的應用前景。 二、深度學習技術的發展 深度學習是機器
    的頭像 發表于 10-27 10:57 ?452次閱讀

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 深度學習是AI大模型的基礎
    的頭像 發表于 10-23 15:25 ?1024次閱讀

    英偉達推出歸一化Transformer,革命性提升LLM訓練速度

    英偉達團隊近日在AI領域投下了枚震撼彈,他們提出了種全新的神經網絡架構——歸一化Transformer(nGPT)。這創新架構基于超球面(hypersphere)進行表示
    的頭像 發表于 10-23 11:30 ?409次閱讀

    FPGA做深度學習能走多遠?

    的發展前景較為廣闊,但也面臨些挑戰。以下是些關于 FPGA 在深度學習應用前景的觀點,僅供參考: ? 優勢方面: ? 高度定制
    發表于 09-27 20:53

    啟明智顯:深度融合AI技術,引領硬件產品全面智能升級

    啟明智顯,作為AI領域的先行者,正以前所未有的決心和行動力,深度融合先進的人工智能技術,引領硬件產品全面智能升級
    的頭像 發表于 07-18 16:11 ?426次閱讀
    啟明智顯:<b class='flag-5'>深度</b>融合AI<b class='flag-5'>技術</b>,引領硬件產品<b class='flag-5'>全面</b>智能<b class='flag-5'>化</b>升級

    深度學習反卷積的原理和應用

    像分割、圖像重建和生成對抗網絡(GANs)等,反卷積展現出了其獨特的優勢和廣泛的應用前景。本文將詳細探討深度學習的反卷積技術,包括其定義、原理、實現方式、應用場景以及與其他上采樣方法
    的頭像 發表于 07-14 10:22 ?2087次閱讀

    深度學習模型的過擬合與正則

    測試數據或新數據上表現不佳的現象。為了解決這個問題,正則(Regularization)技術應運而生,成為深度學習不可或缺的
    的頭像 發表于 07-09 15:56 ?1052次閱讀

    深度學習的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學習深度學習領域的重要任務之,廣泛應用于人體活動識別、系統監測、金融預測、醫療診斷等多個領域。隨
    的頭像 發表于 07-09 15:54 ?1071次閱讀

    深度學習的無監督學習方法綜述

    深度學習作為機器學習領域的個重要分支,近年來在多個領域取得了顯著的成果,特別是在圖像識別、語音識別、自然語言處理等領域。然而,深度
    的頭像 發表于 07-09 10:50 ?846次閱讀

    深度學習在視覺檢測的應用

    深度學習是機器學習領域中的個重要分支,其核心在于通過構建具有多層次的神經網絡模型,使計算機能夠從大量數據自動
    的頭像 發表于 07-08 10:27 ?796次閱讀

    深度學習的模型權重

    深度學習充滿無限可能性的領域中,模型權重(Weights)作為其核心組成部分,扮演著至關重要的角色。它們不僅是模型學習的基石,更是模型智能的源泉。本文將從模型權重的定義、作用、優
    的頭像 發表于 07-04 11:49 ?1589次閱讀

    深度學習在自動駕駛的關鍵技術

    隨著人工智能技術的飛速發展,自動駕駛技術作為其中的重要分支,正逐漸走向成熟。在自動駕駛系統深度學習
    的頭像 發表于 07-01 11:40 ?818次閱讀
    主站蜘蛛池模板: 久久综合九色综合欧洲| 国产美女主播在线| 四虎精品影院在线观看视频| 五月天婷婷色图| 特黄特黄aaaa级毛片免费看| 色资源窝窝全色| 日韩成人免费一级毛片| 女人张开腿双腿让男人桶| 狠狠涩| 成年人黄色免费网站| 亚色在线| 久草天堂| 亚洲一区免费看| 亚洲欧美成人综合久久久| 色爽女视频| 久久久国产精品网站| ass嫩美女胴体| 深夜久久| 黄色网视频| 亚洲特级毛片| 欧美色图色就是色| 成人网在线视频| 美女被日出白浆| 又粗又长又色又爽视频| 亚洲三级免费观看| 欧美天天性| 99久久亚洲国产高清观看| 久久香蕉国产线看观看亚洲片| 欧美午夜性春猛xxxx| 国产精品色婷婷在线观看| 日韩三级在线免费观看| 国产精品激情综合久久| 欧美疯狂爱爱xxxxbbbb| 亚洲一区二区三区四区在线| 午夜啪视频| 黄色尤物| 天天艹综合| 中文字幕二区| 四虎精品视频| 成人国产在线视频| v视界影院最新地址|