1. 程式人生 > >Large-Margin Softmax Loss for Convolutional Neural Networks

Large-Margin Softmax Loss for Convolutional Neural Networks

線性分類 大學 amp ima 困難 訓練 http con network

paper url: https://arxiv.org/pdf/1612.02295
year:2017

Introduction

交叉熵損失與softmax一起使用可以說是CNN中最常用的監督組件之一。 盡管該組件簡單而且性能出色, 但是它只要求特征的可分性, 沒有明確鼓勵網絡學習到的特征具有類內方差小, 類間方差大的特性。 該文中,作者提出了一個廣義的 large margin softmax loss(L-Softmax),是large margin系列的開篇之作. 它明確地鼓勵了學習特征之間的類內緊湊性和類間可分離性。

Softmax Loss

Softmax Loss定義如下

\[ \bf \text{Softmax Loss = FC + Softmax + Cross-Entropy} \]

技術分享圖片?

如上圖, 當前CNN分類網絡可以看成 特征提取backbone+Softmax Loss 部分
特征提取網絡最後一層特征記為 \(\bf x\), 最後一層 FC 可以看成一個 N 類線性分類器, N 為類別數.

Insight

由於 Softmax 並沒有明確地鼓勵類內緊湊性和類間分離性。 基於此, 該文中一個insight就是, 特征提取網絡提取的特征向量 x 和與相應類別c的權重向量\(W_c\)的乘積可以分解為模長+余弦值:
\[W_cx = ||W_c||_2 ||x||_2 \cos(θ_c)\]
其中, c為類別索引, \(W_c\) 是最後一個FC層的參數, 可以認為是的類別 c 的線性分類器。

從而, Softmax Loss 重構如下
技術分享圖片?

這樣, 在L-Softmax loss中,類別預測很大程度上取決於特征向量\(x\)與權重\(W_c\)的余弦相似性.

method

余弦函數如下
技術分享圖片?

\(\theta = [0, \pi]\)時候, \(\cos(\theta)\) 單調遞減

下面以二分類為例, 對於類別 1

Softmax 要求,
\[W_1x > W_2x\]
\[\Downarrow\]
\[||W_1||_2 ||x||_2 \cos(θ_1) > ||W_2||_2 ||x||_2 \cos(θ_2)\]
\[\Downarrow\]
\[||W_1||_2 \cos(θ_1) > ||W_2||_2 \cos(θ_2)\]

L-Softmax 要求,

\[ ||W_1||_2 \cos(mθ_1) > ||W_2||_2 \cos(θ_2) \]
那麽, 由於\(\cos\theta\)\([0, \pi]\)上的單調遞減特性, 有如下不等式

\[||W_1||_2 \cos(θ_1) \gt ||W_1||_2 \cos(mθ_1) > ||W_2||_2 \cos(θ_2), \quad m \gt 1\]

幾何上直觀理解如下

技術分享圖片?

property

L-Softmax損失具有清晰的幾何解釋. m控制類別之間的差距. 隨著m越大(在相同的訓練損失下),類之間的margin變得越大, 學習困難也越來越大.
L-Softmax損失定義了一個相對困難的學習目標,可調節margin(margin 表示了特征學習困難程度)。 一個困難的學習目標可以有效地避免overfiting,並充分利用來自深層和廣泛架構的強大學習能力。

experiment result

toy example
技術分享圖片?
技術分享圖片?

技術分享圖片?

可以看出, L-softmax 的訓練損失更大, 但是在測試集上損失更小.

thought

該篇論文為 larger-margin softmax loss 的開篇之作. 提出乘性 larger-margin softmax loss, 相較與加性 larger-margin softmax loss(如 AM-softmax, ArcFace), 訓練難度更大(需要用到退火訓練方法, 見原文 5.1), 效果而言, 也是加性 loss 更好.


\[||W_1||_2 \cos(θ_1) \ge ||W_1||_2 \cos(mθ_1) > ||W_2||_2 \cos(θ_2), \quad m \ge 1\]
可以看出, 該不等式不僅依賴余弦角度而且依賴最後一層 FC 的權重的模長, 所以, 為了學習的特征更加專註於對於余弦角度的優化, 後面一批論文很多都用到權重歸一化, 效果很好.

同時可以看到, 在特征分類時, 其實 feature 的模長會被消元, 為了各個類別學習的特征更加有判別能力, 後面一批論文也做了特征歸一化(實際上將特征模長限制為 1 會降低特征的表達能力, 其實在加難特征學習的過程)

總之, 後面的各個large margin 系列, 特征歸一化, 權重歸一化已經是標配了.

?

Large-Margin Softmax Loss for Convolutional Neural Networks