以第節(jié)點(diǎn)輸出為例,Softmax函數(shù)的定義為:
上式中,為第
個(gè)節(jié)點(diǎn)的輸出值,
為輸出節(jié)點(diǎn)的個(gè)數(shù)(分類的類別數(shù))。通過(guò)Softmax可以將多分類的輸出值轉(zhuǎn)換為范圍在
和為1的概率分布。
Softmax引入指數(shù)形式的優(yōu)點(diǎn)是指數(shù)形式的Softmax函數(shù)能夠?qū)⒉罹啻蟮臄?shù)值距離拉的更大。Softmax引入指數(shù)形式的缺點(diǎn)是
Softmax函數(shù)求導(dǎo)
以三個(gè)輸出節(jié)點(diǎn)的Softmax函數(shù)為例,輸出值為
。雖然
與
和
結(jié)果不同,而
和
只需換響應(yīng)的索引號(hào)就可以了。因此Softmax函數(shù)求導(dǎo)時(shí)分為
和
的兩種情況下,
關(guān)于
的導(dǎo)數(shù)。
-
時(shí),如
:
將記為
,上面的結(jié)果可以轉(zhuǎn)化為
,由于前提條件為
,結(jié)果又可變?yōu)?img class="math-inline" src="https://math.jianshu.com/math?formula=p_i-(p_i)%5E2" alt="p_i-(p_i)^2" mathimg="1">。
-
時(shí),如
:
按照1中所述,上式可以轉(zhuǎn)化為。
交叉熵?fù)p失函數(shù)
假設(shè)此時(shí)第個(gè)輸出節(jié)點(diǎn)為正確類別對(duì)應(yīng)的輸出節(jié)點(diǎn),
是正確類別對(duì)應(yīng)輸出結(jié)點(diǎn)的概率值。添加
運(yùn)算不影響函數(shù)的單調(diào)性,即
。
的值越大越好,如果要使用梯度下降法來(lái)迭代求解,只需要為
加上負(fù)號(hào)變?yōu)閾p失函數(shù)即可:
但通常說(shuō)的交叉熵是這種形式:
實(shí)際上與
的損失函數(shù)是一致的,接下來(lái)繼續(xù)以三分類的形式講解:
由于標(biāo)簽是one-hot的形式,所以
(假定真實(shí)分類為索引1的位置),最終結(jié)果為
。再?gòu)?img class="math-inline" src="https://math.jianshu.com/math?formula=loss_1" alt="loss_1" mathimg="1">來(lái)看
那么損失函數(shù)對(duì)網(wǎng)絡(luò)輸出變量
的偏導(dǎo)數(shù)為:
根據(jù)Softmax函數(shù)求導(dǎo)的結(jié)果,上式可繼續(xù)推導(dǎo):
至此完成了對(duì)交叉熵函數(shù)的梯度推導(dǎo)。
參考文獻(xiàn):