Hinton等人最新研究:大幅提升模型准確率,標簽平滑技術到底怎么用?
作者 | Rafael Müller , Simon Kornblith, Geoffrey Hinton
譯者 | Rachel
責編 | Jane
出品 | AI科技大本營(ID: rgznai100)
【導讀】損失函數對神經網絡的訓練有顯著影響,也有很多學者人一直在探討並尋找可以和損失函數一樣使模型效果更好的函數。后來,Szegedy 等學者提出了標簽平滑方法,該方法通過計算數據集中 hard target 的加權平均以及平均分布來計算交叉熵,有效提升了模型的准確率。近日,Hinton 團隊等人在新研究論文《When Does Label Smoothing Help?》中,就嘗試對標簽平滑技術對神經網絡的影響進行分析,並對相關網絡的特性進行了描述。
在開始今天的論文解讀之前,我們先快速了解研究中的主角和相關知識的概念:
-
什么是 soft target?計算方法是什么?
使用 soft target,多分類神經網絡的泛化能力和學習速度往往能夠得到大幅度提高。文本中使用的soft target 是通過計算hard target 的加權平均和標簽的均勻分布得到的,而這一步驟稱為標簽平滑。
-
標簽平滑技術有什么作用?
標簽平滑技術能夠有效防止模型過擬合,且在很多最新的模型中都得到了應用,比如圖片分類、機器翻譯和語音識別。
-
Hinton 的這個研究想說明什么問題?
本文通過實驗證明,標簽平滑不僅能夠提升模型的泛化能力,還能夠提升模型的修正能力,並進一步提高模型的集束搜索能力。但在本文的實驗中還發現,如果在teacher model 中進行標簽平滑,對student model 的知識蒸餾效果會出現下降。
-
研究中如何解釋發現的現象?
為了對這一現象進行解釋,本文對標簽平滑對網絡倒數第二層表示的影響進行了可視化,發現標簽平滑使同一類訓練實例表示傾向於聚合為緊密的分組。這導致了不同類的實例表示中相似性的信息丟失,但對模型的泛化能力和修正能力影響並不明顯。
1、介紹
損失函數對神經網絡的訓練有顯著影響。在 Rumelhart 等人提出使用平方損失函數進行反向傳播的方法后,很多學者都提出,通過使用梯度下降方法最小化交叉熵,能獲得更好的分類效果。但是學者對損失函數對討論從未停止,人們認為仍有其他的函數能夠代替交叉熵以取得更好的效果。隨后,Szegedy等學者提出了標簽平滑方法,該方法通過計算數據集中hard target 的加權平均以及平均分布來計算交叉熵,有效提升了模型的准確率。
標簽平滑技術在圖片分類、語音識別、機器翻譯等多個領域的深度學習模型中都取得了很好的效果,如表1所示。在圖片分類中,標簽平滑最初被用於提升 ImageNet 數據集上Inception-v2 的效果,並在許多最新的研究中得到了應用。在語音識別中,一些學者通過標簽平滑技術降低了 WDJ 數據集上的單詞錯誤率。在機器翻譯中,標簽平滑幫助小幅度提升了 BLEU 分數。
表1 標簽平滑技術在三種監督學習任務中的應用
盡管標簽平滑技術已經得到了有效應用,但現有研究對其原理及應用場景的適用性討論較少。
Hinton 等人的這篇論文就嘗試對標簽平滑技術對神經網絡的影響進行分析,並對相關網絡的特性進行了描述。本文貢獻如下:
-
基於對網絡倒數第二層激活情況的線性映射提出了一個全新的可視化方法;
-
闡釋了標簽平滑對模型修正的影響,並指出網絡預測結果的可信度更多取決於模型的准確率;
-
展示了標簽平滑對蒸餾的影響,並指出該影響會導致部分信息丟失。
1.1 預備知識
這一部分提供了標簽平滑的數學描述。假設將神經網絡的預測結果表示為倒數第二層的激活函數,公式如下:
其中 pk 表示模型分類結果為第 k 類的可能性,wk 表示網絡最末層的權重和偏置,x 是包括網絡倒數第二層激活函數的向量。在使用hard target 對網絡進行訓練時,我們使用真實的標簽 yk 和網絡的輸出 pk 最小化交叉熵,公式如下:
其中當分類為正確時, yk 值為1,否則為0。對於使用參數 a 進行標簽平滑后的網絡,則在訓練時使用調整后的標簽 和網絡的輸出 pk 計算並最小化交叉熵,其中,
2、倒數第二層的表示
對於使用參數 a 對網絡進行標簽平滑后的神經網絡,其正確和錯誤分類的 logit 值之間的差會增大,改變程度與 a 的值相關。在使用硬標簽對網絡進行訓練時,正確分類的 logit 值會遠大於錯誤分類,且不同錯誤分類的值之間差異也較大。一般而言,第 k 個類別的 logit 值可以看作網絡倒數第二層的激活函數 x 和標准 wk 之間的歐式距離的平方,表示如下:
因此,標簽平滑會使倒數第二層的激活函數與正確分類間的差值減小,並使其與正確和錯誤分類的距離等同。為了對標簽平滑的這一屬性進行觀察,本文依照以下步驟提出了一個新的可視化方式:(1)選擇三個類別;(2)找到這三個分類的一個標准正交平面,(3)把實例在倒數第二層的激活函數投射在該平面上。
圖 1 展示了本文在 CIFAR-10, CIFAR-100 和 ImageNet 三個數據集上進行圖片分類任務時,網絡倒數第二層的激活函數的情況,訓練使用的網絡架構包括 AlexNet, ResNet-56 和 Inception-v4 。其中,前兩列的模型未進行標簽平滑處理,后兩列使用了標簽平滑技術。表2展示了標簽平滑對模型准確率的影響。
圖 1 圖片分類任務可視化情況
表2 使用和未使用標簽平滑技術的模型的最高准確率
第一行可視化使用的數據集為 CIFAR-10 ,標簽平滑的參數值為 0.1 ,三個圖片分類分別為“airplane”,“automobil”和“bird”。這些模型的准確率基本相同。可以發現,在使用標簽平滑的網絡中,聚類更加緊湊。
第二行可視化使用的數據集為 CIFAR-100,模型為 ResNet-56 ,選擇的圖片分類為“beaver”,“dolphin”,“otter”。在這次實驗中,使用標簽平滑技術的網絡獲得了更高的准確率。
最后,本文使用 Inception-v4 在 ImageNet 數據集上進行了實驗,並使用具有和不具有語義相似性的分類分別進行了實驗。其中,第三行使用的分類不具有語義相似性,分別為“tench”,“meerkat”和“cleaver”。第四行使用了的兩個具有語義相似性的分類“toy poodle”和‘miniature poodle“以及另一個不同的分類“tench, in blue”。對於語義相似的類別而言,即使是在訓練集上都很難進行區分,但標簽平滑較好地解決了這一問題。
從上述實驗結果可以發現,標簽平滑技術對模型表示的影響與網絡結構、數據集和准確率無關。
3、隱式模型修正
標簽平滑能夠有效防止模型過擬合。在本部分,論文嘗試探討該技術是否能通過提升模型預測的准確性改善模型修正能力。為衡量模型的修正能力,本文計算了預期修正誤差(expected calibration error, ECE)。本文發現,標簽平滑技術能夠有效降低 ECE ,並可用於模型修正過程。
圖片分類
圖2左側展示了 ResNet-56 在 CIFAR-100 數據集上訓練后得到的一個可靠性圖表,其中虛線表示理想的模型修正情況。可以發現,使用硬標簽的模型出現了過擬合的情況。如果需要對模型進行調整,可以將 softmax 的 temperature 調至1.9,或者使用標簽平滑技術進行調整。如圖中綠線所示,當使用 a = 0.05 進行標簽平滑處理時,能夠得到相似的模型修正效果。這兩種方法都能夠有效降低 ECE 值。
本文在 ImageNet 上也進行了實驗,如圖2右側所示。使用硬標簽的模型仍然出現過擬合情況 ,ECE 高達0.071。通過使用溫度縮放技術(T = 1.4),可將 ECE 降低至0.022, 如藍線所示。當使用 a = 0.1 的標簽平滑時,能夠將 ECE 降低至0.035。
圖2 可信度圖表
機器翻譯
本部分對使用 Transformer 架構的網絡的調整進行了實驗,使用的評測任務為英譯徳。與圖片分類任務不同,在機器翻譯中,網絡的輸出會作為集束搜索算法的輸入,這意味着模型的調整將對准確率產生影響。
本文首先比較了使用硬標簽的模型和經過標簽平滑(a = 0.1)的模型的可信度,如圖3所示。可以發現,使用標簽平滑的網絡的調整情況優於使用硬標簽的網絡。
圖3 基於英譯徳任務訓練的Transformer 架構的可信度圖表
盡管標簽平滑能夠獲得更佳的模型調優和更高的 BLEU 值,其也會導致負對數似然函數(negative log-likelihoods, NLL)的值變差。圖4展示了標簽平滑技術對 BLEU 和 NLL 的影響,藍線代表 BLEU 值,紅線代表 NLL 值。其中,最左側的圖為使用硬標簽訓練的模型的情況,中間的圖為使用標簽平滑技術訓練的模型的情況,右側的圖則展示了兩種模型的 NLL 值變化情況。可以發現,標簽平滑在提高 BLEU 分數的同時,也導致了 NLL 的降低。
圖4 Transformer 網絡調優對 BLEU 和 NLL 的影響
4、知識蒸餾
本部分研究了在teacher model 對student model 的知識蒸餾中標簽平滑的影響。本文發現,盡管標簽平滑能夠提升teacher model 的准確性,但使用標簽平滑技術的teacher model 所產生的student model 相比於未使用標簽平滑技術的網絡效果較差。
本文在 CIFAR-10 數據集上進行了實驗。作者訓練了一個 ResNet-56 的teacher model ,並對於一個使用 AlexNet 結構的student model 進行了知識蒸餾。作者重點關注了4項內容:
-
teacher model 的准確度
-
student model 的基線准確度
-
經過知識蒸餾后student model 的准確度,其中teacher model 使用硬標簽訓練,且用於蒸餾的標簽經過溫度縮放進行調整
-
使用固定溫度進行蒸餾后的student model 的准確度,其中 T = 1.0 ,teacher model 訓練使用了標簽平滑技術
圖5展示了這一部分實驗的結果。作者首先比較了未進行蒸餾的teacher model 和student model 的效果,在實驗中,提高 a 的值能夠提升teacher model 的准確度,但會輕微降低student model 的效果。
圖5 基於 CIFAR-10 數據集從 ResNet-56 向 AlexNet 進行蒸餾的效果
之后,作者使用硬標簽訓練了teacher model 並基於不同溫度進行蒸餾,且分別計算了不同溫度下的 y 值,用紅色虛線表示。實驗發現,所有未使用標簽平滑技術的模型效果都優於使用標簽平滑技術的模型效果。最后,作者將使用標簽平滑技術訓練的具有更高准確度的teacher model 的知識蒸餾入student model ,並用藍色虛線進行了表示。可以發現,模型效果並未得到顯著提升,甚至有所降低。
5、結論和未來展望
盡管很多最新技術都使用了標簽平滑方法,該方法的原理和使用情形並未得到充分討論。本文總結了解釋了在多個情形下標簽平滑的應用和表現,包括標簽平滑如何使得網絡倒數第二層激活函數的表示的聚類更加緊密等。為對此問題進行探究,本文提出了一個全新的低緯度可視化方法。
標簽平滑技術在提升模型效果的同時,也可能對知識蒸餾帶來負面的影響。本文認為造成該影響對原因是,標簽平滑導致了部分信息的丟失。這一現象可以通過計算模型輸入和輸出的互信息來進行觀察。基於此,本文提出了一個新的研究方向,即標簽平滑和信息瓶頸之間的關系。
最后,本文針對標簽平滑對模型修正的作用進行了實驗,提升了模型的可解釋性。
深度學習 優化技巧---label smoothing 標簽平滑 理解實例。
今天來進行討論深度學習中的一種優化方法Label smoothing Regularization(LSR),即“標簽平滑歸一化”。由名字可以知道,它的優化對象是Label(Train_y)。它的優化對象是Label(Train_y)。
對於分類問題,尤其是多類別分類問題中,常常把類別向量做成one-hot vector(獨熱向量)。
簡單地說,就是對於多分類向量,計算機中往往用[0, 1, 3]等此類離散的、隨機的而非有序(連續)的向量表示,而one-hot vector 對應的向量便可表示為[0, 1, 0],即對於長度為n 的數組,只有一個元素是1,其余都為0。因此表征我們已知樣本屬於某一類別的概率是為1的確定事件,屬於其他類別的概率則均為0。
one-hot 帶來的問題:
對於損失函數,我們需要用預測概率去擬合真實概率,而擬合one-hot的真實概率函數會帶來兩個問題:
1)無法保證模型的泛化能力,容易造成過擬合;
2) 全概率和0概率鼓勵所屬類別和其他類別之間的差距盡可能加大,而由梯度有界可知,這種情況很難adapt。會造成模型過於相信預測的類別。
使用下面的 label smoothing 可以緩解這個問題:
原理:對於以Dirac函數分布的真實標簽,我們將它變成分為兩部分獲得(替換)
1) 第一部分:將原本Dirac分布的標簽變量替換為(1 - ϵ)的Dirac函數;
2) 第二部分:以概率 ϵ ,在u(k)u(k) 中份分布的隨機變量。
代碼對應:
-
def label_smoothing(inputs, epsilon=0.1):
-
K = inputs.get_shape().as_list()[ -1] # number of channels
-
return ((1-epsilon) * inputs) + (epsilon / K)
代碼的第一行是取Y的channel數也就是類別數
第二行就是對應公式了。
下面用一個例子理解一下:
假設我做一個蛋白質二級結構分類,是三分類,那么K=3;
假如一個真實標簽是[0, 0, 1],取epsilon = 0.1,
新標簽就變成了 (1 - 0.1)× [0, 0, 1] + (0.1 / 3) = [0, 0, 0.9] + [0.0333, 0.0333, 0.0333]
= [0.0333, 0.0333, 0.9333]
實際上分了一點概率給其他兩類(均勻分),讓標簽沒有那么絕對化,留給學習一點泛化的空間。
從而能夠提升整體的效果。
文章[2]表示,對K = 1000,ϵ = 0.1的優化參數,實驗結果有0.2%的性能提升。
參考: [1]. https://blog.csdn.net/yiyele/article/details/81913031
[2]. Rethinking the Inception Architecture for Computer Vision
原文鏈接:
https://arxiv.org/pdf/1906.02629.pdf