一文詳解損失函數(shù)技術(shù)
前言:
一直想寫損失函數(shù)的技術(shù)總結(jié),但網(wǎng)上已經(jīng)有諸多關(guān)于損失函數(shù)綜述的文章或博客,考慮到這點(diǎn)就一直拖著沒寫,直到有一天,我將一個(gè)二分類項(xiàng)目修改為多分類,簡簡單單地修改了損失函數(shù),結(jié)果一直有問題,后來才發(fā)現(xiàn)是不同函數(shù)的標(biāo)簽的設(shè)置方式并不相同。
為了避免讀者也出現(xiàn)這樣的問題,本文中會(huì)給出每個(gè)損失函數(shù)的pytorch使用示例,這也是本文與其它相關(guān)綜述文章或博客的區(qū)別所在。希望讀者在閱讀本文時(shí),重點(diǎn)關(guān)注一下每個(gè)損失函數(shù)的使用示例中的target的設(shè)置問題。
本文對(duì)損失函數(shù)的類別和應(yīng)用場景,常見的損失函數(shù),常見損失函數(shù)的表達(dá)式,特性,應(yīng)用場景和使用示例作了詳細(xì)的總結(jié)。
主要涉及到L1 loss、L2 loss、Negative Log-Likelihood loss、Cross-Entropy loss、Hinge Embedding loss、Margin Ranking Loss、Triplet Margin loss、KL Divergence.
更多內(nèi)容歡迎關(guān)注公眾號(hào)CV技術(shù)指南,專注于計(jì)算機(jī)視覺的技術(shù)總結(jié),最新技術(shù)跟蹤。
損失函數(shù)分類與應(yīng)用場景
損失函數(shù)可以分為三類:回歸損失函數(shù)(Regression loss)、分類損失函數(shù)(Classification loss)和排序損失函數(shù)(Ranking loss)。
應(yīng)用場景:
回歸損失:用于預(yù)測連續(xù)的值。如預(yù)測房價(jià)、年齡等。
分類損失:用于預(yù)測離散的值。如圖像分類,語義分割等。
排序損失:用于預(yù)測輸入數(shù)據(jù)之間的相對(duì)距離。如行人重識(shí)別。
L1 loss
也稱Mean Absolute Error,簡稱MAE,計(jì)算實(shí)際值和預(yù)測值之間的絕對(duì)差之和的平均值。
表達(dá)式如下:
Loss( pred , y ) = | y - pred |
y表示標(biāo)簽,pred表示預(yù)測值。
應(yīng)用場合:回歸問題。
根據(jù)損失函數(shù)的表達(dá)式很容易了解它的特性:當(dāng)目標(biāo)變量的分布具有異常值時(shí),即與平均值相差很大的值,它被認(rèn)為對(duì)異常值具有很好的魯棒行。
使用示例:

L2 loss
也稱為Mean Squared Error,簡稱MSE,計(jì)算實(shí)際值和預(yù)測值之間的平方差的平均值。
表達(dá)式如下:

應(yīng)用場合:對(duì)大部分回歸問題,pytorch默認(rèn)使用L2,即MSE。
使用平方意味著當(dāng)預(yù)測值離目標(biāo)值更遠(yuǎn)時(shí)在平方后具有更大的懲罰,預(yù)測值離目標(biāo)值更近時(shí)在平方后懲罰更小,因此,當(dāng)異常值與樣本平均值相差格外大時(shí),模型會(huì)因?yàn)閼土P更大而開始偏離,相比之下,L1對(duì)異常值的魯棒性更好。
使用示例:

Negative Log-Likelihood
簡稱NLL。表達(dá)式如下:
loss( pred, y) = - (log pred)
應(yīng)用場景:多分類問題。
注:NLL要求網(wǎng)絡(luò)最后一層使用softmax作為激活函數(shù)。通過softmax將輸出值映射為每個(gè)類別的概率值。
根據(jù)表達(dá)式,它的特性是懲罰預(yù)測準(zhǔn)確而預(yù)測概率不高的情況。
NLL 使用負(fù)號(hào),因?yàn)楦怕?或似然)在 0 和 1 之間變化,并且此范圍內(nèi)的值的對(duì)數(shù)為負(fù)。最后,損失值變?yōu)檎怠?/p>
在 NLL 中,最小化損失函數(shù)有助于獲得更好的輸出。從近似最大似然估計(jì) (MLE) 中檢索負(fù)對(duì)數(shù)似然。這意味著嘗試最大化模型的對(duì)數(shù)似然,從而最小化 NLL。
使用示例

Cross-Entropy
此損失函數(shù)計(jì)算提供的一組出現(xiàn)次數(shù)或隨機(jī)變量的兩個(gè)概率分布之間的差異。它用于計(jì)算預(yù)測值與實(shí)際值之間的平均差異的分?jǐn)?shù)。
表達(dá)式:

應(yīng)用場景:二分類及多分類。
特性:負(fù)對(duì)數(shù)似然損失不對(duì)預(yù)測置信度懲罰,與之不同的是,交叉熵懲罰不正確但可信的預(yù)測,以及正確但不太可信的預(yù)測。
交叉熵函數(shù)有很多種變體,其中最常見的類型是Binary Cross-Entropy (BCE)。BCE Loss 主要用于二分類模型;也就是說,模型只有 2 個(gè)類。
使用示例

Hinge Embedding
表達(dá)式:
loss(pred, y) = max(0, 1 - y * pred )
其中y為1或-1。
應(yīng)用場景:
分類問題,特別是在確定兩個(gè)輸入是否不同或相似時(shí)。
學(xué)習(xí)非線性嵌入或半監(jiān)督學(xué)習(xí)任務(wù)。
使用示例

Margin Ranking Loss
Margin Ranking Loss 計(jì)算一個(gè)標(biāo)準(zhǔn)來預(yù)測輸入之間的相對(duì)距離。這與其他損失函數(shù)(如 MSE 或交叉熵)不同,后者學(xué)習(xí)直接從給定的輸入集進(jìn)行預(yù)測。
表達(dá)式:
loss(pred, y) = max(0, -y*(pred1 - pred2) + margin)
標(biāo)簽張量 y(包含 1 或 -1)。
當(dāng) y == 1 時(shí),第一個(gè)輸入將被假定為更大的值。它將排名高于第二個(gè)輸入。如果 y == -1,則第二個(gè)輸入將排名更高。
應(yīng)用場景:排名問題
使用示例

Triplet Margin Loss
計(jì)算三元組的損失。
表達(dá)式:
Loss (a, p, n) = max{0, d(ai, pi) - d(ai, ni) + margin}
三元組由a (anchor),p (正樣本) 和 n (負(fù)樣本)組成.
應(yīng)用場景:
確定樣本之間的相對(duì)相似性
用于基于內(nèi)容的檢索問題
使用示例

KL Divergence Loss
計(jì)算兩個(gè)概率分布之間的差異。
表達(dá)式:
loss (pred, y) = y*( log y - pred )
輸出表示兩個(gè)概率分布的接近程度。如果預(yù)測的概率分布與真實(shí)的概率分布相差很遠(yuǎn),就會(huì)導(dǎo)致很大的損失。如果 KL Divergence 的值為零,則表示概率分布相同。
KL Divergence 與交叉熵?fù)p失的關(guān)鍵區(qū)別在于它們?nèi)绾翁幚眍A(yù)測概率和實(shí)際概率。交叉熵根據(jù)預(yù)測的置信度懲罰模型,而 KL Divergence 則沒有。KL Divergence 僅評(píng)估概率分布預(yù)測與ground truth分布的不同之處。
應(yīng)用場景:
逼近復(fù)雜函數(shù)
多類分類任務(wù)
確保預(yù)測的分布與訓(xùn)練數(shù)據(jù)的分布相似
使用示例

更多內(nèi)容歡迎關(guān)注公眾號(hào)CV技術(shù)指南,專注于計(jì)算機(jī)視覺的技術(shù)總結(jié),最新技術(shù)跟蹤。
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長度6~500個(gè)字
圖片新聞
-

落地?zé)o錫!京東首個(gè)物流機(jī)器人超級(jí)工廠來了
-

OpenAI發(fā)布的AI瀏覽器,市場為何反應(yīng)強(qiáng)烈?
-

馬云重返一線督戰(zhàn),阿里重啟創(chuàng)始人模式
-

機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-

存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬
-

長安汽車母公司突然更名:從“中國長安”到“辰致科技”
-

豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-

字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
最新活動(dòng)更多
-
即日-5.20立即下載>> 【限時(shí)免費(fèi)】物理場仿真助力生物醫(yī)學(xué)領(lǐng)域技術(shù)創(chuàng)新
-
精彩回顧立即查看>> 【直播】 智測未來·2026海克斯康春季產(chǎn)品創(chuàng)新日
-
精彩回顧立即查看>> 【線下論壇】新唐科技×芯唐南京 2026 年度研討會(huì)
-
精彩回顧立即查看>> OFweek 2026(第十五屆)中國機(jī)器人產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 維科杯· OFweek 2025中國機(jī)器人行業(yè)年度評(píng)選
-
精彩回顧立即查看>> 【在線會(huì)議】液冷服務(wù)器信號(hào)完整性及冷卻液關(guān)鍵電參數(shù)測試
推薦專題
- 1 AI狂歡遇上油價(jià)破百,全球股市還能漲多久? | 產(chǎn)聯(lián)看全球
- 2 OpenAI深夜王炸!ChatGPT Images 2.0實(shí)測:中文穩(wěn)、細(xì)節(jié)炸,設(shè)計(jì)師慌了
- 3 6000億美元估值錨定:字節(jié)跳動(dòng)的“去單一化”突圍與估值重構(gòu)
- 4 Tesla AI5芯片最新進(jìn)展總結(jié)
- 5 連夜測了一波DeepSeek-V4,我發(fā)現(xiàn)它可能只剩“審美”這個(gè)短板了
- 6 熱點(diǎn)丨AI“瑜亮之爭”:既生OpenClaw,何生Hermes?
- 7 AI界的殺豬盤:9秒刪庫跑路,全員被封號(hào),還繼續(xù)扣錢!
- 8 2026,人形機(jī)器人只贏了面子
- 9 DeepSeek降價(jià)90%:價(jià)格屠夫不是身份,是戰(zhàn)略
- 10 AI Infra產(chǎn)業(yè)鏈卡在哪里了?
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市


分享





