深度學習中模型訓練的通用流程是怎樣的?

時間 2021-06-09 09:31:58

1樓:妞妞

簡單的說一下通用的流程,當然訓練不同的模型,可能會多加一些處理。

第一步,資料預處理,獲取資料後,需要對資料進行篩選,分訓練集、測試集以及驗證集等

第二步,將資料輸入到神經網路(這裡可以根據資料多少構建合適的神經網路,防止出現過擬合和欠擬合),即每個神經元的輸入值加權求和再輸入到啟用函式,得到輸出得分,完成正向傳播。

第三步,將第二步獲取的輸出得分輸入到誤差函式,與期望值做比較,誤差越小越好

第四步,通過反向傳播(這裡要用到反向求導,最終目的是使得誤差最小)確定梯度向量

第五步,通過梯度向量調節每個輸入的權重,使得誤差趨於零

最後,重複上述過程,直到找到誤差值足夠小且趨於穩定,則找到最優權重,此時模型訓練完畢

訓練過程中要注意同步使用驗證集不斷驗證模型訓練結果,防止過擬合

2樓:ChronousZ

取資料,定義模型,損失,優化器等,然後就可以迴圈迭代了(訓練),每次迭代輸入通過前向傳播計算網路輸出,計算損失,然後損失反向回傳修正網路,進去下一次迭代,直到模型收斂

在深度學習模型的訓練中,其效能不斷變化,應當將何時效能,看作為「最終的」模型效能?

hui dust 機器學習模型中都有訓練集 驗證集 測試集 訓練集資料餵給模型訓練,每輪epoch在驗證集上驗證指標,多輪訓練時取驗證集指標最好的情況作為最終的模型效能。 Fain 一般來說,當多次降低學習率,驗證集的loss依然不下降,則取最近一次下降的模型引數。損失不下降說明模型已經到達了不錯的...

深度學習模型訓練好後效能就確定了嗎?

Scott 應該是說訓練之後得到的weight是固定的,沒法再更動的。用來推論或是辨識的話,precision的高低也是確定的。所以要得到較高precision的訓練權重,這在訓練時就必需不斷的對model調參,以確保最後得到的weight有高的準確率。 負十二分之一 你依然可以用pre proce...

深度學習裡面訓練模型的時候,為什麼新增正則項它的超引數都是自己調的?

走在邊沿上 一般,乙個引數之所以成為超引數,要麼是因為關於它的任何資訊都不能被訓練資料集表示,要麼是因為一旦讓它成為trainable的,我們總會得到乙個trivial的值。從第乙個角度看,正則化的本質是限制目標函式空間的大小,保證目標函式的smoothness。資料集本身顯然並不會包含關於它的任何...