不同的損失函數(shù)可用于不同的目標(biāo)。在這篇文章中,我將帶你通過一些示例介紹一些非常常用的損失函數(shù)。這篇文章提到的一些參數(shù)細節(jié)都屬于tensorflow或者keras的實現(xiàn)細節(jié)。
損失函數(shù)的簡要介紹
損失函數(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)(實際)值與預(yù)測值進行匹配,再經(jīng)過損失函數(shù)就可以計算出損失。然后,我們使用梯度下降法來優(yōu)化網(wǎng)絡(luò)權(quán)重,以使損失最小化。這就是我們訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方式。
均方誤差
當(dāng)你執(zhí)行回歸任務(wù)時,可以選擇該損失函數(shù)。顧名思義,這種損失是通過計算實際(目標(biāo))值和預(yù)測值之間的平方差的平均值來計算的。
例如,你有一個神經(jīng)網(wǎng)絡(luò),通過該網(wǎng)絡(luò)可以獲取一些與房屋有關(guān)的數(shù)據(jù)并預(yù)測其價格。在這種情況下,你可以使用MSE(均方誤差)損失?;旧希谳敵鰹閷崝?shù)的情況下,應(yīng)使用此損失函數(shù)。
二元交叉熵
當(dāng)你執(zhí)行二元分類任務(wù)時,可以選擇該損失函數(shù)。如果你使用BCE(二元交叉熵)損失函數(shù),則只需一個輸出節(jié)點即可將數(shù)據(jù)分為兩類。輸出值應(yīng)通過sigmoid激活函數(shù),以便輸出在(0-1)范圍內(nèi)。
例如,你有一個神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)獲取與大氣有關(guān)的數(shù)據(jù)并預(yù)測是否會下雨。如果輸出大于0.5,則網(wǎng)絡(luò)將其分類為會下雨;如果輸出小于0.5,則網(wǎng)絡(luò)將其分類為不會下雨。即概率得分值越大,下雨的機會越大。
訓(xùn)練網(wǎng)絡(luò)時,如果標(biāo)簽是下雨,則輸入網(wǎng)絡(luò)的目標(biāo)值應(yīng)為1,否則為0。
重要的一點是,如果你使用BCE損失函數(shù),則節(jié)點的輸出應(yīng)介于(0-1)之間。這意味著你必須在最終輸出中使用sigmoid激活函數(shù)。因為sigmoid函數(shù)可以把任何實數(shù)值轉(zhuǎn)換(0–1)的范圍。(也就是輸出概率值)
如果你不想在最后一層上顯示使用sigmoid激活函數(shù),你可以在損失函數(shù)的參數(shù)上設(shè)置from logits為true,它會在內(nèi)部調(diào)用Sigmoid函數(shù)應(yīng)用到輸出值。
多分類交叉熵
當(dāng)你執(zhí)行多類分類任務(wù)時,可以選擇該損失函數(shù)。如果使用CCE(多分類交叉熵)損失函數(shù),則輸出節(jié)點的數(shù)量必須與這些類相同。最后一層的輸出應(yīng)該通過softmax激活函數(shù),以便每個節(jié)點輸出介于(0-1)之間的概率值。
例如,你有一個神經(jīng)網(wǎng)絡(luò),它讀取圖像并將其分類為貓或狗。如果貓節(jié)點具有高概率得分,則將圖像分類為貓,否則分類為狗?;旧?,如果某個類別節(jié)點具有最高的概率得分,圖像都將被分類為該類別。
為了在訓(xùn)練時提供目標(biāo)值,你必須對它們進行一次one-hot編碼。如果圖像是貓,則目標(biāo)向量將為(1,0),如果圖像是狗,則目標(biāo)向量將為(0,1)?;旧?,目標(biāo)向量的大小將與類的數(shù)目相同,并且對應(yīng)于實際類的索引位置將為1,所有其他的位置都為零。
如果你不想在最后一層上顯示使用softmax激活函數(shù),你可以在損失函數(shù)的參數(shù)上設(shè)置from logits為true,它會在內(nèi)部調(diào)用softmax函數(shù)應(yīng)用到輸出值。與上述情況相同。
稀疏多分類交叉熵
該損失函數(shù)幾乎與多分類交叉熵相同,只是有一點小更改。
使用SCCE(稀疏多分類交叉熵)損失函數(shù)時,不需要one-hot形式的目標(biāo)向量。例如如果目標(biāo)圖像是貓,則只需傳遞0,否則傳遞1?;旧?,無論哪個類,你都只需傳遞該類的索引。
這些是最重要的損失函數(shù)。訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,可能會使用這些損失函數(shù)之一。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4781瀏覽量
101205 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
62992
發(fā)布評論請先 登錄
相關(guān)推薦
評論