[18.01] CosFace
大餘弦損失
CosFace: Large Margin Cosine Loss for Deep Face Recognition
人臉辨識的任務早在深度學習開始流行之前,就已經引起了研究人員的興趣。因為這是少數可以在生活中找到大量應用的領域之一,所以該領域一直都是近十幾年來的熱門話題。
定義問題
人臉辨識的問題跟一般分類的問題有所不同:
- 因為人臉實在太像了!
有別於過去在 ImageNet 等資料集上的分類問題,人臉辨識的問題在於,即使是同一個人的照片,不同的光線、角度、表情、甚至是攝影機的不同,都會導致照片的差異。
一般來說,我們在這個領域中 ,會討論人臉的兩個特性:
- 類內差異大:同一個人的照片之間的差異通常很大,因為光線、角度、表情、年齡等因素都會影響照片的表現。
- 類間差異小:人臉的基本結構是相似的,都是兩眼、一鼻、一口,所以不同人的照片之間的差異通常很小。
提示
可是我覺得人臉差異很大啊?
- 因為你的大腦已經習慣了區分人臉,所以覺得人臉之間的差異很大。但如果換個種族,例如貓?在只看「臉」的前提下,你能匹配十個以上的「貓臉」嗎?
人臉辨識系統
在一般的人臉辨識系統中,分為幾個部分:
- 特徵提取器:通常是一個卷積神經網路,用來將人臉圖片轉換成一個固定長度的特徵向量。
- 度量學習器:用來計算兩個特徵向量之間的距離,在部署階段會捨棄。
在「特徵提取器」的部分比較不用討論,因為這裡會跟著最新的主幹網路向前推進。
經過特徵提取器後,我們會得到一個特徵向量 ,目前最常見的維度為 512 維,在過去的研究中,512 維的長度理論上足夠表達全世界所有的人臉。
這個向量通常就是在人臉辨識領域中所要討論的「重點」。在過去的研究中,使用 Softmax 損失函數訓練的模型能力有限,對於邊際情況的區分能力不足。
而這正是本論文要解決這個問題。
解決問題
損失函數
在這裡,我們跟著作者一步一步來看看原始的 Softmax 損失函數是怎麼被改進的。
-
Softmax 損失函數: