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

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

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

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

batch normalization時的一些缺陷

深度學(xué)習(xí)自然語言處理 ? 來源:深度學(xué)習(xí)自然語言處理 ? 作者:Sahil Uppal ? 2020-11-03 17:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

導(dǎo)讀

batch normalization時的一些缺陷。

Batch Normalization確實是深度學(xué)習(xí)領(lǐng)域的重大突破之一,也是近年來研究人員討論的熱點之一。Batch Normalization是一種被廣泛采用的技術(shù),使訓(xùn)練更加快速和穩(wěn)定,已成為最有影響力的方法之一。然而,盡管它具有多種功能,但仍有一些地方阻礙了該方法的發(fā)展,正如我們將在本文中討論的那樣,這表明做歸一化的方法仍有改進的余地。

我們?yōu)槭裁匆肂atch Normalization?

在討論任何事情之前,首先,我們應(yīng)該知道Batch Normalization是什么,它是如何工作的,并討論它的用例。

什么是Batch Normalization

在訓(xùn)練過程中,當我們更新之前的權(quán)值時,每個中間激活層的輸出分布會在每次迭代時發(fā)生變化。這種現(xiàn)象稱為內(nèi)部協(xié)變量移位(ICS)。所以很自然的一件事,如果我想防止這種情況發(fā)生,就是修正所有的分布。簡單地說,如果我的分布變動了,我會限制住這個分布,不讓它移動,以幫助梯度優(yōu)化和防止梯度消失,這將幫助我的神經(jīng)網(wǎng)絡(luò)訓(xùn)練更快。因此減少這種內(nèi)部協(xié)變量位移是推動batch normalization發(fā)展的關(guān)鍵原則。

它如何工作

Batch Normalization通過在batch上減去經(jīng)驗平均值除以經(jīng)驗標準差來對前一個輸出層的輸出進行歸一化。這將使數(shù)據(jù)看起來像高斯分布。

其中μ和*σ^2^*分別為批均值和批方差。

并且,我們學(xué)習(xí)了一個新的平均值和協(xié)方差γ和β。所以,簡而言之,你可以認為batch normalization是幫助你控制batch分布的一階和二階動量。

vgg16網(wǎng)絡(luò)的中間卷積層的特征分布輸出。(左)沒有任何歸一化,(右)應(yīng)用了batch normalization

優(yōu)點

我將列舉使用batch normalization的一些好處,但是我不會詳細介紹,因為已經(jīng)有很多文章討論了這個問題。

更快的收斂。

降低初始權(quán)重的重要性。

魯棒的超參數(shù)。

需要較少的數(shù)據(jù)進行泛化。

1. 更快的收斂,2. 對超參數(shù)更魯棒

Batch Normalization的詛咒

好,讓我們回到本文的出發(fā)點,在許多情況下batch normalization開始傷害性能或根本不起作用。

在使用小batch size的時候不穩(wěn)定

如上所述,batch normalization必須計算平均值和方差,以便在batch中對之前的輸出進行歸一化。如果batch大小比較大的話,這種統(tǒng)計估計是比較準確的,而隨著batch大小的減少,估計的準確性持續(xù)減小。

ResNet-50在Batch Norm使用32、16、8、4、2張/GPU圖像時的驗證錯誤

以上是ResNet-50的驗證錯誤圖??梢酝茢?,如果batch大小保持為32,它的最終驗證誤差在23左右,并且隨著batch大小的減小,誤差會繼續(xù)減小(batch大小不能為1,因為它本身就是平均值)。損失有很大的不同(大約10%)。

如果batch大小是一個問題,為什么我們不使用更大的batch?我們不能在每種情況下都使用更大的batch。在finetune的時候,我們不能使用大的batch,以免過高的梯度對模型造成傷害。在分布式訓(xùn)練的時候,大的batch最終將作為一組小batch分布在各個實例中。

導(dǎo)致訓(xùn)練時間的增加

NVIDIA和卡耐基梅隆大學(xué)進行的實驗結(jié)果表明,“盡管Batch Normalization不是計算密集型,而且收斂所需的總迭代次數(shù)也減少了?!钡敲總€迭代的時間顯著增加了,而且還隨著batch大小的增加而進一步增加。

ResNet-50 在ImageNet上使用 Titan X Pascal

你可以看到,batch normalization消耗了總訓(xùn)練時間的1/4。原因是batch normalization需要通過輸入數(shù)據(jù)進行兩次迭代,一次用于計算batch統(tǒng)計信息,另一次用于歸一化輸出。

訓(xùn)練和推理時不一樣的結(jié)果

例如,在真實世界中做“物體檢測”。在訓(xùn)練一個物體檢測器時,我們通常使用大batch(YOLOv4和Faster-RCNN都是在默認batch大小= 64的情況下訓(xùn)練的)。但在投入生產(chǎn)后,這些模型的工作并不像訓(xùn)練時那么好。這是因為它們接受的是大batch的訓(xùn)練,而在實時情況下,它們的batch大小等于1,因為它必須一幀幀處理。考慮到這個限制,一些實現(xiàn)傾向于基于訓(xùn)練集上使用預(yù)先計算的平均值和方差。另一種可能是基于你的測試集分布計算平均值和方差值。

對于在線學(xué)習(xí)不好

與batch學(xué)習(xí)相比,在線學(xué)習(xí)是一種學(xué)習(xí)技術(shù),在這種技術(shù)中,系統(tǒng)通過依次向其提供數(shù)據(jù)實例來逐步接受訓(xùn)練,可以是單獨的,也可以是通過稱為mini-batch的小組進行。每個學(xué)習(xí)步驟都是快速和便宜的,所以系統(tǒng)可以在新的數(shù)據(jù)到達時實時學(xué)習(xí)。

典型的在線學(xué)習(xí)pipeline

由于它依賴于外部數(shù)據(jù)源,數(shù)據(jù)可能單獨或批量到達。由于每次迭代中batch大小的變化,對輸入數(shù)據(jù)的尺度和偏移的泛化能力不好,最終影響了性能。

對于循環(huán)神經(jīng)網(wǎng)絡(luò)不好

雖然batch normalization可以顯著提高卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和泛化速度,但它們很難應(yīng)用于遞歸結(jié)構(gòu)。batch normalization可以應(yīng)用于RNN堆棧之間,其中歸一化是“垂直”應(yīng)用的,即每個RNN的輸出。但是它不能“水平地”應(yīng)用,例如在時間步之間,因為它會因為重復(fù)的重新縮放而產(chǎn)生爆炸性的梯度而傷害到訓(xùn)練。

[^注]: 一些研究實驗表明,batch normalization使得神經(jīng)網(wǎng)絡(luò)容易出現(xiàn)對抗漏洞,但我們沒有放入這一點,因為缺乏研究和證據(jù)。

可替換的方法

這就是使用batch normalization的一些缺點。在batch normalization無法很好工作的情況下,有幾種替代方法。

Layer Normalization

Instance Normalization

Group Normalization (+ weight standardization)

Synchronous Batch Normalization

總結(jié)

所以,看起來訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)很簡單,但我不認為它很容易。從這個意義上說,我可以選擇的架構(gòu)很少,每個模型都有固定的學(xué)習(xí)速度,固定的優(yōu)化器和固定的技巧。這些技巧是通過自然選擇選擇的,就像有人想出了一些技巧,人們引入之后如果有效,就會保留,如果無效,人們最終會忘記,并沒有人再去使用它。除此之外,batch normalization是深度學(xué)習(xí)發(fā)展中的一個里程碑技術(shù)。然而,正如前面所討論的,沿著batch 維度進行歸一化引入了一些問題,這表明歸一化技術(shù)仍有改進的空間。

責(zé)任編輯:xj

原文標題:【重點】Batch Normalization的詛咒

文章出處:【微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    8

    文章

    7347

    瀏覽量

    95001
  • Batch
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    7417
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5603

    瀏覽量

    124606

原文標題:【重點】Batch Normalization的詛咒

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始實現(xiàn)中的一些功能?

    )。 如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始實現(xiàn)中的一些功能。 Example: I do not want to call arm_mat_trans_q15 powerquad
    發(fā)表于 04-03 06:37

    時鐘緩沖器的一些主要應(yīng)用領(lǐng)域介紹

    電子設(shè)備和通信系統(tǒng)中都有廣泛的應(yīng)用,以下是一些主要的應(yīng)用領(lǐng)域介紹:1.計算機與外設(shè)接口計算機內(nèi)部的各種硬件設(shè)備需要通過總線相互通信,而這些設(shè)備的時鐘信號通常是非常不穩(wěn)
    的頭像 發(fā)表于 04-02 16:30 ?8534次閱讀
    時鐘緩沖器的<b class='flag-5'>一些</b>主要應(yīng)用領(lǐng)域介紹

    爬壁機器人磁鐵的一些常見問題

    爬壁機器人近幾年比較火,它是類能夠在垂直墻面、天花板、傾斜表面上移動和作業(yè)的特種機器人,今天我們不聊其它,只聊下關(guān)于磁吸附應(yīng)用中的磁鐵,以下是小編整理的關(guān)于爬壁機器人中磁鐵的一些常見問題。
    的頭像 發(fā)表于 01-09 10:06 ?398次閱讀
    爬壁機器人磁鐵的<b class='flag-5'>一些</b>常見問題

    在并聯(lián)使用MOS存在一些問題,要怎樣做才能避免這些問題?

    在并聯(lián)使用MOS存在一些問題,那我們要怎樣做才能避免這些問題? 首先,器件的致性定要好。 在功率MOSFET多管并聯(lián)時,器件內(nèi)部參數(shù)的微小差異就會引起并聯(lián)各支路電流的不平衡而導(dǎo)致單管過流損壞。 其次是功率。如果功率高于25%
    發(fā)表于 12-10 08:19

    關(guān)于六類網(wǎng)線一些問題的解答

    今天我們就圍繞網(wǎng)友一些常見的關(guān)于六類網(wǎng)線的問題進行下匯總式解答: 問 六類網(wǎng)線可以當電源用嗎? 答 六類網(wǎng)線并不是設(shè)計用于傳輸電力的電纜,因此般不建議將其用于電源傳輸。 盡管六類網(wǎng)線的線芯可以
    的頭像 發(fā)表于 12-09 11:13 ?740次閱讀

    貼片電容精度J±5%的一些詳細知識

    貼片電容精度J±5%表示電容的實際值與標稱值之間的偏差范圍在±5%以內(nèi) ,以下是關(guān)于貼片電容精度J±5%的一些詳細知識: 、精度等級含義 J±5% :字母“J”在貼片電容的標識中通常表示標稱精度
    的頭像 發(fā)表于 11-20 14:38 ?932次閱讀
    貼片電容精度J±5%的<b class='flag-5'>一些</b>詳細知識

    對浮點指令擴展中一些問題的解決與分享

    出現(xiàn)無法寫的情況。 結(jié)論 以上就是我們組在擴展浮點指令中出現(xiàn)的一些問題,這些問題總體上歸結(jié)于對蜂鳥的代碼沒有整體性的把握,對內(nèi)容的掌握程度還不夠。在后續(xù)的工作中應(yīng)注意理清功能的整體架構(gòu)而對所有的相關(guān)部分進行修改。
    發(fā)表于 10-24 11:47

    蜂鳥E203的浮點指令集F的一些實現(xiàn)細節(jié)

    蜂鳥E203的浮點指令集F的一些實現(xiàn)細節(jié) 既然E203不是多發(fā)射,且為了節(jié)省面積,一些指令使用FPU內(nèi)的同個子模塊來執(zhí)行,即FPU同時只能進行種計算,我們只在FPU內(nèi)部署了11個
    發(fā)表于 10-24 08:57

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

    本帖欲分享在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的一些經(jīng)驗。我們采用jupyter notebook作為開發(fā)IDE,以TensorFlow2為訓(xùn)練框架,目標是訓(xùn)練個手寫數(shù)字識別的神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 10-22 07:03

    求助,關(guān)于TC387使能以及配置SOTA 中一些問題求解

    你好, 之前我拿到貴司給個demo,里面有一些使能以及配置SWAP的代碼, 這里有些疑問 問題1. 判斷SOTA功能是否生效,demo中使用的是 SCU_STMEM1中的bit位, 代碼如下
    發(fā)表于 08-08 07:31

    射頻工程師需要知道的一些常見轉(zhuǎn)接頭

    ,是由于轉(zhuǎn)接頭的損壞造成的,而且有些接頭的連接固定的方式不對,每次修好的儀器,過去后客戶又按照他們原來的方式去擰緊了。特別是在一些生產(chǎn)型的企業(yè),由于操作人員流動性比較
    的頭像 發(fā)表于 08-06 17:39 ?1499次閱讀
    射頻工程師需要知道的<b class='flag-5'>一些</b>常見轉(zhuǎn)接頭

    關(guān)于芯片設(shè)計的一些基本知識

    芯片的設(shè)計理念眾所周知,芯片擁有極為復(fù)雜的結(jié)構(gòu)。以英偉達的B200芯片為例,在巴掌大的面積上,塞入了2080億個晶體管。里面的布局,堪稱個異次元空間級的迷宮。英偉達B200芯片如此復(fù)雜的架構(gòu)
    的頭像 發(fā)表于 06-11 12:16 ?1477次閱讀
    關(guān)于芯片設(shè)計的<b class='flag-5'>一些</b>基本知識

    Debian和Ubuntu哪個好一些?

    兼容性對比Debian和Ubuntu哪個好一些,并為您揭示如何通過RAKsmart服務(wù)器釋放Linux系統(tǒng)的最大潛能。
    的頭像 發(fā)表于 05-07 10:58 ?1389次閱讀

    在FX2LP USB上配置GPIF中斷時遇到一些問題,求解決

    你好,我在 FX2LP USB 上配置 GPIF 中斷時遇到一些問題。 我啟用了 INT4 中斷并從 GPIF 中選擇了源 INT4,然后啟用了 GPIF 完成中斷,但我看不到中斷 4 工作。 我該如何做呢?
    發(fā)表于 05-06 08:00

    如何添加一些網(wǎng)絡(luò)上的庫到mpy固件的說明或手冊教程?

    下有沒有關(guān)于如何添加一些網(wǎng)絡(luò)上的庫到mpy固件的說明或手冊教程? 問題2: 關(guān)于mpy的image庫在哪里能了解學(xué)習(xí)內(nèi)部代碼,只了解一些python,想知道怎么從c轉(zhuǎn)換成mpy能調(diào)用的,自己寫的c也能轉(zhuǎn)成py調(diào)用
    發(fā)表于 04-29 08:16