日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

神经网络优化篇:详解神经网络的权重初始化(Weight Initialization for Deep NetworksVanishing / Exploding gradients)

發(fā)布時(shí)間:2024/1/3 windows 37 coder
生活随笔 收集整理的這篇文章主要介紹了 神经网络优化篇:详解神经网络的权重初始化(Weight Initialization for Deep NetworksVanishing / Exploding gradients) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

神經(jīng)網(wǎng)絡(luò)的權(quán)重初始化

這是一個(gè)神經(jīng)單元初始化地例子,然后再演變到整個(gè)深度網(wǎng)絡(luò)。

來(lái)看看只有一個(gè)神經(jīng)元的情況,然后才是深度網(wǎng)絡(luò)。

單個(gè)神經(jīng)元可能有4個(gè)輸入特征,從\(x_{1}\)\(x_{4}\),經(jīng)過(guò)\(a=g(z)\)處理,最終得到\(\hat{y}\),稍后講深度網(wǎng)絡(luò)時(shí),這些輸入表示為\(a^{[l]}\),暫時(shí)用\(x\)表示。

\(z = w_{1}x_{1} + w_{2}x_{2} + \ldots +w_{n}x_{n}\)\(b=0\),暫時(shí)忽略\(b\),為了預(yù)防\(z\)值過(guò)大或過(guò)小,可以看到\(n\)越大,希望\(w_{i}\)越小,因?yàn)?span id="ozvdkddzhkzd" class="math inline">\(z\)是\(w_{i}x_{i}\)的和,如果把很多此類項(xiàng)相加,希望每項(xiàng)值更小,最合理的方法就是設(shè)置\(w_{i}=\frac{1}{n}\)\(n\)表示神經(jīng)元的輸入特征數(shù)量,實(shí)際上,要做的就是設(shè)置某層權(quán)重矩陣\(w^{[l]} = np.random.randn( \text{shape})*\text{np.}\text{sqrt}(\frac{1}{n^{[l-1]}})\)\(n^{[l - 1]}\)就是喂給第\(l\)層神經(jīng)單元的數(shù)量(即第\(l-1\)層神經(jīng)元數(shù)量)。

結(jié)果,如果是用的是Relu激活函數(shù),而不是\(\frac{1}{n}\),方差設(shè)置為\(\frac{2}{n}\),效果會(huì)更好。常常發(fā)現(xiàn),初始化時(shí),尤其是使用Relu激活函數(shù)時(shí),\(g^{[l]}(z) =Relu(z)\),它取決于對(duì)隨機(jī)變量的熟悉程度,這是高斯隨機(jī)變量,然后乘以它的平方根,也就是引用這個(gè)方差\(\frac{2}{n}\)。這里,用的是\(n^{[l - 1]}\),因?yàn)楸纠校壿嫽貧w的特征是不變的。但一般情況下\(l\)層上的每個(gè)神經(jīng)元都有\(n^{[l - 1]}\)個(gè)輸入。如果激活函數(shù)的輸入特征被零均值和標(biāo)準(zhǔn)方差化,方差是1,\(z\)也會(huì)調(diào)整到相似范圍,這就沒(méi)解決問(wèn)題(梯度消失和爆炸問(wèn)題)。但它確實(shí)降低了梯度消失和爆炸問(wèn)題,因?yàn)樗o權(quán)重矩陣\(w\)設(shè)置了合理值,也知道,它不能比1大很多,也不能比1小很多,所以梯度沒(méi)有爆炸或消失過(guò)快。

提到了其它變體函數(shù),剛剛提到的函數(shù)是Relu激活函數(shù),一篇由Herd等人撰寫(xiě)的論文曾介紹過(guò)。對(duì)于幾個(gè)其它變體函數(shù),如tanh激活函數(shù),有篇論文提到,常量1比常量2的效率更高,對(duì)于tanh函數(shù)來(lái)說(shuō),它是\(\sqrt{\frac{1}{n^{[l-1]}}}\),這里平方根的作用與這個(gè)公式作用相同(\(\text{np.}\text{sqrt}(\frac{1}{n^{[l-1]}})\)),它適用于tanh激活函數(shù),被稱為Xavier初始化。Yoshua Bengio和他的同事還提出另一種方法,可能在一些論文中看到過(guò),它們使用的是公式\(\sqrt{\frac{2}{n^{[l-1]} + n^{\left[l\right]}}}\)。其它理論已對(duì)此證明,但如果想用Relu激活函數(shù),也就是最常用的激活函數(shù),會(huì)用這個(gè)公式\(\text{np.}\text{sqrt}(\frac{2}{n^{[l-1]}})\),如果使用tanh函數(shù),可以用公式\(\sqrt{\frac{1}{n^{[l-1]}}}\),有些作者也會(huì)使用這個(gè)函數(shù)。

實(shí)際上,認(rèn)為所有這些公式只是給一個(gè)起點(diǎn),它們給出初始化權(quán)重矩陣的方差的默認(rèn)值,如果想添加方差,方差參數(shù)則是另一個(gè)需要調(diào)整的超級(jí)參數(shù),可以給公式\(\text{np.}\text{sqrt}(\frac{2}{n^{[l-1]}})\)添加一個(gè)乘數(shù)參數(shù),調(diào)優(yōu)作為超級(jí)參數(shù)激增一份子的乘子參數(shù)。有時(shí)調(diào)優(yōu)該超級(jí)參數(shù)效果一般,這并不是想調(diào)優(yōu)的首要超級(jí)參數(shù),但發(fā)現(xiàn)調(diào)優(yōu)過(guò)程中產(chǎn)生的問(wèn)題,雖然調(diào)優(yōu)該參數(shù)能起到一定作用,但考慮到相比調(diào)優(yōu),其它超級(jí)參數(shù)的重要性,通常把它的優(yōu)先級(jí)放得比較低。

希望現(xiàn)在對(duì)梯度消失或爆炸問(wèn)題以及如何為權(quán)重初始化合理值已經(jīng)有了一個(gè)直觀認(rèn)識(shí),希望設(shè)置的權(quán)重矩陣既不會(huì)增長(zhǎng)過(guò)快,也不會(huì)太快下降到0,從而訓(xùn)練出一個(gè)權(quán)重或梯度不會(huì)增長(zhǎng)或消失過(guò)快的深度網(wǎng)絡(luò)。在訓(xùn)練深度網(wǎng)絡(luò)時(shí),這也是一個(gè)加快訓(xùn)練速度的技巧。

總結(jié)

以上是生活随笔為你收集整理的神经网络优化篇:详解神经网络的权重初始化(Weight Initialization for Deep NetworksVanishing / Exploding gradients)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。