【AI-1000问】softmax loss和交叉熵有什么关系?
文章首發于微信公眾號《有三AI》
【AI-1000問】softmax loss和交叉熵有什么關系?
往期視頻(前往公眾號觀看)
softmax?loss和交叉熵有什么關系?
想必大家也都聽過熵這個概念,也都知道softmax以及softmax?loss這個概念,那么它們兩個有什么區別和聯系呢?
作者/編輯?言有三
?
softmax?loss是由softmax和交叉熵(cross-entropy?loss)組合而成,全稱是softmax?with?cross-entropy?loss,所以我們可以想見,它們是不同的,但是又有關系。
解答1:首先我們得知道什么是交叉熵。
在物理學有一個概念,就是熵,它表示一個熱力學系統的無序程度。為了解決對信息的量化度量問題,香農在1948年提出了“信息熵”的概念,它使用對數函數表示對不確定性的測量。熵越高,表示能傳輸的信息越多,熵越少,表示傳輸的信息越少,我們可以直接將熵理解為信息量。
按照香農的理論,熵背后的原理是任何信息都存在冗余,并且冗余大小與信息中每個符號(數字、字母或單詞)的出現概率或者說不確定性有關。概率大,出現機會多,則不確定性小,這個關系就用對數函數來表征。
為什么選擇對數函數而不是其他函數呢?首先,不確定性必須是概率P的單調遞降函數,假設一個系統中各個離散事件互不相關,要求其總的不確定性等于各自不確定性之和,對數函數是滿足這個要求的。將不確定性f定義為log(1/p)=-log(p),其中p是概率。
對于單個的信息源,信源的平均不確定性就是單個符號不確定性-logpi的統計平均值,信息熵的定義如下。
假設有兩個概率分布p(x)和q(x),其中p是已知的分布,q是未知的分布,則其交叉熵函數是兩個分布的互信息,可以反應其相關程度。
從這里,就引出了分類任務中最常用的loss,即log?loss,又名交叉熵loss,后面我們統一稱為交叉熵loss,它的定義形式如下:
n對應于樣本數量,m是類別數量,yij?表示第i個樣本屬于分類j的標簽,它是0或者1。對于單分類任務,只有一個分類的標簽非零。f(xij)?表示的是樣本i預測為j分類的概率。loss的大小,完全取決于分類為正確標簽那一類的概率,當所有的樣本都分類正確時,loss=0,否則大于0。
解答2:假如log?loss中的f(xij)的表現形式是softmax概率的形式,那么交叉熵loss就是我們熟知的softmax?with?cross-entropy?loss,簡稱softmax?loss,所以說softmax?loss只是交叉熵的一個特例。
softmax?loss被廣泛用于分類分割等任務,而且發展出了很多的變種,大家可以看往期文章【技術綜述】一文道盡softmax?loss及其變種回顧。
?
思考
那么,除了softmax?loss,你還知道在深度學習中其他的對于分類任務非常好用的loss嗎?
轉載文章請后臺聯系
侵權必究
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續內容將會不定期奉上,歡迎大家關注有三公眾號 有三AI!
總結
以上是生活随笔為你收集整理的【AI-1000问】softmax loss和交叉熵有什么关系?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【技术综述】基于弱监督深度学习的图像分割
- 下一篇: 【杂谈】如何学会看arxiv.org才能