最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

深度學(xué)習(xí)中的參數(shù)初始化方法:Xavier詳細(xì)推導(dǎo)+pytorch實(shí)現(xiàn)

2023-08-05 23:23 作者:風(fēng)神ねこ  | 我要投稿

緩解梯度消失和梯度爆炸的參數(shù)初始化方式:Xavier

Xavier 初始化,也稱為Glorot初始化,是一種在訓(xùn)練深度學(xué)習(xí)模型時(shí)用于初始化網(wǎng)絡(luò)權(quán)重的策略。其核心思想是保持每一層輸出的方差與輸入的方差一致,以防止信號(hào)在深層網(wǎng)絡(luò)中的爆炸或消失。如果方差過大,那么網(wǎng)絡(luò)的層將會(huì)更難以學(xué)習(xí);如果方差過小,那么該層的權(quán)重將會(huì)難以更新。

總體來說,如果初始化權(quán)重過大或過小,可能會(huì)導(dǎo)致在訓(xùn)練過程中出現(xiàn)梯度消失或梯度爆炸的問題。如果權(quán)重初始化過大,激活函數(shù)(如sigmoid或tanh)可能會(huì)飽和,導(dǎo)致梯度接近于零,這將減慢學(xué)習(xí)速度。另一方面,如果權(quán)重初始化過小,那么權(quán)重更新可能會(huì)非常慢或完全停止,導(dǎo)致網(wǎng)絡(luò)無法學(xué)習(xí)。

例如下圖,在對(duì)sigmoid反向傳播時(shí),輸入很小或很大的參數(shù)值都會(huì)導(dǎo)致對(duì)參數(shù)的偏導(dǎo)幾乎為0,在進(jìn)行梯度下降時(shí),參數(shù)更新非常慢,幾乎無法進(jìn)行學(xué)習(xí)(甚至可能在某一層導(dǎo)致梯度消失,切斷了與后續(xù)的聯(lián)系)

演示梯度消失

假設(shè)與符號(hào)說明

  1. 權(quán)重w_%7Bi%2Cj%7D%5Et(這里表示 第t層從t-1層的第i個(gè)神經(jīng)單元連接到t層的第j個(gè)神經(jīng)單元的權(quán)重)是從均值為0,方差為%5Csigma%5E2的分布中抽取的,并且符合獨(dú)立同分布,權(quán)重矩陣為W_%7Bn_%7Bin%7D%5Ctimes%20n_%7Bout%7D%7D%5Et,可以認(rèn)為是n_%7Bin%7D批次大小,每行是一個(gè)樣本,這些樣本有n_%7Bout%7D個(gè)特征

  2. t層第i個(gè)神經(jīng)單元的輸入h_i%5E%7Bt-1%7D(表示第t層的輸入,即是t-1層的輸出)服從均值為0的分布

  3. 沒有非線性(即沒有激活函數(shù))的全連接層,輸入維度為n_%7Bin%7D,輸出維度為n_%7Bout%7D,滿足%20h%5Et%3D(W%5Et)%5ETh%5E%7Bt-1%7D?,即t層的輸出是來自t-1層輸出的加權(quán)和,注意這里權(quán)重矩陣被轉(zhuǎn)置了,滿足n_%7Bout%7D%5Ctimes%20n_%7Bin%7D%5Cquad%20n_%7Bin%7D%5Ctimes1%5Cimplies%20n_%7Bout%7D%5Ctimes%201的維度關(guān)系

正向均值

正向均值,就是對(duì)t層的輸出求數(shù)學(xué)期望,對(duì)于t層的任意一個(gè)神經(jīng)單元i,其期望滿足

%20E%5Bh_i%5Et%5D%3DE%5Cleft%20%5B%5Csum%5Climits_jw_%7Bi%2Cj%7D%5Eth_%7Bj%7D%5E%7Bt-1%7D%5Cright%20%5D%5Cxlongequal%7Bi%2Ci%2Cd%7D%5Csum%5Climits_%7Bj%7DE%5Bw_%7Bi%2Cj%7D%5Et%5DE%5Bh_j%5E%7Bt-1%7D%5D%3D0%20

這里意思是,第t層的任意一個(gè)神經(jīng)單元i的輸出h_i%5Et,是來自t-1層的所有輸出與其對(duì)應(yīng)權(quán)重(從j連接到i對(duì)應(yīng)權(quán)重)積的和。由于我們假定了權(quán)重和輸入都是零均值,所以第t層輸出的數(shù)學(xué)期望依然是0。

并且注意這里的輸入和權(quán)重的獨(dú)立假設(shè)允許我們進(jìn)行E(XY)%3DEX%2BEY

由于t層每個(gè)神經(jīng)單元的輸出均值都是0,因此t層的輸出均值就是一個(gè)零向量

正向方差

%20Var(h_i%5Et)%3DE%5B(h_i%5Et)%5E2%5D-E%5Bh_i%5Et%5D%5E2

注意這里由于上面證明了輸出的正向均值為0,因此這里的均值的平方項(xiàng)為0,將t層的第i個(gè)神經(jīng)單元的輸出展開有

E%5B(h_i%5Et)%5E2%5D%3DE%5Cleft%20%5B%5Cleft%20(%5Csum%5Climits_jw_%7Bi%2Cj%7D%5Eth_j%5E%7Bt-1%7D%5Cright%20)%5E2%5Cright%20%5D%20

注意到,如果將這個(gè)和式的平方展開后,會(huì)產(chǎn)生很多交叉項(xiàng),它們的最高次數(shù)都是1,根據(jù)前面我們知道,對(duì)一次項(xiàng)求期望會(huì)因?yàn)榱憔档募僭O(shè)導(dǎo)致整項(xiàng)為0,因此我們只需要保留自身與自身相乘的項(xiàng)(二次項(xiàng))

%20%5Cimplies%20E%5Cleft%20%5B%5Csum%5Climits_j(w_%7Bi%2Cj%7D%5Et)%5E2(h_j%5E%7Bt-1%7D)%5E2%5Cright%20%5D

再根據(jù)期望性質(zhì),并且注意到,由于是零均值,對(duì)二次項(xiàng)求期望相當(dāng)于求其方差

VarX%3DE%5BX%5E2%5D-(EX)%5E2%5Cxlongequal%7BEX%3D0%7DE%5BX%5E2%5D

從而有

%20Var%5Bh%5Et_i%5D%3D%5Csum%5Climits_j%20Var%5Bw_%7Bi%2Cj%7D%5Et%5DVar%5Bh_j%5E%7Bt-1%7D%5D%3Dn_%7Bin%7D%5Csigma%5E2Var%5Bh_j%5E%7Bt-1%7D%5D%20

由于我們希望輸入與輸出的方差相同,只需要讓輸入維度乘以權(quán)重來自分布的方差為1

%20n_%7Bin%7D%5Csigma%5E2%3D1%20

反向均值

根據(jù)反向傳播的原理,先由損失函數(shù)對(duì)h%5Et求導(dǎo),再由h%5Et對(duì)h%5E%7Bt-1%7D求導(dǎo),得到

%20%5Cdfrac%20%7B%5Cpartial%20l%7D%7B%5Cpartial%20h%5E%7Bt-1%7D%7D%3D%20%5Cdfrac%20%7B%5Cpartial%20l%7D%7B%5Cpartial%20h%5E%7Bt%7D%7D(W%5Et)%5ET%20

而同理正向傳播,反向傳播的均值和方差結(jié)果也是類似的,這里權(quán)重表示的是從t層的神經(jīng)單元i連向t-1層的神經(jīng)單元j的權(quán)重

E%5B%20%5Cdfrac%20%7B%5Cpartial%20l%7D%7B%5Cpartial%20h%5E%7Bt-1%7D_j%7D%5D%3DE%5Cleft%5B%5Csum%5Climits_i%20%5Cdfrac%20%7B%5Cpartial%20l%7D%7B%5Cpartial%20h%5E%7Bt%7D_i%7Dw_%7Bj%2Ci%7D%5Et%20%5Cright%5D

根據(jù)權(quán)重的獨(dú)立同分布且零均值的特性,反向均值依然為0,即損失函數(shù)對(duì)t-1層任意神經(jīng)單元的輸出求導(dǎo)的值為0

反向方差

這里需要注意到,由于交叉項(xiàng)會(huì)出現(xiàn)一次項(xiàng),而我們知道一次項(xiàng)的權(quán)重均值為0,因此我們只保留二次項(xiàng)(自己與自己相乘)

Var%5B%20%5Cdfrac%20%7B%5Cpartial%20l%7D%7B%5Cpartial%20h%5E%7Bt-1%7D_j%7D%5D%3DE%5Cleft%5B%5Cleft(%5Csum%5Climits_i%20%5Cdfrac%20%7B%5Cpartial%20l%7D%7B%5Cpartial%20h%5E%7Bt%7D_i%7Dw_%7Bj%2Ci%7D%5Et%20%5Cright)%5E2%5Cright%5D%3D%5Csum%5Climits_%7Bi%3D1%7D%5E%7Bn_%7Bout%7D%7DE%5B%20%5Cdfrac%20%7B%5Cpartial%20l%7D%7B%5Cpartial%20h%5E%7Bt%7D_i%7D%5D%5E2E%5Bw%5Et_%7Bj%2Ci%7D%5D%5E2%20

注意我們權(quán)重方差是假定好的,并且從i連接到j和從j連接到i的權(quán)重是一樣的,有

%20Var%5B%20%5Cdfrac%20%7B%5Cpartial%20l%7D%7B%5Cpartial%20h%5E%7Bt-1%7D_j%7D%5D%3Dn_%0A%7Bout%7D%5Csigma%5E2Var%5B%20%5Cdfrac%20%7B%5Cpartial%20l%7D%7B%5Cpartial%20h%5E%7Bt%7D_i%7D%5D

我們同樣希望反向傳播的輸入與輸出的方差相同,因此需要

%20n_%7Bout%7D%5Csigma%5E2%3D1

權(quán)衡

由于n_%7Bout%7D%5Csigma%5E2%3Dn_%7Bin%7D%5Csigma%5E2難以成立,因?yàn)槲覀儾豢赡苊看屋斎胼敵鼍S度都相同,因此Xavier采用%5Csigma%5E2%3D%5Cdfrac%7B2%7D%7Bn_%7Bout%7D%2Bn_%7Bin%7D%7D(即對(duì)兩個(gè)結(jié)果進(jìn)行算術(shù)平均)

并將參數(shù)從正態(tài)分布N%5Cleft(0%2C%5Cdfrac%7B2%7D%7Bn_%7Bout%7D%2Bn_%7Bin%7D%7D%5Cright)%20中隨機(jī)生成

也可以采用均勻分布U%5Cleft%20(%E2%88%92%5Csqrt%7B%5Cdfrac%7B6%7D%7Bn_%7Bin%7D%2Bn_%7Bout%7D%7D%7D%2C%20%5Csqrt%7B%5Cdfrac%7B6%7D%7Bn_%7Bin%7D%2Bn_%7Bout%7D%7D%7D%20%20%5Cright)%20

相比于原來我們指定方差例如用N(0%2C1)初始化參數(shù),Xavier通過計(jì)算得出其方差而不是我們?nèi)藶橹付?/p>

pytorch實(shí)現(xiàn)

只需要初始化時(shí)指定xavier_normal_即可

通過正態(tài)分布方差的最大似然估計(jì),我們發(fā)現(xiàn)推導(dǎo)和結(jié)果是相符合的


深度學(xué)習(xí)中的參數(shù)初始化方法:Xavier詳細(xì)推導(dǎo)+pytorch實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
玉林市| 嘉定区| 灵璧县| 延边| 方城县| 中宁县| 兰州市| 新营市| 伽师县| 蒙自县| 阳春市| 木里| 五寨县| 长白| 东宁县| 新疆| 澄迈县| 芮城县| 深水埗区| 亚东县| 长葛市| 通许县| 乐陵市| 潍坊市| 平谷区| 遂溪县| 于田县| 全南县| 舟曲县| 来安县| 怀柔区| 通化市| 清新县| 西充县| 交城县| 仙桃市| 浦东新区| 佛坪县| 乌拉特后旗| 西丰县| 嘉鱼县|