如何保持分類模型具有類內(nèi)聚斂号涯、類間分離的特性?

sofmax loss

L_s=-\sum\limits_{i=1}^m log\frac{e^{W_{y_i}^T x_i + b_{y_i}}}{\sum\limits_{j=1}^n e^{W_j^T x_i + b_j}}
softmax loss是最常用的組件之一锯七,但是缺乏鼓勵特征更具辨識性链快,這種廣泛使用的損失對模型的優(yōu)化效果是有限的。

Modify-softmax

L=-log(\frac{e^{\parallel W_{y_i} \parallel \parallel x_i \parallel cos(\theta_{y_i}) + b_{y_i}}}{\sum\limits_{j} e^{\parallel W_j \parallel \parallel x_i \parallel cos(\theta_j) + b_{i}}})
我們將權(quán)值歸一化眉尸,即令\parallel W \parallel=1 域蜗,并使偏置為0,則損失函數(shù)變?yōu)椋?br> L_{modified}=\frac{1}{N}\sum\limits_i -log(\frac{e^{\parallel x_i \parallel cos(\theta_{y_i,i})}}{\sum\limits_j e^{\parallel x_i \parallel cos(\theta_{j,i})}})
盡管Modify-softmax函數(shù)可以通過角度邊界學習特征效五,但是這些特征仍然不具有很強的辨識性地消。

Center loss

最小化類內(nèi)距離,并且保持類間距離是提升模型分類精度的關(guān)鍵畏妖。
L_c=\frac{1}{2}\sum\limits_{i=1}^{m}\parallel x_i - c_{y_i} \parallel_2^2

c_{y_i}代表類別y_i的特征中心脉执,它會隨著特征的變化而改變。

首先戒劫,采用mini-batch更新特征中心半夷,而不是整個訓練數(shù)據(jù)集婆廊。每一輪迭代,計算每個類特征的平均巫橄;其次淘邻,為了避免部分錯誤樣本導(dǎo)致訓練過程出現(xiàn)較大的抖動,本次采用\alpha控制特征中心的更新湘换。

因此最終的損失函數(shù)為:
L=L_s + \lambda L_c=-\sum\limits_{i=1}^m log\frac{e^{W_{y_i}^T x_i + b_{y_i}}}{\sum\limits_{j=1}^n e^{W_j^T x_i + b_j}} + \frac{\lambda}{2}\sum\limits_{i=1}^m \parallel x_i - c_{y_i} \parallel_2^2

Contrastive-center loss

我們建模的時候宾舅,希望模型特征具有類內(nèi)聚集、類間分隔的特點彩倚,而中心損失只考慮了類內(nèi)聚集筹我,未能考慮類間分隔。針對上面的問題帆离,本文考慮:1)訓練樣本到類別中心的距離最短蔬蕊;2)訓練樣本與其非對應(yīng)類別中心的距離之和最大。
L_{ct-c}=\frac{1}{2}\sum\limits_{i=1}^m \frac{\parallel x_i - c_{y_i} \parallel_2^2}{(\sum\limits_{j=1,j\ne y_i}^k \parallel x_i - c_j \parallel_2^2) + \delta}

k代表類別個數(shù)哥谷; \delta 是一個常量岸夯,用于防止分母為0,其默認為1们妥。

L-softmax

為了實現(xiàn)類內(nèi)聚集猜扮、類間分隔,一個直觀的想法就是將樣本與參數(shù)之間的分離特性轉(zhuǎn)變?yōu)榉群徒嵌?br> W_c x = \parallel W_c \parallel_2 \parallel x \parallel_2 cos(\theta_c))
在softmax損失函數(shù)中监婶,因為softmax損失采用cosine距離作為分類預(yù)測的份破镰,因此預(yù)測標簽由每個類的角度相似性決定。因此压储,本文的目的是根據(jù)角相似性將SoftMax損失歸納為更一般的大范圍SoftMax(L-SoftMax)損失,從而導(dǎo)致所學特性之間可能存在更大的角可分離性源譬。
這里通過將一個預(yù)設(shè)常數(shù)m乘以樣本和真實類之間的角度來實現(xiàn)的
L_{L-Softmax}=-log(\frac{e^{\parallel W_{y_i} \parallel \parallel x_i \parallel \psi(\alpha \theta_{y_i})}}{e^{\parallel W_{y_i} \parallel \parallel x_i \parallel \psi(\alpha \theta_{y_i})} + \sum\limits_{j\ne y_i} ^ K e^{\parallel W_j \parallel \parallel x_i \parallel cos(\theta_j)}})
其中
\psi(\theta)=\{\begin{array}{l} cos(m\theta), 0 \le \theta \le \frac{\pi}{m}\\D(\theta), \frac{\pi}{m}\lt \theta \le \pi \end{array}\}
m越大集惋,分類邊界越大攘乒,目標函數(shù)也越難訓練者冤。
該方式具有如下3個特點:

  • 它鼓勵類與類之間有角度的決策界限喳挑,生成更具辨別性的特性捅儒。
  • 它通過定義一個更困難的學習目標括改,對過擬合問題提出不同的觀點介劫,一定程度上避免了過擬合争群。
  • L-SoftMax不僅有利于分類問題课梳,也有利于驗證問題理卑,即理想情況下學習到特性的最小類間距離應(yīng)大于最大類內(nèi)距離翘紊。

A-softmax

作者提出了一種通過角度量化不同類之間分隔距離的方法,并且由一項額外的約束項顯式的加強不同類的角度差異藐唠。
L_{A-Softmax}=-log(\frac{e^{\parallel x_i \parallel cos(\alpha \theta_{y_i})}}{e^{ \parallel x_i \parallel cos(\alpha \theta_{y_i})} + \sum\limits_{j\ne y_i} ^ K e^{ \parallel x_i \parallel cos(\theta_j)}})
模型通過angular softmax損失和歸一化損失進行聯(lián)合監(jiān)督帆疟,因此全局的損失函數(shù)為
L(\theta, W)=L_s(\theta, W) + \lambda L_r(W)
其中鹉究,angular softmax損失促使采樣表征x_i向聚簇中心W_{y_i}聚集
L_s(\theta, W)=\frac{1}{N}\sum\limits_{i=1}^N -log\frac{{e^{\parallel x_i \parallel_2 cos(\phi_{i,y_i})}}}{\sum\limits_j {e^{\parallel x_i \parallel_2 cos(\phi_i,j)}}}

而,歸一化項促使不同的聚簇中心W_jW_i盡量分離
L_r(W)=\frac{1}{C}\sum\limits_i \max\limits_{j\ne i}\frac{W_i W_j}{\parallel W_i \parallel . \parallel W_j \parallel}

AM-softmax

作者針對softmax loss提出了一種新的加性角度的margin踪宠,它具有直觀的吸引力并且更好的解釋性自赔。
作者對softmax函數(shù)中\psi定義為加性margin
\psi(\theta)=cos\theta -m
對比A-softmax和L-softmax,該方式更簡單直接柳琢。假定
x=cos\theta_{y_i}=\frac{W_{y_i}^T f_i}{\parallel W_{y_i} \parallel \parallel f_i \parallel }
因此模型前向傳播只需要計算\Phi(x)=x-m绍妨,后向梯度計算\phi^{\prime}(x)=1

因此最終的損失函數(shù)為
L_{AMS}=-\frac{1}{n}\sum\limits_{i=1}^n log \frac{e^{s.(cos\theta_{y_i}-m)}}{e^{s.(cos\theta_{y_i}-m)} + \sum\limits_{j=1,y\ne y_i}^c e^{s.cos\theta_j}}=-\frac{1}{n}\sum\limits_{i=1}^n log \frac{e^{s.(W_{y_i}^T f_i - m)}}{e^{s.(W_{y_i}^T f_i -m) } + \sum\limits_{j=1,j \ne y_i}^c e^{s W_j^T f_i}}

SM-softmax

SM-softmax通過一個非負實數(shù)m調(diào)整softmax前向計算柬脸,而不改變后向計算他去。因此,它不僅可以調(diào)整所需的連續(xù)soft margin肖粮,而且很容易通過典型的隨機梯度下降進行優(yōu)化孤页。由于A-softmax中\alpha是正整數(shù),因此該函數(shù)不能遍歷所有的角度涩馆。為了處理這樣的問題行施,作者引入soft margin,并定義為
W_1^T x \ge W_1^T x - m \gt W_2^T x
其中魂那,m是非負實數(shù)蛾号。
L_i=-log(\frac{e^{W_{y_i}^T x_i-m}}{e^{W_{y_i}^T x_i -m} + \sum\limits_{j\ne y_i} e^{W_j^T x_i}})

該函數(shù)的優(yōu)點:

  • 首先,m可以遍歷所有的期望margin涯雅,包括硬間隔\alpha鲜结。
  • 其次,SM-softmax損失實現(xiàn)起來比較容易活逆。

Triplet Loss

Triplet loss訓練的目標是L=max(d(a,p)-d(a,n) + margin, 0)

  • 同一個標簽下精刷,不同樣本的embedding空間相互靠近
  • 不同標簽下,不同樣本的embedding空間相互分離

根據(jù)定義可以將triplet loss分為三類

  • Easy triplets
    L=0蔗候,即d(a,p)+margin < d(a,n)怒允,這種情況不需要優(yōu)化,天然<anchor, positive>的距離小于<anchor, negative>锈遥。

  • Hard triplets
    positive \rightarrowanchor距離大于negative \rightarrow anchor纫事,即d(a,n) < d(a, p)

  • Semi-hard triplets
    d(a,p) < d(a, n) < d(a,p) + margin,即<anchor, negative>的距離很近所灸,但是有一個margin丽惶。

假設(shè)輸入樣本量B=PK,其中P代表類別個數(shù)爬立,K代表類別下樣本個數(shù)钾唬。

  • Batch All
    L_{BA}(\theta;X)=\overbrace{\sum\limits_{i=1}^P\sum\limits_{a=1}^K}^{all-anchors}\overbrace{\sum\limits_{p=1,p \ne a}^K}^{all-pos}\overbrace{\sum\limits_{j=1,j \ne i}^P \sum\limits_{n=1}^K}^{all-negatives}[m+d_{j,a,n}^{i,a,p}]_+
    d_{j,a,n}^{i,a,p}=D(f_{\theta}(x_a^i),f_{\theta}(x_p^i))-D(f_{\theta}(x_a^i), f_{\theta}(x_n^j))

    選擇所有有效的triplets,并對hard 和semi-hard triplets樣本損失取平均。

    • 一個重要的點就是不考慮相對較為容易的triplets樣本(這些樣本的損失為0)知纷,對他們?nèi)∑骄鶗沟脫p失非常小壤圃。
    • 這可以生成PK(K?1)(PK?K)個triplets樣本
      • PK代表anchor數(shù)量
      • K-1代表每個anchor包含的positive樣本
      • PK?K代表可能的negative樣本
  • Batch Hard
    L_{BH}(\theta;X)=\overbrace{\sum\limits_{i=1}^P \sum\limits_{a=1}^K}^{all-anchors}[m + \overbrace{\max\limits_{p=1...K}D(f_{\theta}(x_a^i), f_{\theta}(x_p^i))}^{hardest-positive}-\underbrace{\min\limits_{j=1...P,n=1...K,j\ne i}D(f_{\theta}(x_a^i),f_{\theta}(x_n^j))}_{hardest-negative}]_+

    在一個batch中,針對每一個anchor琅轧,選擇最難的positive(距離最大的d(a,p))和最難的negative樣本伍绳。

    • 從樣本中,我們可以生成PK個triplets樣本乍桂。
    • 選定的triplets樣本是batch中最難的冲杀。

Pairwise Constrain Loss

S_{i,j}(\tau - D_{\phi}^2(x_i, x_j)) \gt \gamma
其中,0<\gamma<\tau睹酌。上式可以轉(zhuǎn)化為
\frac{S_{i,j}+1}{2}max\{0, \gamma-\tau+D_{\phi}^2(x_i,x_j)\} + \frac{1-S_{i,j}}{2}max\{0, \gamma + \tau - D_{\phi}^2(x_i, x_j)\}
在原始的softmax特征空間中权谁,相同類別樣本的距離可能大于不同類別的距離。在Pairwise約束loss中憋沿,相似樣本Pair的距離小于間隔減去常量\tau-\gamma旺芽。不相似的pair距離大于\tau+\gamma
先前的contrastive loss辐啄,約束類內(nèi)距離為0采章、類間距離大于一個常量。它也可以看作是PCL的一個特例
\frac{S_{i,j}+1}{2}max\{0, D_{\phi}^2(x_i,x_j)\} + \frac{1-S_{i,j}}{2}max\{0, m - D_{\phi}^2(x_i, x_j)\}
但是相似pair的距離逼近0壶辜,這樣的假設(shè)太強可能不太適合真實環(huán)境悯舟。
最終的PCL損失函數(shù)定義為
arg \min\limits_{\phi} L_{PC}=L_{pair}+L_{regularization}=\frac{1}{2}\sum\limits_{i,j=1}^M g(\gamma - S_{i,j}(\tau - D_{\phi}^2(x_i, x_j))) + \frac{\gamma}{2M}\sum\limits_{l=1}^N (\parallel W^{(l)} \parallel _F ^2)
其中
L_{pair}=\frac{1}{2}\sum\limits_{i,j=1}^M g(\gamma - S_{i,j}(\tau - D_{\phi}^2(x_i, x_j)))
其中,M代表pair的數(shù)量砸民,而g(x)是一個更通用的logistic損失函數(shù)抵怎。
g(x)=\frac{1}{\beta}log(1 + exp(\beta x))

G-softmax

single-label classification

p_i=\frac{exp(\overbrace{x_i}^{activation} + \overbrace{\lambda \Phi(x_i;\mu_i,\delta_i)}^{distribution term})}{\sum\limits_{j=1}exp(x_j + \lambda \Phi(x_j;\mu_j,\delta_j))}

其中,\lambda是控制CDF寬度的參數(shù)岭参。如果\lambda=0則該函數(shù)恢復(fù)為原始的softmax函數(shù)反惕。 \Phi 是高斯分布的CDF,
\Phi(x_i;\mu_i,\delta_i)=\frac{1}{2}erf(\frac{-\sqrt{2}(\mu_i-x_i)}{2\delta_i}) +\frac{1}{2}
其中演侯,
erf(z)=\frac{1}{\sqrt{\pi}}\int_{-z}^z e^{-t^2}dt
與原始的softmax不同承璃,G-softmax考慮了特征的分布。這樣處理有兩個好處蚌本,1)它可以逼近各種各樣的分布,例如:訓練樣本上的每個類隘梨。而softmax函數(shù)僅從當前觀察樣本中學習程癌;2)它可以直接量化類內(nèi)緊湊性和類間可分性。

multi-label classification

l=-\sum\limits_{i=1}^m y_i log(\frac{1}{1+exp(-x_i)}) + (1 - y_i) log(1 - \frac{1}{1 + exp(-x_i)})
與僅僅采用x_i作為輸入不同轴猎,考慮x_i^+x_i^-作為模型輸入嵌莉。其中,x_i^+代表正向特征捻脖,用于計算特征屬于類別i的概率锐峭。x_i^-代表負向的特征中鼠,用于計算特征屬于非i類的概率。

l=-\sum\limits_{i=1}^m y_i log(\frac{1}{1 + exp(-x_i^+)})+(1-y_i)log(\frac{1}{1+exp(-x_i^-)})
因此沿癞,G-softmax 損失函數(shù)可以定義為

l=-\sum\limits_{i=1}^m y_i log(\frac{1}{1+exp(-x_i^+ - \lambda \Phi(x_i^+;\mu_i^+,\delta_i^+))}) + (1-y_i)log(1-\frac{1}{1+exp(-x_i^- - \lambda\Phi(x_i^-;\mu_i^-,\delta_i^-))})

Virtual Softmax

作者提出Virtual Softmax援雇,通過添加一個虛擬的負類來加強特征的表征能力,從而學習到的特征具有類內(nèi)緊湊椎扬、類間分類的特點惫搏。添加虛擬負類源于自然和直觀的動機,帶來了比softmax更強的約束效果蚕涤。該方法能夠在訓練過程中筐赔,自動迭代更新,并且不會帶來計算負擔和內(nèi)存消耗揖铜。

針對監(jiān)督算法茴丰,添加額外的類別是一個大膽且合理的想法,用于加強模型特征的判別性能天吓。
L_i=-log\frac{e^{W_{y_i}^T X_i}}{\sum\limits_{j=1}^{C+K} e^{W_j^T X_i}} = -log\frac{e^{\parallel W_{y_i} \parallel \parallel X_i \parallel cos \theta_{y_i}}}{\sum\limits_{j=1}^{C+K} e^{\parallel W_j \parallel \parallel X_i \parallel cos \theta_j}}
理論上贿肩,K越大,特征特性越好失仁。然而實際應(yīng)用中尸曼,訓練的樣本是有限的,總的類別數(shù)量是不變的萄焦,因此用真實存在的附加類來擴大角度是困難的控轿。一個最麻煩的問題是,由于訓練前類anchor向量W的隨機初始化和優(yōu)化過程中參數(shù)更新的動態(tài)性拂封,使得我們不能在原來相鄰的類之間準確地插入額外的類茬射。
為了解決上面的問題,作者插入單個動態(tài)負類到原始的softmax函數(shù)中冒签。該負類由當前訓練樣本x_i構(gòu)造在抛,因為沒有真實的數(shù)據(jù)屬于這個虛擬的負類,因此它僅僅作為負類存在萧恕。因此最終的Virtual Softmax定義為
L=\frac{1}{N}\sum\limits_{i=1}^N L_i=-\frac{1}{N}\sum\limits_{i=1}^N log\frac{e^{W_{y_i}^T X_i}}{\sum\limits_{j=1}^C e^{W_j^T X_i} + e^{W_{virt}^T X_i}}
其中
W_{virt}=\frac{\parallel W_{y_i} \parallel X_i}{\parallel X_i \parallel}
模型的目標是新增虛擬類別之后刚梭,當前特征對應(yīng)的類仍然是最大概率的類別
W_{y_i}^T X_i \ge max\underbrace{(W_1^T X_i...W_C^T X_i,W_{virt}^T X_i)}

參考文獻

  • 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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市票唆,隨后出現(xiàn)的幾起案子朴读,更是在濱河造成了極大的恐慌,老刑警劉巖走趋,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衅金,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機氮唯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門鉴吹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惩琉,你說我怎么就攤上這事豆励。” “怎么了琳水?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵肆糕,是天一觀的道長。 經(jīng)常有香客問我在孝,道長诚啃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任私沮,我火速辦了婚禮始赎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘仔燕。我一直安慰自己造垛,他們只是感情好,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布晰搀。 她就那樣靜靜地躺著五辽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪外恕。 梳的紋絲不亂的頭發(fā)上杆逗,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機與錄音鳞疲,去河邊找鬼罪郊。 笑死,一個胖子當著我的面吹牛尚洽,可吹牛的內(nèi)容都是我干的悔橄。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼腺毫,長吁一口氣:“原來是場噩夢啊……” “哼癣疟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起潮酒,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤睛挚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后澈灼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年叁熔,在試婚紗的時候發(fā)現(xiàn)自己被綠了委乌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡荣回,死狀恐怖遭贸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情心软,我是刑警寧澤壕吹,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站删铃,受9級特大地震影響耳贬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜猎唁,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一咒劲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诫隅,春花似錦腐魂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至豁生,卻和暖如春兔毒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沛硅。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工眼刃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摇肌。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓擂红,卻偏偏與公主長得像,于是被迫代替她去往敵國和親围小。 傳聞我的和親對象是個殘疾皇子昵骤,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容