sofmax loss
softmax loss是最常用的組件之一锯七,但是缺乏鼓勵特征更具辨識性链快,這種廣泛使用的損失對模型的優(yōu)化效果是有限的。
Modify-softmax
我們將權(quán)值歸一化眉尸,即令 域蜗,并使偏置為0,則損失函數(shù)變?yōu)椋?br>
盡管Modify-softmax函數(shù)可以通過角度邊界學習特征效五,但是這些特征仍然不具有很強的辨識性地消。
Center loss
最小化類內(nèi)距離,并且保持類間距離是提升模型分類精度的關(guān)鍵畏妖。
代表類別
的特征中心脉执,它會隨著特征的變化而改變。
首先戒劫,采用mini-batch更新特征中心半夷,而不是整個訓練數(shù)據(jù)集婆廊。每一輪迭代,計算每個類特征的平均巫橄;其次淘邻,為了避免部分錯誤樣本導(dǎo)致訓練過程出現(xiàn)較大的抖動,本次采用控制特征中心的更新湘换。
因此最終的損失函數(shù)為:
Contrastive-center loss
我們建模的時候宾舅,希望模型特征具有類內(nèi)聚集、類間分隔的特點彩倚,而中心損失只考慮了類內(nèi)聚集筹我,未能考慮類間分隔。針對上面的問題帆离,本文考慮:1)訓練樣本到類別中心的距離最短蔬蕊;2)訓練樣本與其非對應(yīng)類別中心的距離之和最大。
代表類別個數(shù)哥谷;
是一個常量岸夯,用于防止分母為0,其默認為1们妥。
L-softmax
為了實現(xiàn)類內(nèi)聚集猜扮、類間分隔,一個直觀的想法就是將樣本與參數(shù)之間的分離特性轉(zhuǎn)變?yōu)榉群徒嵌?br>
在softmax損失函數(shù)中监婶,因為softmax損失采用cosine距離作為分類預(yù)測的份破镰,因此預(yù)測標簽由每個類的角度相似性決定。因此压储,本文的目的是根據(jù)角相似性將SoftMax損失歸納為更一般的大范圍SoftMax(L-SoftMax)損失,從而導(dǎo)致所學特性之間可能存在更大的角可分離性源譬。
這里通過將一個預(yù)設(shè)常數(shù)m乘以樣本和真實類之間的角度來實現(xiàn)的
其中
越大集惋,分類邊界越大攘乒,目標函數(shù)也越難訓練者冤。
該方式具有如下3個特點:
- 它鼓勵類與類之間有角度的決策界限喳挑,生成更具辨別性的特性捅儒。
- 它通過定義一個更困難的學習目標括改,對過擬合問題提出不同的觀點介劫,一定程度上避免了過擬合争群。
- L-SoftMax不僅有利于分類問題课梳,也有利于驗證問題理卑,即理想情況下學習到特性的最小類間距離應(yīng)大于最大類內(nèi)距離翘紊。
A-softmax
作者提出了一種通過角度量化不同類之間分隔距離的方法,并且由一項額外的約束項顯式的加強不同類的角度差異藐唠。
模型通過angular softmax損失和歸一化損失進行聯(lián)合監(jiān)督帆疟,因此全局的損失函數(shù)為
其中鹉究,angular softmax損失促使采樣表征向聚簇中心
聚集
而,歸一化項促使不同的聚簇中心和
盡量分離
AM-softmax
作者針對softmax loss提出了一種新的加性角度的margin踪宠,它具有直觀的吸引力并且更好的解釋性自赔。
作者對softmax函數(shù)中定義為加性margin
對比A-softmax和L-softmax,該方式更簡單直接柳琢。假定
因此模型前向傳播只需要計算绍妨,后向梯度計算
。
因此最終的損失函數(shù)為
SM-softmax
SM-softmax通過一個非負實數(shù)調(diào)整softmax前向計算柬脸,而不改變后向計算他去。因此,它不僅可以調(diào)整所需的連續(xù)soft margin肖粮,而且很容易通過典型的隨機梯度下降進行優(yōu)化孤页。由于A-softmax中
是正整數(shù),因此該函數(shù)不能遍歷所有的角度涩馆。為了處理這樣的問題行施,作者引入soft margin,并定義為
其中魂那,是非負實數(shù)蛾号。
該函數(shù)的優(yōu)點:
- 首先,
可以遍歷所有的期望margin涯雅,包括硬間隔
鲜结。
- 其次,SM-softmax損失實現(xiàn)起來比較容易活逆。
Triplet Loss
Triplet loss訓練的目標是
- 同一個標簽下精刷,不同樣本的embedding空間相互靠近
- 不同標簽下,不同樣本的embedding空間相互分離
根據(jù)定義可以將triplet loss分為三類
Easy triplets
蔗候,即
怒允,這種情況不需要優(yōu)化,天然
的距離小于
锈遥。
Hard triplets
anchor距離大于
纫事,即
Semi-hard triplets
,即
的距離很近所灸,但是有一個margin丽惶。
假設(shè)輸入樣本量,其中
代表類別個數(shù)爬立,
代表類別下樣本個數(shù)钾唬。
-
Batch All
選擇所有有效的triplets,并對hard 和semi-hard triplets樣本損失取平均。
- 一個重要的點就是不考慮相對較為容易的triplets樣本(這些樣本的損失為0)知纷,對他們?nèi)∑骄鶗沟脫p失非常小壤圃。
- 這可以生成
個triplets樣本
-
代表anchor數(shù)量
-
代表每個anchor包含的positive樣本
-
代表可能的negative樣本
-
-
Batch Hard
在一個batch中,針對每一個anchor琅轧,選擇最難的positive(距離最大的
)和最難的negative樣本伍绳。
- 從樣本中,我們可以生成
個triplets樣本乍桂。
- 選定的triplets樣本是batch中最難的冲杀。
- 從樣本中,我們可以生成
Pairwise Constrain Loss
其中,睹酌。上式可以轉(zhuǎn)化為
在原始的softmax特征空間中权谁,相同類別樣本的距離可能大于不同類別的距離。在Pairwise約束loss中憋沿,相似樣本Pair的距離小于間隔減去常量旺芽。不相似的pair距離大于
。
先前的contrastive loss辐啄,約束類內(nèi)距離為0采章、類間距離大于一個常量。它也可以看作是PCL的一個特例
但是相似pair的距離逼近0壶辜,這樣的假設(shè)太強可能不太適合真實環(huán)境悯舟。
最終的PCL損失函數(shù)定義為
其中
其中,代表pair的數(shù)量砸民,而
是一個更通用的logistic損失函數(shù)抵怎。
G-softmax
single-label classification
其中,是控制CDF寬度的參數(shù)岭参。如果
則該函數(shù)恢復(fù)為原始的softmax函數(shù)反惕。
是高斯分布的CDF,
其中演侯,
與原始的softmax不同承璃,G-softmax考慮了特征的分布。這樣處理有兩個好處蚌本,1)它可以逼近各種各樣的分布,例如:訓練樣本上的每個類隘梨。而softmax函數(shù)僅從當前觀察樣本中學習程癌;2)它可以直接量化類內(nèi)緊湊性和類間可分性。
multi-label classification
與僅僅采用作為輸入不同轴猎,考慮
和
作為模型輸入嵌莉。其中,
代表正向特征捻脖,用于計算特征屬于類別
的概率锐峭。
代表負向的特征中鼠,用于計算特征屬于非
類的概率。
因此沿癞,G-softmax 損失函數(shù)可以定義為
Virtual Softmax
作者提出Virtual Softmax援雇,通過添加一個虛擬的負類來加強特征的表征能力,從而學習到的特征具有類內(nèi)緊湊椎扬、類間分類的特點惫搏。添加虛擬負類源于自然和直觀的動機,帶來了比softmax更強的約束效果蚕涤。該方法能夠在訓練過程中筐赔,自動迭代更新,并且不會帶來計算負擔和內(nèi)存消耗揖铜。
針對監(jiān)督算法茴丰,添加額外的類別是一個大膽且合理的想法,用于加強模型特征的判別性能天吓。
理論上贿肩,越大,特征特性越好失仁。然而實際應(yīng)用中尸曼,訓練的樣本是有限的,總的類別數(shù)量是不變的萄焦,因此用真實存在的附加類來擴大角度是困難的控轿。一個最麻煩的問題是,由于訓練前類anchor向量
的隨機初始化和優(yōu)化過程中參數(shù)更新的動態(tài)性拂封,使得我們不能在原來相鄰的類之間準確地插入額外的類茬射。
為了解決上面的問題,作者插入單個動態(tài)負類到原始的softmax函數(shù)中冒签。該負類由當前訓練樣本構(gòu)造在抛,因為沒有真實的數(shù)據(jù)屬于這個虛擬的負類,因此它僅僅作為負類存在萧恕。因此最終的Virtual Softmax定義為
其中
模型的目標是新增虛擬類別之后刚梭,當前特征對應(yīng)的類仍然是最大概率的類別
參考文獻
- A Discriminative Feature Learning Approach for Deep Face Recognition
- RegularFace: Deep Face Recognition via Exclusive Regularization
- Contrastive-Center Loss For Deep Neural Networks
- SphereFace: Deep Hypersphere Embedding for Face Recognition
- Large-Margin Softmax Loss for Convolutional Neural Networks
- Soft-Margin Softmax for Deep Classification
- Correcting the Triplet Selection Bias for Triplet Loss
- Co-Representation Learning For Classification and Novel Class Detection via Deep Networks
- Robust Classification with Convolutional Prototype Learning
- Partially Supervised Graph Embedding for Positive Unlabelled Feature Selection
- G-softmax: Improving Intra-class Compactness and Inter-class Separability of Features
- Virtual Class Enhanced Discriminative Embedding Learning
- FaceNet: A Unified Embedding for Face Recognition and Clustering
- In Defense of the Triplet Loss for Person Re-Identification