處理分類問題時,我們常常使用Softmax激活函數以及Logistic損失函數,但是在訓練資料集有較多雜訊的情況下,使用這兩個函數可能會造成訓練過程不穩定。今天,我們用二元分類來了解問題在哪裡,以及可能的解決方案。
一、Softmax激活函數
我們希望模型輸出的預測值即是資料屬於各個類別的機率,如果是二元分類,那模型的輸出則為某一筆資料屬於類別一的機率、以及類別二的機率。為了達到這個目的,通常我們會使用Softmax激活函數,讓模型最終的輸出為機率值:
二、Logistic損失函數
得到了模型的預測機率,接下來的問題是:我們要怎麼知道模型預測的精準度如何呢?其中一個常用的方法即是使用「Logistic損失函數」。
模型使用Softmax激活函數後,得到某一筆資料屬於某一個類別的機率之後,接下來我們要將預測值跟資料實際的標籤做比較,看看差異是多少,並作為模型參數更新的參考。Logistic損失函數用以下的數學式,來比較預測值跟標籤的差異:
三、Temperature Generalisation Softmax激活函數
看起來有了Softmax激活函數,以及Logistic損失函數,我們就可以將模型的預測值跟標籤比較,並且作為改進模型的參考了。很不幸的,有時候這兩個函數,沒辦法讓我們得到一個強健(比較不會受到訓練資料集的雜訊干擾)的模型。接下來我們要來仔細探討Softmax跟Logistic函數當中分別都有一個麻煩的問題,以及可能的解決方案。
Softmax激活函數中,使用到了exponential函數。而exponential函數在輸入小於0的情況下,輸出很快就會衰減到趨近於0,又稱為short tail。這種激烈變化意味著模型的計算只要有一點差異,就會造成輸出機率有很大的不同。如果現在的訓練資料中,有幾筆相似度很高但類別不同的資料,即會造成模型訓練不穩定。
為了解決這個問題,有研究者(Amid et al., 2019)提出了新的函數來取代exponential函數:
這個函數看起來很奇怪,我們使用不同的x跟t並畫出來看看吧。從圖一可以發現到如果t的數字越大,代表機率衰減的速度會越慢,也就是不太可能會出現機率非常低的預測結果。
四、Temperature Generalisation Logistic損失函數
Logistic損失函數主要是由log函數組成,但是log函數也有一個缺點:如果模型預測失準,且輸出機率值非常的小,取log之後就會出現很大的負數,這也會讓模型訓練不穩,這問題稱為unbounded。為了解決這個問題,同一組研究者(Amid et al., 2019)提出了新的函數來取代log函數:
我們使用不同的x跟t並畫出來看看吧。從圖二可以發現,當輸入介於0到1之間時,新的函數不會出現無窮小的輸出值,其最小值跟t有關:
如何在訓練過程中使用自己定義的損失函數,大家可以參考旗標出版的「Kaggle競賽攻頂秘笈 — 揭開Grandmaster的特徵工程心法,掌握制勝的關鍵技術」第二章的內容。
五、Bi-Tempered Logistic Loss
為了解決一開始我們提到的問題,這組研究者(Amid et al., 2019)就將Softmax激活函數跟Logistic損失函數裡面的exponential跟log全部換成新的函數,其中新的log所使用的參數為t1,新的exponential所使用的參數為t2。圖三跟圖四為不同參數下,模型的輸出與損失函數的關係。從圖中可以觀察到,Bi-Tempered Logistic Loss除了不會出現非常龐大的loss,也不會有loss急遽變化的區域。
圖五為此研究團隊(Amid et al., 2019)的實驗結果。( a )是理想的二元分類問題;( b )在決策邊界附近有很難分類的資料;( c )距離決策邊界很遠的地方有無法分類的資料;( d )少數隨機無法分類的資料。原始exponential函數對於( b )這種資料集便會有不良的影響,原始log函數對於( c )這種資料集也會有不良的影響,因此可以從( b )、( c )、( d )的上方圖看到決策邊界會有一些奇怪的彎曲現象。如果使用了Bi-Tempered Logistic Loss,便可以產生比較穩定的決策邊界,增加模型的強健性。
此研究團隊也提供了程式碼給大家使用:https://github.com/google/bi-tempered-loss,趕快來試試看吧!
重點整理
1、Exponential函數的short tail特性,使得決策邊界上難以分類的資料會讓模型穩定度降低。
2、log函數的unbounded特性,使得距離決策邊界非常遙遠的無法分類資料,給模型帶來不穩定性。
3、Bi-Tempered Logistic Loss導入Temperature Generalisation來取代exponential函數以及log函數,可以增加模型的穩定性
參考資料
Amid, E., Warmuth, M. K., Anil, R., and Koren, T. (2019). Robust Bi-Tempered Logistic Loss Based on Bregman Divergences. In Advances in Neural Information Processing Systems, pp. 15013–15022.
關於作者
Chia-Hao Li received the M.S. degree in computer science from Durham University, United Kingdom. He engages in computer algorithm, machine learning, and hardware/software codesign. He was former senior engineer in Mediatek, Taiwan. His currently research topic is the application of machine learning techniques for fault detection in the high-performance computing systems.