Caffe中的损失函数解析
Caffe中的損失函數解析
導言
在有監督的機器學習中,需要有標簽數據,與此同時,也需要有對應的損失函數(Loss Function)。
在Caffe中,目前已經實現了一些損失函數,包括最常見的L2損失函數,對比損失函數,信息增益損失函數等等。在這里做一個筆記,歸納總結Caffe中用到的不同的損失函數,以及分析它們各自適合的使用場景。
歐式距離損失函數(Euclidean Loss)
輸入:
預測的值:?y??∈[?∞,+∞], 其中,它們的形狀為:N×C×H×W
標簽的值:?y∈[?∞,+∞], 其中,它們的形狀為:N×C×H×W
輸出:
損失的值:Loss=12N∑Nn=1∥y??n?yn∥22
適合場景:
回歸,特別是其回歸的值是實數值得時候。
對比損失函數(Contrastive loss)
輸入:
形狀:(N×C×1×1)?特征?a∈[?∞,+∞]
形狀:(N×C×1×1)?特征?b∈[?∞,+∞]
形狀:(N×1×1×1)?相似性?y∈[0,1]
輸出:
形狀:(1×1×1×1)
對比損失函數為:?E=12N∑n=1N(y)d+(1?y)max(margin?d,0)
其中?d=∣∣∣∣an?bn∣∣∣∣22.
適合場景:
可以用來訓練Siamese網絡
鉸鏈損失函數(Hinge Loss)
輸入:
形狀:(N×C×H×W)?預測值?t∈[?∞,+∞]?代表著預測?K=CHW?個類中的得分(注:CHW表示著在網絡設計中,不一定要把預測值進行向量化,只有其拉直后元素的個數相同即可。) . 在SVM中,?t?是 D 維特征X∈D×N, 和學習到的超平面參數W∈D×K?內積的結果?XTW?
所以,一個網絡如果僅僅只有全連接層 + 鉸鏈損失函數,而沒有其它的可學習的參數,那么它就等價于SVM
標簽值:
(N×1×1×1)?標簽?l, 是一個整數類型的數?ln∈[0,1,2,...,K?1]?其代表在?K?個類中的正確的標簽。
輸出:
形狀:(1×1×1×1)?
損失函數計算:?E=1N∑n=1N∑k=1K[max(0,1?δ{ln=k}tnk)]p,?Lp?范數 (默認是?p=1, 是 L1 范數; L2 范數,正如在 L2-SVM中一樣,也有實現),
其中?δ{條件}={1?1成立不成立
應用場景:
在一對多的分類中應用,類似于SVM.
信息增益損失函數(InformationGain Loss)
輸入:
形狀:(N×C×H×W)?預測值?p??∈[0,1]?內, 表示這預測每一類的概率,共?K=CHW?個類, 每一個預測 概率p??n?的和為1:??n∑k=1Kp??nk=1.
形狀:(N×1×1×1)?標簽值:?l, 是一個整數值,其范圍是?ln∈[0,1,2,...,K?1]?表示著在?K?個類中的索引。
形狀:(1×1×K×K)?(可選) 信息增益矩陣?H.作為第三個輸入參數,. 如果?H=I, 則它等價于多項式邏輯損失函數
輸出:
形狀:(1×1×1×1)
計算公式:?E=?1N∑n=1NHlnlog(p??n)=?1N∑n=1N∑k=1KHln,klog(p??n,k), 其中?Hln?表示 行?ln?of?H.
多項式邏輯損失函數(Multinomial Logistic Loss)
輸入:
形狀:(N×C×H×W)?預測值?p??∈[0,1]范圍中, 表示這預測的每一類的概率,共?K=CHW?個類. 每一個預測概率p??n?的和為1:??n∑k=1Kp??nk=1.
形狀:(N×1×1×1)?標簽?l, 是一個整數值,其范圍是?ln∈[0,1,2,...,K?1]?表示著在?K?個類中的索引。
輸出:
形狀:(1×1×1×1)?計算公式:?E=?1N∑n=1Nlog(p??n,ln)
應用場景:
在一對多的分類任務中使用,直接把預測的概率分布作為輸入.
Sigmoid 交叉熵損失函數(Sigmoid Cross Entropy Loss)
輸入:
形狀:?(N×C×H×W)?得分?x∈[?∞,+∞], 這個層使用 sigmoid 函數?σ(.)?映射到概率分布?p??n=σ(xn)∈[0,1]
形狀:(N×C×H×W)?標簽?y∈[0,1]
輸出:
應用場景:?
預測目標概率分布
Softmax+損失函數(Softmax With Loss)
輸入:
形狀:(N×C×H×W)?預測值?x∈[?∞,+∞]?代表預測每個類的得分。 共?K=CHW?類. 這一層把得分通過softmax映射到概率分布?p??nk=exp(xnk)/[∑k′exp(xnk′)]
形狀:(N×1×1×1)?標簽值 是一個整數值,其范圍是?ln∈[0,1,2,...,K?1]?表示著在?K?個類中的索引。
輸出:
應用場景:
在一對多分類中應用。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Caffe中的损失函数解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Caffe实践】 多目标输出探究
- 下一篇: opencv grabcut