Neural-Networks

神經網絡 - 在訓練期間切換損失函數以獲得更好的梯度

  • September 1, 2016

我正在訓練神經網絡對於使用二元交叉熵損失的二元分類(其中是 1 或 0,並且產生一個值):

在訓練的早期,當分類性能相對較差時,這個損失函數給出了很好的梯度。然而,隨著性能的提高,梯度會逐漸變差。對於表現良好的判別器 D,以下損失函數會產生更好的梯度:

請注意,兩個損失函數的最小值相同.

我的問題是:

  • 一次達到一定的性能,我可以切換損失函數以獲得更好的梯度嗎?
  • 以前有這樣做過嗎?
  • 值得嗎?
  1. 是的,你可以做到。這是您的網絡,您可以編寫任何代碼,您可以對其進行操作。正如評論中提到的,它只是不同優化問題的起點。具有相同最小值的錯誤並不重要,因為整個問題是非凸的,您可能會陷入不同的局部最小值/高原。
  2. 你聽說過預訓練嗎?儘管我不知道任何已發布的網絡會使用這種方法來獲得更快的收斂速度,但通常在使用最終損失函數實際訓練網絡之前以某種方式對網絡進行預訓練。但通常它是以無人監督的方式完成的。
  3. 你只是自己回答。它為您提供了更好的漸變效果,因此在漸變方面是值得的。問題是,您是否可以通過做其他事情來獲得更好的結果。例如:使用動量,在途中改變你的 alpha 或如前所述,使用一些預訓練方法

引用自:https://stats.stackexchange.com/questions/232845

comments powered by Disqus