Softmax Layer

Softmax函數將多個標量映射為一個概率分布,其輸出的每一個值范圍在(0,1)。公式如下圖

softmax 函數

softmax函數經常用在神經網絡的最后一層,作為輸出層,進行多分類。此外,softmax在增強學習領域內,softmax經常被用作將某個值轉化為激活概率,這類情況下,softmax的公式如下:

帶溫度參數的softmax函數

其中,T被稱為是溫度參數(temperature parameter)。當T很大時,即趨于正無窮時,所有的激活值對應的激活概率趨近于相同(激活概率差異性較小);而當T很低時,即趨于0時,不同的激活值對應的激活概率差異也就越大。這個結論很重要,Hinton在2015年的一篇paper中重點闡釋了如何根據溫度參數來soften神經網絡的輸出,從而提出了distillation的思想和方法。

temperature = 0.01


temperature = 1


temperature = 100

1.前向傳播

該過程比較簡單,對輸入的每個節點進行softmax(x)計算。但是需要注意的是,由于存在指數函數exp,對于輸入很大的實數會softmax數值越界,導致預想不到的結果。所以在做softmax之前,需要將數據做簡單的預處理,即:找出輸入節點的最大值,然后讓每個節點減去該最大值,使得輸入節點都是小于等于0的,這樣就能避免數值越界。

2.反向傳播

softmax層的導數要分兩種情況:1)該節點是輸出類別 (i ?= ?j);2)該節點不為輸出類別(i != j)

softmax 導數
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 承接前面的《淺談機器學習基礎》、《淺談深度學習基礎》和《淺談自然語言處理基礎》,主要參考了《解析深度學習:語音識別...
    我偏笑_NSNirvana閱讀 23,643評論 6 67
  • 第二個Topic講深度學習,承接前面的《淺談機器學習基礎》。 深度學習簡介 前面也提到過,機器學習的本質就是尋找最...
    我偏笑_NSNirvana閱讀 15,719評論 7 49
  • 曾經勾勒過千千萬萬的未來,現在想來那應該都是夢吧。 像天使漂浮在星空中。 而真正腳踏實地去做的時候,人的生活其實是...
    我是李小志閱讀 258評論 0 1
  • Top_Chenxi閱讀 172評論 0 0
  • 我是一個在減肥路上沒有方向和出路的人,至少目前是這樣的狀態。 今晚就讓我好好回想一下過往的努力和思索這條路該何處何...
    奕奕GRACE閱讀 181評論 0 0