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

時間 2021-05-29 22:43:36

1樓:走在邊沿上

一般,乙個引數之所以成為超引數,要麼是因為關於它的任何資訊都不能被訓練資料集表示,要麼是因為一旦讓它成為trainable的,我們總會得到乙個trivial的值。

從第乙個角度看,正則化的本質是限制目標函式空間的大小,保證目標函式的smoothness。資料集本身顯然並不會包含關於它的任何資訊。因此我們只能給它賦乙個值,人為地去限制函式空間的大小。

從第二個角度看,正如其他答案說的,一旦它可學習,對損失函式的最小化總會傾向於使它趨近於0。這樣就沒有意義了。

一種解決辦法是在外面套一層cross validation,通過在驗證集上的performance來調這個引數,從而實現對這個引數的自動化調節(有人把這叫做nested learning)。

以上是我的一點個人理解。

2樓:香坊大呲花

因為模型裡的正則化部分是一種懲罰項,為了有效的懲罰,就必須要讓這個正則項係數為大於0。那麼直接將這個係數設為乙個引數就不太合理,因為在loss下降的過程中,很可能會將這個引數學習成0或負數,這樣就沒有懲罰項的意義了。

所以,如果想要自動的學習到這個係數,就必須要加上某種約束,讓這個係數大於某個值。但是,這樣就又引入了乙個超引數了。

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

妞妞 簡單的說一下通用的流程,當然訓練不同的模型,可能會多加一些處理。第一步,資料預處理,獲取資料後,需要對資料進行篩選,分訓練集 測試集以及驗證集等 第二步,將資料輸入到神經網路 這裡可以根據資料多少構建合適的神經網路,防止出現過擬合和欠擬合 即每個神經元的輸入值加權求和再輸入到啟用函式,得到輸出...

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

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

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

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