自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

機(jī)器學(xué)習(xí):使用批歸一化有哪些缺點(diǎn)?

人工智能 機(jī)器學(xué)習(xí)
批歸一化(Batch Normalization)是深度學(xué)習(xí)領(lǐng)域的重大突破之一,也是近年來(lái)研究人員討論的熱門(mén)話題之一。批歸一化是一種被廣泛采用的技術(shù),能夠使訓(xùn)練更快、更穩(wěn)定,并已成為深度學(xué)習(xí)領(lǐng)域最具影響力的方法之一。然而,它仍然存在一些要注意的問(wèn)題。

 批歸一化(Batch Normalization)是深度學(xué)習(xí)領(lǐng)域的重大突破之一,也是近年來(lái)研究人員討論的熱門(mén)話題之一。批歸一化是一種被廣泛采用的技術(shù),能夠使訓(xùn)練更快、更穩(wěn)定,并已成為深度學(xué)習(xí)領(lǐng)域很具影響力的方法之一。然而,它仍然存在一些要注意的問(wèn)題。

[[326393]]

為什么要使用批歸一化?

什么是批歸一化

在訓(xùn)練深度學(xué)習(xí)模型過(guò)程中,當(dāng)我們更新之前的權(quán)重時(shí),每個(gè)中間激活層的輸出分布在每次迭代中都會(huì)發(fā)生變化。這種現(xiàn)象被稱為內(nèi)部協(xié)變移位(ICS)。為了防止這種情況的發(fā)生,就需要修正所有的分布。簡(jiǎn)單地說(shuō),如果遇到了一些分布移位的問(wèn)題,我們應(yīng)該不讓它們移位,以幫助進(jìn)行梯度優(yōu)化并防止梯度消失,這將有助于我們的神經(jīng)網(wǎng)絡(luò)更快地訓(xùn)練。因此,減少這種ICS是驅(qū)動(dòng)批歸一化發(fā)展的關(guān)鍵原理。

它是怎么運(yùn)行的

批歸一化通過(guò)減去批次上的經(jīng)驗(yàn)均值除以經(jīng)驗(yàn)標(biāo)準(zhǔn)差來(lái)歸一化前一個(gè)輸出層的輸出。這將有助于數(shù)據(jù)看起來(lái)像高斯分布。

 

機(jī)器學(xué)習(xí):使用批歸一化有哪些缺點(diǎn)?

 

其中mu和sigma_square分別是batch均值和batch方差。

 

機(jī)器學(xué)習(xí):使用批歸一化有哪些缺點(diǎn)?

 

我們根據(jù)兩個(gè)可學(xué)習(xí)的參數(shù)γ和β學(xué)習(xí)了新的均值和協(xié)方差。

 

機(jī)器學(xué)習(xí):使用批歸一化有哪些缺點(diǎn)?

 

VGG-16網(wǎng)絡(luò)的中間卷積層的特征分布輸出

好處

我將列舉使用批歸一化的一些好處,但由于涉及到大量的文章,因此我不會(huì)贅述。

  • 收斂更快。
  • 降低了初始權(quán)重的重要性。
  • 對(duì)超參數(shù)的魯棒性。
  • 泛化所需的數(shù)據(jù)更少。

 

機(jī)器學(xué)習(xí):使用批歸一化有哪些缺點(diǎn)?

 

批歸一化的問(wèn)題

回到本文的動(dòng)機(jī),在許多情況下,批歸一化可能會(huì)影響性能或者根本不起作用。

使用小的batch sizes時(shí)不穩(wěn)定

如上所述,批歸一化層必須計(jì)算均值和方差,以便對(duì)整個(gè)batch的前一個(gè)輸出進(jìn)行歸一化。

 

機(jī)器學(xué)習(xí):使用批歸一化有哪些缺點(diǎn)?

 

ResNet-50的批歸一化驗(yàn)證誤差

上面是ResNet-50的驗(yàn)證誤差圖。如果batch size保持為32,那么最終驗(yàn)證誤差將在23左右,并且隨著batch size的減小,誤差會(huì)不斷減小(batch size不能為1,因?yàn)樗旧砭褪蔷?。損失有很大的不同(大約10%)。

如果小batch size是一個(gè)問(wèn)題,為什么我們不使用更大的batch size呢?實(shí)際上,我們不能在每種情況下都使用較大的batch size。在進(jìn)行微調(diào)時(shí),我們不能使用大的batch size,以避免使用大梯度傷害我們的模型。在分布式訓(xùn)練中,大的batch size最終將作為一組小的batch sizes分布在實(shí)例中。

會(huì)導(dǎo)致訓(xùn)練時(shí)間增加

NVIDIA和卡耐基梅隆大學(xué)進(jìn)行的實(shí)驗(yàn)結(jié)果表明,“即使批歸一化不占用大量計(jì)算資源,但收斂所需的總迭代次數(shù)卻減少了。每次迭代的時(shí)間可能會(huì)顯著增加”,并且隨著batch size的增加,訓(xùn)練時(shí)間可能進(jìn)一步增加。

 

機(jī)器學(xué)習(xí):使用批歸一化有哪些缺點(diǎn)?

 

使用Titan X Pascal在ImageNet上的ResNet-50訓(xùn)練時(shí)間分布

如您所見(jiàn),批歸一化消耗了總訓(xùn)練時(shí)間的1/4。原因是因?yàn)榕鷼w一化要求對(duì)輸入數(shù)據(jù)進(jìn)行兩次迭代:一次用于計(jì)算batch統(tǒng)計(jì)信息,另一次用于對(duì)輸出進(jìn)行歸一化。

在測(cè)試/推斷階段不穩(wěn)定

例如,考慮實(shí)際應(yīng)用程序:“對(duì)象檢測(cè)”。在訓(xùn)練對(duì)象檢測(cè)器時(shí),我們通常使用大的batch size(默認(rèn)情況下,YOLOv4和Faster-RCNN都以batch size= 64進(jìn)行訓(xùn)練)。但是在將這些深度學(xué)習(xí)模型投入生產(chǎn)后,這些模型并不像訓(xùn)練時(shí)那么有效。這是因?yàn)樗鼈兪怯么蟮腷atch size進(jìn)行訓(xùn)練的,而在實(shí)時(shí)情況下,它們得到的batch size等于1,因?yàn)樗仨毺幚砻恳粠H缜八?,?dāng)使用batch size為1時(shí),它本身就是均值,因此歸一化層將無(wú)法有效地處理所謂的“內(nèi)部協(xié)變移位”。

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

與batch學(xué)習(xí)相比,在線學(xué)習(xí)是一種學(xué)習(xí)技術(shù),通過(guò)依次(或單獨(dú)地,或通過(guò)稱為mini-batches的small groups)向系統(tǒng)提供數(shù)據(jù)實(shí)例,對(duì)系統(tǒng)進(jìn)行增量式訓(xùn)練。每一個(gè)學(xué)習(xí)步驟既快速又廉價(jià),因此系統(tǒng)可以在新數(shù)據(jù)到達(dá)時(shí)動(dòng)態(tài)地學(xué)習(xí)新數(shù)據(jù)。

 

機(jī)器學(xué)習(xí):使用批歸一化有哪些缺點(diǎn)?

 

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

由于它依賴于外部數(shù)據(jù)源,數(shù)據(jù)可以單獨(dú)到達(dá),也可以成批到達(dá)。由于每次迭代中batch size的變化,它不能很好地概括輸入數(shù)據(jù)的規(guī)模和shift,這最終會(huì)影響性能。

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

在卷積神經(jīng)網(wǎng)絡(luò)中,盡管批歸一化可以顯著提高訓(xùn)練速度和泛化能力,但事實(shí)證明,它們很難應(yīng)用于循環(huán)體系結(jié)構(gòu)。批歸一化可以應(yīng)用于RNN的堆棧之間,其中歸一化是“垂直”應(yīng)用(即每個(gè)RNN的輸出),但是它不能“水平”應(yīng)用(即在時(shí)間步之間),因?yàn)橹貜?fù)的rescaling會(huì)導(dǎo)致梯度爆炸。

備選方案

在無(wú)法進(jìn)行批歸一化的情況下,可以使用以下幾種替代方法:

  • 層歸一化。
  • 實(shí)例歸一化。
  • 組歸一化(+權(quán)重標(biāo)準(zhǔn)化)。
  • 同步批歸一化。

最后

批歸一化盡管是深度學(xué)習(xí)開(kāi)發(fā)中的一個(gè)里程碑技術(shù),但是它仍會(huì)有一些問(wèn)題,這表明歸一化技術(shù)仍有改進(jìn)的空間。

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2017-05-19 14:05:37

深度學(xué)習(xí)批歸一化技術(shù)

2023-09-26 10:17:35

樓宇自動(dòng)化傳感器

2020-06-18 16:05:20

機(jī)器學(xué)習(xí)人工智能算法

2021-08-18 14:59:43

機(jī)器人人工智能技術(shù)

2022-06-14 23:23:29

區(qū)塊鏈比特幣數(shù)據(jù)庫(kù)

2022-03-13 23:15:58

區(qū)塊鏈比特幣加密貨幣

2021-03-07 16:45:42

RPAAI機(jī)器人自動(dòng)化

2022-04-27 22:47:31

深度學(xué)習(xí)歸一化技術(shù)

2017-07-19 13:08:27

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2020-10-16 09:09:20

機(jī)器學(xué)習(xí)銀行技術(shù)

2017-07-21 12:52:32

人工智能機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

2023-04-14 15:02:55

機(jī)器學(xué)習(xí)算法

2021-08-19 15:46:08

機(jī)器人人工智能機(jī)器學(xué)習(xí)

2017-10-24 12:17:42

2017-10-24 06:12:50

機(jī)器學(xué)習(xí)數(shù)據(jù)集編程

2010-07-13 17:02:18

SQL Server

2017-02-27 14:24:12

機(jī)器學(xué)習(xí)深度學(xué)習(xí)數(shù)學(xué)

2017-12-28 09:22:24

機(jī)器學(xué)習(xí)應(yīng)用生活

2019-01-24 13:40:58

機(jī)器學(xué)習(xí)深度學(xué)習(xí)人工智能

2018-12-17 09:10:52

機(jī)器學(xué)習(xí)TensorFlow容器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)