神經網路訓練細節 權重不更新,損失值不減少

2021-10-09 19:01:53 字數 1116 閱讀 5516

目錄

1.背景介紹

2.影象特徵及影象預處理 

3.如何解決

darknet框架基於resnet34模型訓練oct,我們發現:

1.darknet+adam+影象預處理(不用crop)會出現損失值損失值不下降的問題。

2.darknet訓練效果遠不如pytorch,具體分析見為什麼相同相同模型,pytorch與darknet結果大不相同?

在使用darknet模型resnet訓練oct時,準確率下不去。先看看我的訓練效果:

圖:水平翻轉效果

orig是oct原始,crop是水平翻轉後的效果

圖:垂直翻轉效果

在本專案中,由於影象的特殊性,只進行水平翻轉和垂直翻轉。

可是遇到的問題,損失值幾乎不變,給我的感覺是權重並沒有更新。

首先翻閱了吳恩達的《機器學習訓練秘笈》,查詢我們這種情況的解決方案,我們看看吳恩達老師是怎麼說的:

總結一句話,就是使用更複雜的網路結構,但是我們使用的模型resnet34已經很複雜了,所以可以猜想到的原因:

1.權重沒有更新,訓練的方法有問題或者學習率太小

2.darknet官網的權重並沒有得到充分訓練。

參考學界 | andrej karpathy:你為什麼應該理解反向傳播,可以看出這是乙個梯度消失問題。

查閱斯坦福cs231n講解內容:

斯坦福cs231n學習筆記(7)------神經網路訓練細節(啟用函式)

斯坦福cs231n學習筆記(8)------神經網路訓練細節(資料預處理、權重初始化)

斯坦福cs231n—深度學習與計算機視覺----學習筆記 課時10

神經網路訓練細節

karpathy的33個神經網路 煉丹 技巧學習筆記 神經網路訓練trick 理解深度學習中的學習率及多種選擇策略,目前學習率呈現乙個good learning rate曲線 遷移學習技巧以及如何更好的finetune 模型經驗總結 域遷移 domain bias 問題 目前選用的是方法一。網路的淺...

神經網路損失函式

2018,aug 3 顧名思義,從標題就能知道損失函式 loss function 一定就是來計算神經網路在訓練中的損失的。說完了定義那到了舉例時間了 主要拿softmax loss來分析 這裡的k也就是我們分類的類別。然後這個函式是怎麼用的呢,我們可以簡單的舉乙個分類的例子來看下。假設我們輸入一張...

神經網路 損失函式

開始之前我們先進入數字識別這樣乙個場景 以識別數字1為例,神經網路模型的輸出結果越接近 0,1,0,0,0,0,0,0,0,0 越好。神經網路解決多分類的問題,最常見的方法是設定n個輸出節點,其中n類別個數,那麼上述數字判斷就應該有n 10個輸出。那麼如何判斷乙個輸出向量和期望向量的接近程度呢?交叉...