姓名:張志文 學(xué)號(hào):19021210649
【嵌牛導(dǎo)讀】
神經(jīng)網(wǎng)絡(luò)中存在著許多損失函數(shù)钩杰,他們各有自己優(yōu)缺點(diǎn)
【嵌牛鼻子】
神經(jīng)網(wǎng)絡(luò)割粮;損失函數(shù)
【嵌牛提問】
神經(jīng)網(wǎng)絡(luò)中的損失函數(shù)有哪些呢沦寂?
【嵌牛正文】
不同的損失函數(shù)可用于不同的目標(biāo)。在這篇文章中,我將帶你通過一些示例介紹一些非常常用的損失函數(shù)秘遏。這篇文章提到的一些參數(shù)細(xì)節(jié)都屬于tensorflow或者keras的實(shí)現(xiàn)細(xì)節(jié)。
損失函數(shù)的簡(jiǎn)要介紹
損失函數(shù)有助于優(yōu)化神經(jīng)網(wǎng)絡(luò)的參數(shù)嘉竟。我們的目標(biāo)是通過優(yōu)化神經(jīng)網(wǎng)絡(luò)的參數(shù)(權(quán)重)來最大程度地減少神經(jīng)網(wǎng)絡(luò)的損失邦危。通過神經(jīng)網(wǎng)絡(luò)將目標(biāo)(實(shí)際)值與預(yù)測(cè)值進(jìn)行匹配,再經(jīng)過損失函數(shù)就可以計(jì)算出損失舍扰。然后倦蚪,我們使用梯度下降法來優(yōu)化網(wǎng)絡(luò)權(quán)重,以使損失最小化边苹。這就是我們訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方式陵且。
均方誤差
當(dāng)你執(zhí)行回歸任務(wù)時(shí),可以選擇該損失函數(shù)勾给。顧名思義滩报,這種損失是通過計(jì)算實(shí)際(目標(biāo))值和預(yù)測(cè)值之間的平方差的平均值來計(jì)算的锅知。
例如,你有一個(gè)神經(jīng)網(wǎng)絡(luò)脓钾,通過該網(wǎng)絡(luò)可以獲取一些與房屋有關(guān)的數(shù)據(jù)并預(yù)測(cè)其價(jià)格售睹。在這種情況下,你可以使用MSE(均方誤差)損失可训〔茫基本上,在輸出為實(shí)數(shù)的情況下握截,應(yīng)使用此損失函數(shù)飞崖。
二元交叉熵
當(dāng)你執(zhí)行二元分類任務(wù)時(shí),可以選擇該損失函數(shù)谨胞。如果你使用BCE(二元交叉熵)損失函數(shù)固歪,則只需一個(gè)輸出節(jié)點(diǎn)即可將數(shù)據(jù)分為兩類。輸出值應(yīng)通過sigmoid激活函數(shù)胯努,以便輸出在(0-1)范圍內(nèi)牢裳。
例如,你有一個(gè)神經(jīng)網(wǎng)絡(luò)叶沛,該網(wǎng)絡(luò)獲取與大氣有關(guān)的數(shù)據(jù)并預(yù)測(cè)是否會(huì)下雨蒲讯。如果輸出大于0.5,則網(wǎng)絡(luò)將其分類為會(huì)下雨灰署;如果輸出小于0.5判帮,則網(wǎng)絡(luò)將其分類為不會(huì)下雨。即概率得分值越大溉箕,下雨的機(jī)會(huì)越大晦墙。
訓(xùn)練網(wǎng)絡(luò)時(shí),如果標(biāo)簽是下雨约巷,則輸入網(wǎng)絡(luò)的目標(biāo)值應(yīng)為1偎痛,否則為0。
重要的一點(diǎn)是独郎,如果你使用BCE損失函數(shù),則節(jié)點(diǎn)的輸出應(yīng)介于(0-1)之間枚赡。這意味著你必須在最終輸出中使用sigmoid激活函數(shù)氓癌。因?yàn)閟igmoid函數(shù)可以把任何實(shí)數(shù)值轉(zhuǎn)換(0–1)的范圍。(也就是輸出概率值)
如果你不想在最后一層上顯示使用sigmoid激活函數(shù)贫橙,你可以在損失函數(shù)的參數(shù)上設(shè)置from logits為true贪婉,它會(huì)在內(nèi)部調(diào)用Sigmoid函數(shù)應(yīng)用到輸出值。
多分類交叉熵
當(dāng)你執(zhí)行多類分類任務(wù)時(shí)卢肃,可以選擇該損失函數(shù)疲迂。如果使用CCE(多分類交叉熵)損失函數(shù)才顿,則輸出節(jié)點(diǎn)的數(shù)量必須與這些類相同。最后一層的輸出應(yīng)該通過softmax激活函數(shù)尤蒿,以便每個(gè)節(jié)點(diǎn)輸出介于(0-1)之間的概率值郑气。
例如,你有一個(gè)神經(jīng)網(wǎng)絡(luò)腰池,它讀取圖像并將其分類為貓或狗尾组。如果貓節(jié)點(diǎn)具有高概率得分,則將圖像分類為貓示弓,否則分類為狗讳侨。基本上奏属,如果某個(gè)類別節(jié)點(diǎn)具有最高的概率得分跨跨,圖像都將被分類為該類別。
為了在訓(xùn)練時(shí)提供目標(biāo)值囱皿,你必須對(duì)它們進(jìn)行一次one-hot編碼勇婴。如果圖像是貓,則目標(biāo)向量將為(1铆帽,0)咆耿,如果圖像是狗,則目標(biāo)向量將為(0爹橱,1)萨螺。基本上愧驱,目標(biāo)向量的大小將與類的數(shù)目相同慰技,并且對(duì)應(yīng)于實(shí)際類的索引位置將為1,所有其他的位置都為零组砚。
如果你不想在最后一層上顯示使用softmax激活函數(shù)吻商,你可以在損失函數(shù)的參數(shù)上設(shè)置from logits為true,它會(huì)在內(nèi)部調(diào)用softmax函數(shù)應(yīng)用到輸出值糟红。與上述情況相同艾帐。
稀疏多分類交叉熵
該損失函數(shù)幾乎與多分類交叉熵相同,只是有一點(diǎn)小更改盆偿。
使用SCCE(稀疏多分類交叉熵)損失函數(shù)時(shí)柒爸,不需要one-hot形式的目標(biāo)向量。例如如果目標(biāo)圖像是貓事扭,則只需傳遞0捎稚,否則傳遞1。基本上今野,無論哪個(gè)類葡公,你都只需傳遞該類的索引。
這些是最重要的損失函數(shù)条霜。訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)催什,可能會(huì)使用這些損失函數(shù)之一。
本文內(nèi)容為轉(zhuǎn)載蛔外,版權(quán)歸作者所有