梯度消失、梯度爆炸

梯度消失、梯度爆炸以及Kaggle房?jī)r(jià)預(yù)測(cè)

  1. 梯度消失和梯度爆炸
  2. 考慮到環(huán)境因素的其他問(wèn)題
  3. Kaggle房?jī)r(jià)預(yù)測(cè)

梯度消失和梯度爆炸

深度模型有關(guān)數(shù)值穩(wěn)定性的典型問(wèn)題是消失(vanishing)和爆炸(explosion)。

當(dāng)神經(jīng)網(wǎng)絡(luò)的層數(shù)較多時(shí),模型的數(shù)值穩(wěn)定性容易變差。

假設(shè)一個(gè)層數(shù)為L的多層感知機(jī)的第l\boldsymbol{H}^{(l)}的權(quán)重參數(shù)為\boldsymbol{W}^{(l)},輸出層\boldsymbol{H}^{(L)}的權(quán)重參數(shù)為\boldsymbol{W}^{(L)}。為了便于討論,不考慮偏差參數(shù),且設(shè)所有隱藏層的激活函數(shù)為恒等映射(identity mapping)\phi(x) = x。給定輸入\boldsymbol{X},多層感知機(jī)的第l層的輸出\boldsymbol{H}^{(l)} = \boldsymbol{X} \boldsymbol{W}^{(1)} \boldsymbol{W}^{(2)} \ldots \boldsymbol{W}^{(l)}。此時(shí),如果層數(shù)l較大,\boldsymbol{H}^{(l)}的計(jì)算可能會(huì)出現(xiàn)衰減或爆炸。舉個(gè)例子,假設(shè)輸入和所有層的權(quán)重參數(shù)都是標(biāo)量,如權(quán)重參數(shù)為0.2和5,多層感知機(jī)的第30層輸出為輸入\boldsymbol{X}分別與0.2^{30} \approx 1 \times 10^{-21}(消失)和5^{30} \approx 9 \times 10^{20}(爆炸)的乘積。當(dāng)層數(shù)較多時(shí),梯度的計(jì)算也容易出現(xiàn)消失或爆炸。

隨機(jī)初始化模型參數(shù)

在神經(jīng)網(wǎng)絡(luò)中,通常需要隨機(jī)初始化模型參數(shù)。下面我們來(lái)解釋這樣做的原因。

回顧多層感知機(jī)一節(jié)描述的多層感知機(jī)。為了方便解釋?zhuān)僭O(shè)輸出層只保留一個(gè)輸出單元o_1(刪去o_2o_3以及指向它們的箭頭),且隱藏層使用相同的激活函數(shù)。如果將每個(gè)隱藏單元的參數(shù)都初始化為相等的值,那么在正向傳播時(shí)每個(gè)隱藏單元將根據(jù)相同的輸入計(jì)算出相同的值,并傳遞至輸出層。在反向傳播中,每個(gè)隱藏單元的參數(shù)梯度值相等。因此,這些參數(shù)在使用基于梯度的優(yōu)化算法迭代后值依然相等。之后的迭代也是如此。在這種情況下,無(wú)論隱藏單元有多少,隱藏層本質(zhì)上只有1個(gè)隱藏單元在發(fā)揮作用。因此,正如在前面的實(shí)驗(yàn)中所做的那樣,我們通常將神經(jīng)網(wǎng)絡(luò)的模型參數(shù),特別是權(quán)重參數(shù),進(jìn)行隨機(jī)初始化。

Image Name

PyTorch的默認(rèn)隨機(jī)初始化

隨機(jī)初始化模型參數(shù)的方法有很多。在線(xiàn)性回歸的簡(jiǎn)潔實(shí)現(xiàn)中,我們使用torch.nn.init.normal_()使模型net的權(quán)重參數(shù)采用正態(tài)分布的隨機(jī)初始化方式。不過(guò),PyTorch中nn.Module的模塊參數(shù)都采取了較為合理的初始化策略(不同類(lèi)型的layer具體采樣的哪一種初始化方法的可參考源代碼),因此一般不用我們考慮。

Xavier隨機(jī)初始化

還有一種比較常用的隨機(jī)初始化方法叫作Xavier隨機(jī)初始化。
假設(shè)某全連接層的輸入個(gè)數(shù)為a,輸出個(gè)數(shù)為b,Xavier隨機(jī)初始化將使該層中權(quán)重參數(shù)的每個(gè)元素都隨機(jī)采樣于均勻分布

U\left(-\sqrt{\frac{6}{a+b}}, \sqrt{\frac{6}{a+b}}\right).

它的設(shè)計(jì)主要考慮到,模型參數(shù)初始化后,每層輸出的方差不該受該層輸入個(gè)數(shù)影響,且每層梯度的方差也不該受該層輸出個(gè)數(shù)影響。

考慮環(huán)境因素

協(xié)變量偏移

這里我們假設(shè),雖然輸入的分布可能隨時(shí)間而改變,但是標(biāo)記函數(shù),即條件分布P(y∣x)不會(huì)改變。雖然這個(gè)問(wèn)題容易理解,但在實(shí)踐中也容易忽視。

想想?yún)^(qū)分貓和狗的一個(gè)例子。我們的訓(xùn)練數(shù)據(jù)使用的是貓和狗的真實(shí)的照片,但是在測(cè)試時(shí),我們被要求對(duì)貓和狗的卡通圖片進(jìn)行分類(lèi)。

cat cat dog dog
Image Name
Image Name
Image Name
Image Name

測(cè)試數(shù)據(jù):

cat cat dog dog
Image Name
Image Name
Image Name
Image Name

顯然,這不太可能奏效。訓(xùn)練集由照片組成,而測(cè)試集只包含卡通。在一個(gè)看起來(lái)與測(cè)試集有著本質(zhì)不同的數(shù)據(jù)集上進(jìn)行訓(xùn)練,而不考慮如何適應(yīng)新的情況,這是不是一個(gè)好主意。不幸的是,這是一個(gè)非常常見(jiàn)的陷阱。

統(tǒng)計(jì)學(xué)家稱(chēng)這種協(xié)變量變化是因?yàn)閱?wèn)題的根源在于特征分布的變化(即協(xié)變量的變化)。數(shù)學(xué)上,我們可以說(shuō)P(x)改變了,但P(y∣x)保持不變。盡管它的有用性并不局限于此,當(dāng)我們認(rèn)為x導(dǎo)致y時(shí),協(xié)變量移位通常是正確的假設(shè)。

標(biāo)簽偏移

當(dāng)我們認(rèn)為導(dǎo)致偏移的是標(biāo)簽P(y)上的邊緣分布的變化,但類(lèi)條件分布是不變的P(x∣y)時(shí),就會(huì)出現(xiàn)相反的問(wèn)題。當(dāng)我們認(rèn)為y導(dǎo)致x時(shí),標(biāo)簽偏移是一個(gè)合理的假設(shè)。例如,通常我們希望根據(jù)其表現(xiàn)來(lái)預(yù)測(cè)診斷結(jié)果。在這種情況下,我們認(rèn)為診斷引起的表現(xiàn),即疾病引起的癥狀。有時(shí)標(biāo)簽偏移和協(xié)變量移位假設(shè)可以同時(shí)成立。例如,當(dāng)真正的標(biāo)簽函數(shù)是確定的和不變的,那么協(xié)變量偏移將始終保持,包括如果標(biāo)簽偏移也保持。有趣的是,當(dāng)我們期望標(biāo)簽偏移和協(xié)變量偏移保持時(shí),使用來(lái)自標(biāo)簽偏移假設(shè)的方法通常是有利的。這是因?yàn)檫@些方法傾向于操作看起來(lái)像標(biāo)簽的對(duì)象,這(在深度學(xué)習(xí)中)與處理看起來(lái)像輸入的對(duì)象(在深度學(xué)習(xí)中)相比相對(duì)容易一些。

病因(要預(yù)測(cè)的診斷結(jié)果)導(dǎo)致 癥狀(觀察到的結(jié)果)。

訓(xùn)練數(shù)據(jù)集,數(shù)據(jù)很少只包含流感p(y)的樣本。

而測(cè)試數(shù)據(jù)集有流感p(y)和流感q(y),其中不變的是流感癥狀p(x|y)。

概念偏移

另一個(gè)相關(guān)的問(wèn)題出現(xiàn)在概念轉(zhuǎn)換中,即標(biāo)簽本身的定義發(fā)生變化的情況。這聽(tīng)起來(lái)很奇怪,畢竟貓就是貓。的確,貓的定義可能不會(huì)改變,但我們能不能對(duì)軟飲料也這么說(shuō)呢?事實(shí)證明,如果我們周游美國(guó),按地理位置轉(zhuǎn)移數(shù)據(jù)來(lái)源,我們會(huì)發(fā)現(xiàn),即使是如圖所示的這個(gè)簡(jiǎn)單術(shù)語(yǔ)的定義也會(huì)發(fā)生相當(dāng)大的概念轉(zhuǎn)變。

Image Name

美國(guó)軟飲料名稱(chēng)的概念轉(zhuǎn)變
如果我們要建立一個(gè)機(jī)器翻譯系統(tǒng),分布P(y∣x)可能因我們的位置而異。這個(gè)問(wèn)題很難發(fā)現(xiàn)。另一個(gè)可取之處是P(y∣x)通常只是逐漸變化。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容