1. 程式人生 > >訓練深度學習網路時候,出現Nan是什麼原因,怎麼才能避免?

訓練深度學習網路時候,出現Nan是什麼原因,怎麼才能避免?

說法一:
說明訓練不收斂了, 學習率太大,步子邁的太大導致梯度爆炸等都是有可能的,另外也有可能是網路的問題,網路結構設計的有問題。
我現在的採用方式是:
1. 弱化場景,將你的樣本簡化,各個學習率等引數採用典型配置,比如10萬樣本都是同一張複製的,讓這個網路去擬合,如果有問題,則是網路的問題。否則則是各個引數的問題。
2. 如果是網路的問題,則通過不斷加大樣本的複雜度和調整網路(調整擬合能力)來改變。
3. 引數的微調,我個人感覺是在網路的擬合能力和樣本的複雜度匹配的情況下,就是可以train到一定水平,然後想進行進一步優化的時候採用。
4. 引數的微調,樓上說得幾個也算是一種思路吧,其他的靠自己去積累,另外將weights視覺化也是一個細調起來可以用的方法,現在digits tf裡面都有相關的工具.