日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

浅谈Label Smoothing技术

發(fā)布時間:2023/12/29 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈Label Smoothing技术 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

  • 一、從 One-Hot 到 Label Smoothing
  • 二、Label Smoothing 的簡單實(shí)現(xiàn)
  • 三、Label Smoothing 的優(yōu)缺點(diǎn)
  • 四、什么時候使用 Label Smoothing?

一、從 One-Hot 到 Label Smoothing

考慮單個樣本的交叉熵?fù)p失

H(p,q)=?∑i=1Cpilog?qiH(p,q)=-\sum_{i=1}^C p_i\log q_i H(p,q)=?i=1C?pi?logqi?

其中 CCC 代表類別個數(shù),pip_ipi? 是真實(shí)分布(即 target),qiq_iqi? 是預(yù)測分布(即神經(jīng)網(wǎng)絡(luò)輸出的 prediction)。

如果真實(shí)分布采用傳統(tǒng)的 One-Hot 向量,則其分量非 000111。不妨設(shè)第 kkk 個位置是 111,其余位置是 000,此時交叉熵?fù)p失變?yōu)?/p>

H(p,q)=?log?qkH(p,q)=-\log q_k H(p,q)=?logqk?

從上面的表達(dá)式不難發(fā)現(xiàn)一些問題:

  • 真實(shí)標(biāo)簽跟其他標(biāo)簽之間的關(guān)系被忽略了,一些有用的知識無法學(xué)到;
  • One-Hot 傾向于讓模型過度自信(Overconfidence),容易造成過擬合,進(jìn)而導(dǎo)致泛化性能降低;
  • 誤標(biāo)注的樣本(即 target 錯誤)更容易對模型的訓(xùn)練產(chǎn)生影響;
  • One-Hot 對 “模棱兩可” 的樣本表征較差。

緩解這些問題的方法就是采用 Label Smoothing 的技術(shù),它也是一種正則化的技巧,具體如下:

pi:={1??,i=k?/(C?1),i≠kp_i:= \begin{cases} 1-\epsilon,& i=k \\ \epsilon/(C-1),&i\neq k\\ \end{cases} pi?:={1??,?/(C?1),?i=ki=k?

其中 ?\epsilon? 是一個小正數(shù)。

例如,設(shè)原始 target 為 [0,0,1,0,0,0][0,0,1,0,0,0][0,0,1,0,0,0],取 ?=0.1\epsilon=0.1?=0.1,則經(jīng)過 Label Smoothing 后 target 變?yōu)?[0.02,0.02,0.9,0.02,0.02,0.02][0.02,0.02,0.9,0.02,0.02,0.02][0.02,0.02,0.9,0.02,0.02,0.02]

📌 原始的 One-Hot 向量通常稱為 Hard Target(或 Hard Label),經(jīng)過標(biāo)簽平滑后通常稱為 Soft Target(或 Soft Label)

二、Label Smoothing 的簡單實(shí)現(xiàn)

import torchdef label_smoothing(label, eps):label[label == 1] = 1 - epslabel[label == 0] = eps / (len(label) - 1)return labela = torch.tensor([0, 0, 1, 0, 0, 0], dtype=torch.float) print(label_smoothing(a, 0.1)) # tensor([0.0200, 0.0200, 0.9000, 0.0200, 0.0200, 0.0200])

三、Label Smoothing 的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

  • 一定程度上可以緩解模型 Overconfidence 的問題,此外也具有一定的抗噪能力;
  • 提供了訓(xùn)練數(shù)據(jù)中類別之間的關(guān)系(數(shù)據(jù)增強(qiáng));
  • 可能在一定程度上增強(qiáng)了模型的泛化能力。

缺點(diǎn):

  • 單純地添加隨機(jī)噪音,也無法反映標(biāo)簽之間的關(guān)系,因此對模型的提升有限,甚至有欠擬合的風(fēng)險;
  • 某些場景下 Soft Label 并不能幫助我們構(gòu)建更好的神經(jīng)網(wǎng)絡(luò)(表現(xiàn)不如 Hard Label)。

四、什么時候使用 Label Smoothing?

  • 龐大的數(shù)據(jù)集難免存在噪音(即標(biāo)注錯誤),為了避免模型學(xué)到這些噪音可以加入 Label Smoothing;
  • 對于模糊的 case 而言可以引入 Label Smoothing(比如貓狗分類任務(wù)中,可能存在一些圖片既像狗又像貓);
  • 防止模型 Overconfidence。

總結(jié)

以上是生活随笔為你收集整理的浅谈Label Smoothing技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。