1. 程式人生 > >NN模型設定--損失函式的設定

NN模型設定--損失函式的設定

人臉的loss

  1)Softmax 是最常見的人臉識別損失函式,然而,Softmax 不會顯式的優化類間和類內距離的,所以通常不會有太好的效能。

  2)Triplet Loss 作為一種 Metric Learning,也在人臉識別中廣泛使用。
  相比 Softmax,其特點是可以方便訓練大規模 ID(百萬,千萬)的資料集,不受視訊記憶體的限制。但是相應的,因為它的關注點過於區域性,使得效能無法達到最佳且訓練需要的週期非常長。

  3)目前,用cos-loss普遍比tripelet-loss要好。有各種cos-loss的變種。
  由於 Tripelet Loss 訓練困難,人們逐漸尋求結合 Metric Learning 思想來改進 Softmax 的思路,其中 SphereFace是其中的佼佼者,作為 17 年提出的一種方法,在當時達到了 state-of-the-art。
  在具體實現中,為了避免加入的 margin(即 m) 過大,引入了新的超參 λ,和 Softmax 一起聯合訓練。


迴歸問題可以用哪些loss?

  1)0-1損失
  是在分類問題中你實際上需要的. 不幸的是, 這是非凸優化問題. 由於最優化問題會變得或多或少的不好解, 因此並不實用。

  2)hinge loss (合頁損失)
  常用於“maximum-margin”的演算法。

  3)cross entropy loss
  匯出很好的概率校準。因此如果你不僅得到二值預測, 還可以得出結果的概率, 這個損失函式是一個很好的選擇(如比如邏輯迴歸)。
  缺點是它的解在資料空間中是不稀疏的, 它比合頁損失函式更容易受到離群點的影響。

  4)square loss or Mean squared error
  預測值和真實值之間的平方誤差總和。

  5)指數損失函式
  非常容易受離群點的影響. 它主要適用於Adaboost中, 因為它在一個簡單有效的boosting演算法中有效果。


mask的誤差函式

  因為我們的目標是預測一個mask,所以誤差函式是對二分類的cross entropy loss。