成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【深度學(xué)習(xí)】批歸一化(BatchNorm)與層歸一化(LayerNorm):技術(shù)背景、原理及基于Pytorch的代碼詳解

發(fā)布于 2025-6-23 06:40
瀏覽
0收藏

批歸一化(Batch Normalization)和層歸一化(Layer Normalization)是深度學(xué)習(xí)中廣泛應(yīng)用的兩種數(shù)據(jù)歸一化方法,用于改善神經(jīng)網(wǎng)絡(luò)的訓(xùn)練性能。本文將從提出這兩種技術(shù)的原論文出發(fā),詳細(xì)闡述技術(shù)背景、原理及基于Pytorch的實(shí)現(xiàn)方式。

1.批歸一化(Batch Normalization)

批歸一化由谷歌的Sergey Ioffe和Christian Szegedy于2015年在論文“Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift”中提出。

(1)技術(shù)背景:深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練十分復(fù)雜,因?yàn)樵谟?xùn)練過程中隨著前一層網(wǎng)絡(luò)參數(shù)的變化,下一層網(wǎng)絡(luò)的輸入分布也會(huì)發(fā)生變化。而更低的學(xué)習(xí)率和更精細(xì)的參數(shù)初始化又會(huì)減慢模型訓(xùn)練速度,特別是會(huì)讓具有飽和非線性的模型收斂變得十分困難,如使用Sigmoid激活函數(shù)時(shí),容易陷入梯度消失之中。

Ps:飽和非線性是指激活函數(shù)在輸入值較大或較小時(shí),其輸出趨于恒定,導(dǎo)數(shù)接近于零的現(xiàn)象,如Sigmoid和Tanh激活函數(shù)。

(2)技術(shù)原理:批歸一化則是通過標(biāo)準(zhǔn)化輸入來解決上述問題,將歸一化作為模型架構(gòu)的一部分,對每次訓(xùn)練中的小批量樣本執(zhí)行歸一化,使得我們可以使用更高的學(xué)習(xí)率且能降低對參數(shù)初始化的要求。同時(shí),在某些情況下還能充當(dāng)正則化使用,可以替代Dropout技術(shù)。

(3)批歸一化詳細(xì)計(jì)算步驟:


【深度學(xué)習(xí)】批歸一化(BatchNorm)與層歸一化(LayerNorm):技術(shù)背景、原理及基于Pytorch的代碼詳解-AI.x社區(qū)

需要特別注意的是,批歸一化中模型在測試時(shí)使用的是訓(xùn)練中累積的全局均值和方差替代小批量樣本的統(tǒng)計(jì)值,有關(guān)全局均值和方差的計(jì)算可見下述詳細(xì)代碼的實(shí)現(xiàn),更加清晰明了。

(4)基于Pytorch的實(shí)現(xiàn)

Pytorch中提供了nn.BatchNorm1d、nn.BatchNorm2d 和 nn.BatchNorm3d,對應(yīng)不同輸入維度的批歸一化層,如下所示:

【深度學(xué)習(xí)】批歸一化(BatchNorm)與層歸一化(LayerNorm):技術(shù)背景、原理及基于Pytorch的代碼詳解-AI.x社區(qū)

【參數(shù)詳解】

【深度學(xué)習(xí)】批歸一化(BatchNorm)與層歸一化(LayerNorm):技術(shù)背景、原理及基于Pytorch的代碼詳解-AI.x社區(qū)

(5) 使用Python手動(dòng)實(shí)現(xiàn)批歸一化

【深度學(xué)習(xí)】批歸一化(BatchNorm)與層歸一化(LayerNorm):技術(shù)背景、原理及基于Pytorch的代碼詳解-AI.x社區(qū)


2.層歸一化(Layer Normalization)

層歸一化由多倫多大學(xué)的Jimmy Lei Ba等人于2016年于論文“Layer Normalization”中提出。

(1)技術(shù)背景:批歸一化的效果取決于小批量的大小,且在循環(huán)神經(jīng)網(wǎng)絡(luò)中的應(yīng)用受到明顯的限制。同時(shí),批歸一化也不能應(yīng)用于在線學(xué)習(xí)任務(wù)或小批量必須很小的極大分布式模型。

Ps:循環(huán)神經(jīng)網(wǎng)絡(luò)中循環(huán)神經(jīng)元的輸入總和通常隨序列長度的變化而變化,因此對其應(yīng)該針對不同時(shí)間步長進(jìn)行不同的統(tǒng)計(jì)。

(2)技術(shù)原理:層歸一化則是通過計(jì)算單個(gè)樣本中所有特征值的均值和方差來實(shí)現(xiàn)輸入數(shù)據(jù)的歸一化,可以直接應(yīng)用于循環(huán)神經(jīng)網(wǎng)絡(luò)。與批歸一化一樣的是在歸一化之后也提供了自適應(yīng)偏差和增益兩個(gè)可學(xué)習(xí)參數(shù)來增強(qiáng)模型的表達(dá)能力。與批歸一化不同的是,層歸一化在訓(xùn)練和測試的時(shí)候執(zhí)行完全相同的計(jì)算。

(3)層歸一化詳細(xì)計(jì)算步驟:

【深度學(xué)習(xí)】批歸一化(BatchNorm)與層歸一化(LayerNorm):技術(shù)背景、原理及基于Pytorch的代碼詳解-AI.x社區(qū)

(4)基于Pytorch的實(shí)現(xiàn)

Pytorch中提供了nn.LayerNorm實(shí)現(xiàn)層歸一化層,適合處理任何維度的輸入,如下所示:

【深度學(xué)習(xí)】批歸一化(BatchNorm)與層歸一化(LayerNorm):技術(shù)背景、原理及基于Pytorch的代碼詳解-AI.x社區(qū)

【參數(shù)詳解】

【深度學(xué)習(xí)】批歸一化(BatchNorm)與層歸一化(LayerNorm):技術(shù)背景、原理及基于Pytorch的代碼詳解-AI.x社區(qū)

(5)使用Python手動(dòng)實(shí)現(xiàn)層歸一化

【深度學(xué)習(xí)】批歸一化(BatchNorm)與層歸一化(LayerNorm):技術(shù)背景、原理及基于Pytorch的代碼詳解-AI.x社區(qū)

本文轉(zhuǎn)載自???南夏的算法驛站???,作者:趙南夏

收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 亚洲激情网站 | 一区二区三区四区电影视频在线观看 | 黄色综合| 亚洲女人天堂网 | 亚洲精品短视频 | 精品欧美乱码久久久久久 | 国产激情91久久精品导航 | 欧美亚洲国产精品 | 视频一区中文字幕 | 亚洲v区 | 日韩最新网址 | 日韩精品激情 | www日韩欧美 | 一区二区三区国产精品 | 午夜欧美 | 中文字幕亚洲一区 | 人人色视频 | www.中文字幕.com| 国产丝袜一区二区三区免费视频 | 91资源在线 | 久久久久亚洲精品国产 | 国产成人精品午夜视频免费 | 污片在线观看 | 色综合视频 | 美女毛片免费看 | 中文字幕一区在线观看视频 | 黄色香蕉视频在线观看 | 欧美日产国产成人免费图片 | 久久99视频免费观看 | 久久久久免费精品国产小说色大师 | 亚洲成人网在线观看 | 黄色一级视频免费 | 亚洲精品中文在线 | 亚洲第一在线 | 国产精品亚洲片在线播放 | 亚洲国产成人av好男人在线观看 | 亚洲精品免费视频 | 久久里面有精品 | 中文字幕乱码亚洲精品一区 | 国产精品免费视频一区 | 成人免费影院 |