chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

為什么要歸一化?

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

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

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

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

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

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

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

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

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

Batch Normalization

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

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

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

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

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

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

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

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

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

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

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

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 一樣,它可以加速和穩(wěn)定訓練,并且不受批次的限制。此方法可用于批量為 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 優(yōu)于在小批量上訓練的 BN,但無法擊敗大批量的結果,但是這是一個很好的起點。

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

Weight Standardization

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

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

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

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

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

總結

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

審核編輯 :李倩

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

    關注

    42

    文章

    4829

    瀏覽量

    106853
  • 數據集
    +關注

    關注

    4

    文章

    1232

    瀏覽量

    26059

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【團購】獨家全套珍藏!龍哥LabVIEW視覺深度學習實戰(zhàn)課(11大系列課程,共5000+分鐘)

    強化 無監(jiān)督學習應用:無需NG樣本的缺陷檢測方案,解決工業(yè)數據標注難題 多模態(tài)融合技術:PaddleOCR+YOLOv8聯動方案,實現\"文字識別+缺陷定位\"一體化 團購課程大綱
    發(fā)表于 12-04 09:28

    【團購】獨家全套珍藏!龍哥LabVIEW視覺深度學習實戰(zhàn)可(11大系列課程,共5000+分鐘)

    \"),通過后解鎖下階段內容 2. 老手(包含資深工程師) 1)技術盲區(qū)突破 傳統視覺進階:九點標定誤差補償、手眼協調動態(tài)精度優(yōu)化等高級技巧,提升系統穩(wěn)定性 深度學習落地:模型輕量化
    發(fā)表于 12-03 13:50

    構建CNN網絡模型并優(yōu)化的一般化建議

    通過實踐,本文總結了構建CNN網絡模型并優(yōu)化的一般化建議,這些建議將會在構建高準確率輕量級CNN神經網絡模型方面提供幫助。 1)避免單層神經網絡:我們清楚神經網絡本身是需要不斷抽象出更高級別的紋理
    發(fā)表于 10-28 08:02

    如何在機器視覺中部署深度學習神經網絡

    人士而言往往難以理解,人們也常常誤以為需要扎實的編程技能才能真正掌握并合理使用這項技術。事實上,這種印象忽視了該技術為機器視覺(乃至生產自動)帶來的潛力,因為深度
    的頭像 發(fā)表于 09-10 17:38 ?717次閱讀
    如何在機器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學習</b>神經網絡

    深度學習對工業(yè)物聯網有哪些幫助

    、實施路徑三個維度展開分析: 、深度學習如何突破工業(yè)物聯網的技術瓶頸? 1. 非結構數據處理:解鎖“沉睡數據”價值 傳統困境 :工業(yè)物聯
    的頭像 發(fā)表于 08-20 14:56 ?779次閱讀

    自動駕駛Transformer大模型會取代深度學習嗎?

    [首發(fā)于智駕最前沿微信公眾號]近年來,隨著ChatGPT、Claude、文心言等大語言模型在生成文本、對話交互等領域的驚艷表現,“Transformer架構是否正在取代傳統深度學習”這
    的頭像 發(fā)表于 08-13 09:15 ?3940次閱讀
    自動駕駛<b class='flag-5'>中</b>Transformer大模型會取代<b class='flag-5'>深度</b><b class='flag-5'>學習</b>嗎?

    從接口到架構:工控體機定制深度技術剖析

    在工業(yè)4.0與數字轉型的浪潮,工控體機作為工業(yè)自動與信息融合的核心載體,正通過深度定制
    的頭像 發(fā)表于 06-17 16:47 ?398次閱讀

    深度學習賦能:正面吊車載箱號識別系統的核心技術

    在現代物流與智慧港口建設,集裝箱的高效精準識別是提升作業(yè)效率的關鍵環(huán)節(jié)?;贠CR+AI深度學習技術的正面吊車載箱號識別系統,憑借99%以上的識別率和毫秒級響應速度,正成為港口自動
    的頭像 發(fā)表于 05-07 10:10 ?439次閱讀

    嵌入式AI技術深度學習:數據樣本預處理過程中使用合適的特征變換對深度學習的意義

    ? 作者:蘇勇Andrew 使用神經網絡實現機器學習,網絡的每個層都將對輸入的數據做次抽象,多層神經網絡構成深度學習的框架,可以深度理解數
    的頭像 發(fā)表于 04-02 18:21 ?1295次閱讀

    行業(yè)首創(chuàng):基于深度學習視覺平臺的AI驅動輪胎檢測自動

    全球領先的輪胎制造商 NEXEN TIRE 在其輪胎生產檢測過程中使用了基于友思特伙伴Neurocle開發(fā)的AI深度學習視覺平臺,實現缺陷檢測率高達99.96%,是該行業(yè)首個使用AI平臺技術推動缺陷檢測自動
    的頭像 發(fā)表于 03-19 16:51 ?791次閱讀
    行業(yè)首創(chuàng):基于<b class='flag-5'>深度</b><b class='flag-5'>學習</b>視覺平臺的AI驅動輪胎檢測自動<b class='flag-5'>化</b>

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

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

    軍事應用深度學習的挑戰(zhàn)與機遇

    人工智能尤其是深度學習技術的最新進展,加速了不同應用領域的創(chuàng)新與發(fā)展。深度學習技術的發(fā)展深刻影響
    的頭像 發(fā)表于 02-14 11:15 ?828次閱讀

    技術攜手DeepSeek大模型,共鑄工業(yè)數智新篇章

    逐步融入技術的工業(yè)AI產品,為企業(yè)研、產、供、銷、服、支持保障等全方位領域注入AI動力。 技術此次與DeepSeek的合作,不僅是
    的頭像 發(fā)表于 02-13 10:17 ?1061次閱讀

    BP神經網絡與深度學習的關系

    ),是種多層前饋神經網絡,它通過反向傳播算法進行訓練。BP神經網絡由輸入層、個或多個隱藏層和輸出層組成,通過逐層遞減的方式調整網絡權重,目的是最小網絡的輸出誤差。 二、深度
    的頭像 發(fā)表于 02-12 15:15 ?1368次閱讀

    AI自動化生產:深度學習在質量控制的應用

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