1. 程式人生 > >深度學習入門----triplet loss

深度學習入門----triplet loss

最近看到triplet loss小有收穫

簡寫為L=max(0,Δ+D(s,+)-D(s,-)  )

要最小化L,min(L)=0。也就是要

1.  min( Δ+D(s,+)-D(s,-)  )

2.  Δ+D(s,+)-D(s,-)>=0.
即Δ+D(s,+)-D(s,-)=0.

在這種情況下s到負樣本的距離比到正樣本的距離大Δ(Δ為手工定義的閾值)

這裡為什麼要加2.的限制呢?

主要有三個原因:

1.便於對網路的人為干預,如果不加限制,點到正負樣本距離差最小值是正負樣本之間的距離,相當於固定Δ,人為設定Δ,可以控制擬合程度。

2.防止過擬合,對於一些樣本,Δ過大反而有過擬合風險,因此去掉大於0限制更容易過擬合。

3.便於訓練,網路梯度下降越訓練收斂的越慢,在滿足要求的情況下取一個小的Δ(去掉大於0限制相當於取Δ最大值)使網路快速達到要求。