一驴党、二分類(lèi)以上的任務(wù)與二分類(lèi)任務(wù)在網(wǎng)絡(luò)結(jié)構(gòu)上的區(qū)別:
在邏輯回歸模型中跪楞,模型最終輸出的是樣本屬于正例的概率p刨啸,用1-p表示反例的概率堡赔,該模型在輸出端具有單個(gè)輸出結(jié)點(diǎn)。那么设联,對(duì)于多分類(lèi)任務(wù)善已,輸出端可以有多個(gè)結(jié)點(diǎn)灼捂,每個(gè)結(jié)點(diǎn)代表屬于某一類(lèi)的概率,滿(mǎn)足約束條件:所有結(jié)點(diǎn)的概率和為1换团。這個(gè)約束條件將輸出結(jié)點(diǎn)的輸出值變成一個(gè)概率分布悉稠。【概率分布用于表述隨機(jī)變量取值的概率規(guī)律艘包,隨機(jī)事件的所有可能值(隨機(jī)變量)+對(duì)應(yīng)的概率值的猛,稱(chēng)為該事件的概率分布】
二、 softmax函數(shù)的使用
由一可知想虎,多結(jié)點(diǎn)完成多分類(lèi)任務(wù)需要滿(mǎn)足的約束條件是:每個(gè)結(jié)點(diǎn)輸出值范圍是[0,1] & 所有結(jié)點(diǎn)輸出值的和等于1卦尊。
能夠滿(mǎn)足這個(gè)約束要求的函數(shù)就是softmax函數(shù)。softmax常作為最后一層的激活函數(shù)使用舌厨。
softmax包含兩部分:soft和max(求數(shù)據(jù)的最大值),與soft相對(duì)的就是hard岂却,hardmax的作用就是直接計(jì)算出數(shù)據(jù)的最大值(唯一性)。softmax會(huì)為每個(gè)類(lèi)別計(jì)算出一個(gè)概率值
softmax的計(jì)算原理:
softmax函數(shù)表達(dá)式:
對(duì)softmax的求導(dǎo):( 對(duì)每個(gè)輸出結(jié)點(diǎn)求偏導(dǎo))
分兩種情況:i=j 與 i≠j? ,求偏導(dǎo)推導(dǎo)過(guò)程如下:
交叉熵?fù)p失函數(shù)與softmax之間的關(guān)系
在執(zhí)行多分類(lèi)任務(wù)中骇陈,經(jīng)常是使用softmax激活函數(shù)和交叉熵?fù)p失函數(shù)的搭配方式震庭。因?yàn)榻徊骒孛枋隽藘蓚€(gè)概率分布的差異,然而神經(jīng)網(wǎng)絡(luò)輸出的是向量你雌,所以需要softmax激活函數(shù)先將一個(gè)向量進(jìn)行’歸一化‘成概率分布的形式器联,然后再采用交叉熵?fù)p失函數(shù)對(duì)計(jì)算最終的loss。
softmax損失函數(shù)? 重點(diǎn):假設(shè)此時(shí)第i個(gè)輸出節(jié)點(diǎn)為正確類(lèi)別對(duì)應(yīng)的輸出節(jié)點(diǎn)婿崭,則是正確類(lèi)別對(duì)應(yīng)輸出節(jié)點(diǎn)的概率值拨拓,對(duì)添加log運(yùn)算,不影響函數(shù)的單調(diào)性氓栈,我們期望的值越大越好(小于1),通常情況下使用梯度下降法來(lái)迭代求解渣磷,因此只需要為添加一個(gè)負(fù)號(hào)就變成損失函數(shù)。現(xiàn)在授瘦,希望該損失函數(shù)越小越好醋界。所以,softmax的損失函數(shù)式子為:
交叉熵?fù)p失函數(shù)與softmax損失函數(shù)的轉(zhuǎn)換關(guān)系:
softmax損失函數(shù)是只針對(duì)正確類(lèi)別對(duì)應(yīng)的輸出節(jié)點(diǎn)提完,將這個(gè)節(jié)點(diǎn)的softmax值最大化形纺;而交叉熵?fù)p失函數(shù)是直接衡量真實(shí)分布和實(shí)際輸出的分布之間的距離。
交叉熵式子:,?代表真實(shí)樣本的標(biāo)簽值徒欣。? (2)
在分類(lèi)任務(wù)中逐样,樣本的真實(shí)標(biāo)簽通常表示為one-hot形式,比如三分類(lèi),第三個(gè)類(lèi)別表示為[0,0,1]脂新,僅正確類(lèi)別的位置為1挪捕,其他位置都為0,將[0,0,1]代入式子(2),最終結(jié)果為争便。再對(duì)照式子(1),可以愉快的發(fā)現(xiàn)级零,(1)和(2)最終表達(dá)形式是一樣的,那么始花,接下來(lái)計(jì)算損失函數(shù)的導(dǎo)數(shù)使用大家常見(jiàn)的式子(2),接下來(lái)將推導(dǎo)這個(gè)最終損失函數(shù)L對(duì)網(wǎng)絡(luò)輸出變量的偏導(dǎo)數(shù):
模擬一個(gè)三分類(lèi)使用softmax與交叉熵的結(jié)果:
softmax+交叉熵?fù)p失函數(shù)對(duì)參數(shù)的更新規(guī)則,可以分為兩步來(lái)記恩伺,第一步:每個(gè)節(jié)點(diǎn)的值減去對(duì)應(yīng)的softmax結(jié)果赴背;第二步,將真正類(lèi)別的輸出節(jié)點(diǎn)處的值加一晶渠。
參考以下文章: