視覺神經網路基礎

損失函數

損失函數是那個告訴網路在某個樣本或批次上做得多糟的單一數字,也就是訓練設法壓小的量。它把網路的預測與期望答案相比,回傳一個純量:預測完美時為零(或最小),愈差則愈大。訓練字面上就是在尋找能使資料上平均損失最小的參數,所以選擇損失就是在為你的任務定義「好」的意思。

損失 L(y_hat, y) 把預測 y_hat 與目標 y 映到一個非負純量(愈低愈好);訓練目標是經驗風險(empirical risk),即訓練集上的平均損失,通常再加一個正則化項。為了反向傳播所支持的梯度式學習,損失對預測必須幾乎處處可微。損失也編碼了假設:許多標準損失是某機率模型下的負對數似然(平方誤差對應高斯雜訊、交叉熵對應類別或伯努利模型),所以選損失等於隱含地選了一個雜訊模型。

不同視覺任務需要不同的損失。分類用交叉熵。連續量的迴歸(深度、關鍵點座標、邊界框偏移)用平方誤差(L2)、絕對誤差(L1)、或抗離群值的穩健 Huber 或 smooth-L1。分割常加上直接針對重疊度的 Dice 或 IoU 損失。偵測把分類損失與框迴歸損失(如 GIoU)混在一起。生成式與自監督模型用特化的目標:GAN 的對抗損失、擴散模型的去雜訊分數匹配損失、CLIP 背後的 InfoNCE 對比損失,以及比較深層特徵而非原始像素的感知損失。

一個關鍵微妙處:損失是你最佳化的對象,但通常不是你最終在意的指標(準確率、mAP、IoU、FID)。許多真正的指標不可微或平坦,無法直接最佳化;損失是一個可微、性質良好的替身,選來與指標相關卻又能提供梯度。模型可能在指標停滯時仍降低損失,這就是你要同時監看兩者的原因。

陷阱:最小化錯誤的損失會把錯的東西最佳化。類別不平衡(例如大多是背景的分割)會讓樸素的交叉熵忽略稀有類別;補救方法包括類別加權、focal loss(降低容易樣本的權重)與重疊度損失。務必確認損失所獎勵的行為,正是你真實世界指標所看重的。

又稱
cost functionobjective functioncriterion