3.15 數(shù)值穩(wěn)定性和模型初始化
理解了正向傳播與反向傳播以后丛版,我們來討論一下深度學(xué)習(xí)模型的數(shù)值穩(wěn)定性問題以及模型參數(shù)的初始化方法逐沙。深度模型有關(guān)數(shù)值穩(wěn)定性的典型問題是衰減(vanishing)和爆炸(explosion)欧穴。
3.15.1 衰減和爆炸
隨著內(nèi)容的不斷深入,我們會(huì)在后面的章節(jié)進(jìn)一步介紹深度學(xué)習(xí)的數(shù)值穩(wěn)定性問題以及解決方法糊余。
3.15.2 隨機(jī)初始化模型參數(shù)
在神經(jīng)網(wǎng)絡(luò)中秀又,通常需要隨機(jī)初始化模型參數(shù)。下面我們來解釋這樣做的原因贬芥。
3.15.2.1 PyTorch的默認(rèn)隨機(jī)初始化
隨機(jī)初始化模型參數(shù)的方法有很多涮坐。在3.3節(jié)(線性回歸的簡潔實(shí)現(xiàn))中,我們使用torch.nn.init.normal_()
使模型net
的權(quán)重參數(shù)采用正態(tài)分布的隨機(jī)初始化方式誓军。不過袱讹,PyTorch中nn.Module
的模塊參數(shù)都采取了較為合理的初始化策略(不同類型的layer具體采樣的哪一種初始化方法的可參考源代碼),因此一般不用我們考慮昵时。
3.15.2.2 Xavier隨機(jī)初始化
小結(jié)
- 深度模型有關(guān)數(shù)值穩(wěn)定性的典型問題是衰減和爆炸捷雕。當(dāng)神經(jīng)網(wǎng)絡(luò)的層數(shù)較多時(shí),模型的數(shù)值穩(wěn)定性容易變差壹甥。
- 我們通常需要隨機(jī)初始化神經(jīng)網(wǎng)絡(luò)的模型參數(shù)救巷,如權(quán)重參數(shù)。