天天看點

ElitesAI·動手學深度學習PyTorch版學習筆記-過拟合、欠拟合及其解決方案;梯度消失、梯度爆炸;循環神經網絡進階

宅家中看到Datawhale的學習号召,在大牛雲集的群上找到了一個很佛系的小組,戰戰兢兢地開始了小白的深度學習之旅。感謝Datawhale、伯禹教育、和鲸科技,感謝課程制作者、組織者、各位助教以及其他志願者!

2 梯度消失、梯度爆炸

2.1 概念

當神經網絡的層數較多時,模型的參數容易随着指數增長而迅速減小至接近零(梯度消失)或迅速增加至非常大(梯度爆炸),使模型的穩定性變差。

2.2 參數初始化

這就使得初始化參數的設定成為多層神經網絡的重要考慮因素。但在神經網絡中,如果每個隐藏單元的權重參數都設定為相同的值,無論隐藏單元有多少,本質上都相當于隻有一個隐藏單元在發揮作用。我們通常将神經網絡的模型參數,在一個給定數值範圍内,進行随機初始化。

pytorch中內建了許多通用的初始化參數方法,不同類型的layer采用的方法不同,一般不同自己去指定。本小節還介紹了Xavier随機初始化:假設某全連接配接層的輸入個數為a,輸出個數為b,Xavier随機初始化将使該層中權重參數的每個元素都随機采樣于均勻分布

ElitesAI·動手學深度學習PyTorch版學習筆記-過拟合、欠拟合及其解決方案;梯度消失、梯度爆炸;循環神經網絡進階

使用這種方法,每層輸出的方差不該受該層輸入個數影響,且每層梯度的方差也不該受該層輸出個數影響。

2.3 環境因素(偏移)

假設函數不改變,若輸入發生偏移,即測試集看起來與訓練集有着本質的不同(如卡通圖檔和照片),稱作協變量偏移。标簽偏移有些沒看懂,期待大神更直白的解釋。概念偏移指的是輸出發生偏移,即對同一标簽有着不同的表示,如不同地區人們把不同飲料(pop,soda,coke)叫做軟飲料。這時需要建立一個機器翻譯系統來解決概念偏移問題。

2.4 Kaggle房價問題

這一小節介紹了一個真正的資料分析案例——Kaggle房價預測,使用pytorch完成了讀取資料集、預處理(缺失填充、标準化)、訓練模型、K折交叉驗證(資料集小時不使用)、模型選擇、預測并送出結果的全部步驟。通過這一案例,讓學習者簡單地了解了機器學習的完整流程。

繼續閱讀