一碗酸梅湯 作品
第255章 調整超參數,以及防止過擬合
這次做fcn模板,索性將它們全都編寫成函數,塞到了模板代碼中,用以備選。
除此之外,還要解決過擬合問題。
過擬合是機器學習的一道難關,一旦發生這種現象,就會導致訓練好的模型,在訓練集上表現優秀,而在陌生數據集上表現欠佳。
這是無論如何都要避免的。
要想避免過擬合,通常的做法有:擴大學習規模、降低網絡規模、對權重參數規範化,以及非常激進的dropout方法等。
擴大學習規模,就是儘可能收集更多數據,進行訓練。
kaggle的這場比賽中,官方提供了足足20萬條訓練數據,這意味著不怎麼需要在這方面下功夫了。
如果提供的訓練數據較少,那麼往往就需要人為擴展訓練數據。
比如:將圖像略微旋轉、平移、翻轉、縮放、加入噪點像素……
降低網絡規模,的確可以減輕過擬合,但同時也削弱了學習能力,所以一般不作為優先選項。
權重正規化也叫正則化(regularization),就是在未規範化的代價函數上,附加一個權重絕對值的和,使得網絡傾向於學習少量的、重要度較高的權重。
這一辦法,江寒在這個模板中,也作為備選項加以實現了。
至於dropout方法,做法是按照給定的概率p,隨機刪除全連接網絡中部分隱藏神經元,以達到簡化網絡,降低過擬合的效果。
雖然挺簡單,但江寒並不準備現在就用出來。
這至少也價值一篇三區以上的論文,用在這種小比賽中,未免有些浪費。
江寒將自己知道的、能想到的方法、方案,全都羅列出來,編製成函數,放進了模板代碼中。
然後將代碼複製了130份,稍作修改,讓它們分別使用不同的超參數設定策略。
這樣,就出爐了130種候選的訓練方案。
江寒將這些方案連同訓練數據包,一起上傳到了自己放在車庫中的服務器和五臺工作站中,然後指揮它們開足馬力,同步進行訓練。
如果光靠筆記本電腦,這130份代碼一個一個訓練過去,怕不得兩、三個月之後,才能輪一遍?
現在就簡單了,大約明天晚上,這130多份方案,就能得到初步的訓練結果。
到時候根據反饋,從中選擇一個表現最好的,全力訓練就可以了。
這種做法,和有些人選男/女朋友的原則差不多。
廣泛培養,層層選拔,然後擇優錄取。
至於選剩下的怎麼辦?
先備著唄,反正又不吃草料……
搞定這些事情之後,時間已經夜裡10點半。
江寒站起來,活動了一下筋骨,然後上床休息。
剛鑽進被窩,夏雨菲就依偎了過來。
安靜地躺了一會兒後。
除此之外,還要解決過擬合問題。
過擬合是機器學習的一道難關,一旦發生這種現象,就會導致訓練好的模型,在訓練集上表現優秀,而在陌生數據集上表現欠佳。
這是無論如何都要避免的。
要想避免過擬合,通常的做法有:擴大學習規模、降低網絡規模、對權重參數規範化,以及非常激進的dropout方法等。
擴大學習規模,就是儘可能收集更多數據,進行訓練。
kaggle的這場比賽中,官方提供了足足20萬條訓練數據,這意味著不怎麼需要在這方面下功夫了。
如果提供的訓練數據較少,那麼往往就需要人為擴展訓練數據。
比如:將圖像略微旋轉、平移、翻轉、縮放、加入噪點像素……
降低網絡規模,的確可以減輕過擬合,但同時也削弱了學習能力,所以一般不作為優先選項。
權重正規化也叫正則化(regularization),就是在未規範化的代價函數上,附加一個權重絕對值的和,使得網絡傾向於學習少量的、重要度較高的權重。
這一辦法,江寒在這個模板中,也作為備選項加以實現了。
至於dropout方法,做法是按照給定的概率p,隨機刪除全連接網絡中部分隱藏神經元,以達到簡化網絡,降低過擬合的效果。
雖然挺簡單,但江寒並不準備現在就用出來。
這至少也價值一篇三區以上的論文,用在這種小比賽中,未免有些浪費。
江寒將自己知道的、能想到的方法、方案,全都羅列出來,編製成函數,放進了模板代碼中。
然後將代碼複製了130份,稍作修改,讓它們分別使用不同的超參數設定策略。
這樣,就出爐了130種候選的訓練方案。
江寒將這些方案連同訓練數據包,一起上傳到了自己放在車庫中的服務器和五臺工作站中,然後指揮它們開足馬力,同步進行訓練。
如果光靠筆記本電腦,這130份代碼一個一個訓練過去,怕不得兩、三個月之後,才能輪一遍?
現在就簡單了,大約明天晚上,這130多份方案,就能得到初步的訓練結果。
到時候根據反饋,從中選擇一個表現最好的,全力訓練就可以了。
這種做法,和有些人選男/女朋友的原則差不多。
廣泛培養,層層選拔,然後擇優錄取。
至於選剩下的怎麼辦?
先備著唄,反正又不吃草料……
搞定這些事情之後,時間已經夜裡10點半。
江寒站起來,活動了一下筋骨,然後上床休息。
剛鑽進被窩,夏雨菲就依偎了過來。
安靜地躺了一會兒後。