Label Smoothing分析

極市導(dǎo)讀
?Label Smoothing在圖像識別中能穩(wěn)定漲點,但在人臉的loss里加上Label Smoothing卻是掉點的,本文作者詳細分析了該方法的問題,Label Smoothing起到的作用實際上是抑制了feature norm,此時只能控制角度,起到反向優(yōu)化的作用,因此在人臉loss上加Label Smoothing效果會變差。?>>加入極市CV技術(shù)交流群,走在計算機視覺的最前沿
有挺多人問過我一個問題:Label Smoothing在圖像識別中能穩(wěn)定漲點,在人臉的loss里加上Label Smoothing是否有用呢?
我挺早之前就注意到了這件事,當(dāng)時也做了實驗,發(fā)現(xiàn)直接應(yīng)用在人臉相關(guān)的loss上,是掉點的。其實DL發(fā)展到現(xiàn)在,可以說如果你想到了一個非常簡單的排列組合式idea,而經(jīng)過survey沒見過別人這么做,那大概率這個方法是不work的...
但這事到這當(dāng)然不算完,我們得分析一下它為啥不work。
要引出Label Smoothing,首先我們要知道,Softmax Cross Entropy不僅可以做分類任務(wù)(目標(biāo)為one-hot label),還可以做回歸任務(wù)(目標(biāo)為soft label)。設(shè)網(wǎng)絡(luò)輸出的softmax prob為p,soft label為q,那Softmax Cross Entropy定義為:

而Label Smoothing雖然仍是做分類任務(wù),但其目標(biāo)q從one-hot label變?yōu)閟oft label了,原來是1的位置變?yōu)?
?,其他的原來是0的位置變?yōu)?
?,?
?通常取0.1。
假設(shè)一個6分類任務(wù),之前的?
?就變成了?
?,直觀上看,這個目標(biāo)還是很奇怪的,如果一個樣本網(wǎng)絡(luò)非常確認其類別,給了個0.99的置信度,難道經(jīng)過Label Smoothing,還要反向優(yōu)化不成?
這個問題其實在概率層面上是沒法解釋的,從概率上看,確實會有發(fā)生反向優(yōu)化的情況,但為什么這樣可以漲點呢?
看看Hinton組對Label Smoothing的分析文章[1],里面有一張圖比較有意思:

熟悉人臉識別loss的人會發(fā)現(xiàn),這個Label Smoothing得到的特征分布,怎么跟人臉loss的效果這么像?竟然都可以起到讓每個類別的樣本聚攏的效果。
而少數(shù)細心的朋友可能會發(fā)現(xiàn)這里的玄機:不做Label Smoothing(標(biāo)注為w/o LS)的feature norm,普遍比做了LS(標(biāo)注為w/ LS)的要大很多!w/o LS時最大可以達到1.6,而w/ LS時只有0.4。
回顧之前的文章,減小feature norm實際上等效于降低s,較低的s會使softmax prob的最大值降低,如下圖所示(來自于zhuanlan.zhihu.com/p/52?):


?后,我們只會用到sigmoid曲線上中間的一段,平緩的區(qū)域基本上不存在了,樣本的移動幾乎永不終止,因此特征會比不加LS更加聚攏。
?,loss曲面上不再存在平緩區(qū)域,處處都有較大的梯度指向各個類中心,所以特征會更加聚攏。而之所以人臉上不work,是因為我們通常會使用固定的s,此時Label Smoothing無法控制feature norm,只能控制角度,就會起到反向優(yōu)化的作用,因此在人臉loss上加Label Smoothing效果會變差。參考
When Does Label Smoothing Help??https://arxiv.org/pdf/1906.02629.pdf
推薦閱讀

