国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

表示學習中7大損失函數的發展歷程及設計思路

深度學習自然語言處理 ? 來源:圓圓的算法筆記 ? 作者:Fareise ? 2022-07-08 14:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

表示學習的目的是將原始數據轉換成更好的表達,以提升下游任務的效果。在表示學習中,損失函數的設計一直是被研究的熱點。損失指導著整個表示學習的過程,直接決定了表示學習的效果。這篇文章總結了表示學習中的7大損失函數的發展歷程,以及它們演進過程中的設計思路,主要包括contrastive loss、triplet loss、n-pair loss、infoNce loss、focal loss、GHM loss、circle loss。

1. Contrastive Loss

Dimensionality Reduction by Learning an Invariant Mapping(CVPR 2006)提出contrastive loss,模型中輸入兩個樣本,經過相同的編碼器得到兩個樣本的編碼。如果兩個樣本屬于同一類別,則優化目標為讓兩個樣本在某個空間內的距離小;如果兩個樣本不屬于同一類別,并且兩個樣本之間的距離小于一個超參數m,則優化目標為讓兩個樣本距離接近m。損失函數可以表示為:

b2c16bd0-e8a5-11ec-ba43-dac502259ad0.png

Contrastive Loss是后面很多表示學習損失函數的基礎,通過這種對比的方式,讓模型生成的表示滿足相似樣本距離近,不同樣本距離遠的條件,實現更高質量的表示生成。

2. Triplet Loss

FaceNet: A unified embedding for face recognition and clustering(CVPR 2015)提出triplet loss,計算triplet loss需要比較3個樣本,這3個樣本分別為anchor、position和negtive。其目標為讓anchor和positive樣本(類別相同)的距離盡可能近,而和negtive樣本(類別不同)的距離盡可能遠。因此triplet loss設計為,讓anchor和positive樣本之間的距離比anchor和negtive樣本要小,并且要小至少一個margin的距離才不計入loss。

b31439dc-e8a5-11ec-ba43-dac502259ad0.png

b3366f34-e8a5-11ec-ba43-dac502259ad0.png

3. N-pair Loss

Improved Deep Metric Learning with Multi-class N-pair Loss Objective(NIPS 2016)提出N-pairLoss。在之前提出的contrastive loss和triplet loss中,每次更新只會使用一個負樣本,而無法見到多種其他類型負樣本信息,因此模型優化過程只會保證當前樣本的embedding和被采樣的負樣本距離遠,無法保證和所有類型的負樣本都遠,會影響模型收斂速度和效果。即使多輪更新,但是這種情況仍然會導致每輪更新的不穩定性,導致學習過程持續震蕩。

為了解決這個問題,讓模型在每輪更新中見到更多的負樣本,本文提出了N-pair loss,主要改進是每次更新的時候會使用多個負樣本的信息。N-pair loss可以看成是一種triplet loss的擴展,兩個的關系如下圖,當我們有1個正樣本和N-1個負樣本時,N-pair loss的計算方式:

b3501f74-e8a5-11ec-ba43-dac502259ad0.png

b3677444-e8a5-11ec-ba43-dac502259ad0.png

擴大負樣本數量的問題在于,原來每個batch內只需要計算N*3個樣本,現在需要計算N*(N+1)個樣本,運算量大幅度提高,難以實現。為了解決這個問題,文中提出將一個batch內不同樣本的負樣本數據共享,這樣只需要計算3*N個樣本的embedding即可,實現了效率提升。

b38b6188-e8a5-11ec-ba43-dac502259ad0.png

4. InfoNceLoss

Representation learning with contrastive predictive coding(2018)提出infoNce loss,是對比學習中最常用的loss之一,它和softmax的形式很相似,主要目標是給定一個query,以及k個樣本,k個樣本中有一個是和query匹配的正樣本,其他都是負樣本。當query和正樣本相似,并且和其他樣本都不相似時,loss更小。InfoNCE loss可以表示為如下形式,其中r代表temperature,采用內積的形式度量兩個樣本生成向量的距離,InfoNCE loss也是近兩年比較火的對比學習中最常用的損失函數之一:

b3b6b7ca-e8a5-11ec-ba43-dac502259ad0.png

相比softmax,InfoNCE loss使用了temperature參數,以此將樣本的差距拉大,提升模型的收斂速度。

5. Focal Loss

Focal Loss for Dense Object Detection(2018)提出Focal Loss,最開始主要是為了解決目標檢測中的問題,但是在很多其他領域也可以適用。Focal Loss解決的核心問題是,當數據中有很多容易學習的樣本和較少的難學習樣本時,如何調和難易樣本的權重。如果數據中容易的樣本很多,難的樣本很少,容易的樣本就會對主導整體loss,對難樣本區分能力弱。

為了解決這個問題,Focal Loss根據模型對每個樣本的打分結果給該樣本的loss設置一個權重,減小容易學的樣本(即模型打分置信的樣本)的loss權重。在交叉熵的基礎上,公式可以表示如下:

b3d558d8-e8a5-11ec-ba43-dac502259ad0.png

b41f579e-e8a5-11ec-ba43-dac502259ad0.png

b44595c6-e8a5-11ec-ba43-dac502259ad0.png

其中pt表示,當label為1時模型的預測值,當label為0時1-模型的預測值。通過對這個loss公式的分析可以看出,對于label為1的樣本,且模型預測值接近1,這個時候該樣本分類正確且容易預測,則第一項權重接近0,顯著減小了這種易分類樣本的loss權重。當label為0,模型預測值接近1時,屬于預測錯誤,loss的權重也是接近1的,對該樣本的loss基本沒有影響。

6. GHM Loss

在Focal Loss中強制讓模型關注難分類的樣本,但是數據中可能也存在一些異常點,過度關注這些難分類樣本,反而會讓模型效果變差。Gradient Harmonized Single-stage Detector(AAAI 2019)提出了GHM Loss,

首先分析了一個收斂的目標檢測模型中,所有樣本梯度模長的分布情況。梯度模長衡量了一個樣本對模型梯度的影響大小(不考慮方向),反映了一個樣本的難以程度,g越大模型因為此樣本需要更新的梯度越大,預測難度越大。基于交叉熵和模型輸出,梯度模長g定義如下:

b469321a-e8a5-11ec-ba43-dac502259ad0.png

b49ddbdc-e8a5-11ec-ba43-dac502259ad0.png

一個收斂的目標檢測模型的梯度模長分布如下,簡單樣本(即g很小的樣本)占絕大多數,這部分樣本是我們希望減小其loss權重的;同時還有很多難樣本,它們的g非常大,這部分可以被視作異常點,因為它們的梯度不符合大多數樣本,對于這部分極難樣本也應該減小權重。

b4c0313c-e8a5-11ec-ba43-dac502259ad0.png

為了同時減小易學習樣本和異常點樣本的權重,文中引入了梯度密度的概念(GD),衡量單位梯度模長的樣本密度。這個梯度密度用來作為交叉熵loss中的樣本權重,公式如下:

b4f887d0-e8a5-11ec-ba43-dac502259ad0.png

上面右側的圖對比了各種loss對不同梯度模長樣本的影響情況,可以看到GHM對于簡單樣本和困難樣本都進行了一定的loss抑制,而Focal Loss只能對簡單樣本進行loss抑制,普通loss對這兩類樣本都沒有抑制作用。

7. Circle Loss

Circle Loss: A Unified Perspective of Pair Similarity Optimization(CVPR 2020)提出circle loss,從一個統一的視角融合了class-level loss和pair-wise loss。這兩種優化目標,其實都是在最小化sn-sp,其中sn表示between-class similarity,即不同類別的樣本表示距離應該盡可能大;sp表示within-class similarity,即相同類別的樣本表示距離盡可能小。因此,兩種類型的loss都可以寫成如下統一形式:

b5231888-e8a5-11ec-ba43-dac502259ad0.png

基于sn-sp這種loss存在的問題是,優化過程中對sn和sp的懲罰力度是一樣的。例如下面左圖中,A點的sn已經很小了,滿足要求了,而sp還不夠大,sn-sp這種優化方法讓sn和sp的更新幅度相同。而更好的方法是多更新一些sp,少更新一些sn。此外,這種loss在優化過程中也會導致模棱兩可的情況,導致收斂狀態不明確。例如T和T'這兩個點,都滿足給定margin的情況下的優化目標,但卻存在不同的優化點。

b54a1e4c-e8a5-11ec-ba43-dac502259ad0.png

為了解決這個問題,circle loss在sn和sp分別增加了權重,用來動態確定sn和sp更新的力度,實現sn和sp以不同步調學習,circle loss的公式如下。當sn或sp相似度結果距離各自的最優點較遠時,會以一個更大的權重進行更新。同時,在這種情況下loss不再是對稱的,需要對sn和sp分別引入各自的margin。

b57cc478-e8a5-11ec-ba43-dac502259ad0.png

8. 總結

損失函數是影響表示學習效果的關鍵因素之一,本文介紹了表示學習中7大損失函數的發展歷程,核心思路都是通過對比的方式約束模型生成的表示滿足相似樣本距離近,不同樣本距離遠的原則。 審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編碼器
    +關注

    關注

    45

    文章

    3953

    瀏覽量

    142638

原文標題:表示學習中的7大損失函數梳理

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【「芯片設計基石——EDA產業全景與未來展望」閱讀體驗】--EDA了解與發展概況

    與創新能力、人才稀缺性。 二.EDA發展概況 EDA的發展歷程主要經歷四個階段,分別為CAD(計算機輔助設計)階段、CAE(計算機輔助工程)、EDA系統設計階段、當代EDA階段。 全球EDA市場格局
    發表于 01-19 21:45

    C語言回調函數原來這么簡單

    了解開發語言的朋友應該都會對回調函數有所了解,在很多的程序開發語言中都能看到回調的身影。很多場景下,當某個條件成立以后我們**代碼執行某些指定的部分,這個時候可以考慮使用回調函數的方式,這樣做思路
    發表于 12-30 06:45

    函數指針及指針函數的區別

    用同類型的指針變量來接受,也就是說,指針函數一定有函數返回值,而且,在主調函數函數返回值必須賦給同類型的指針變量。   
    發表于 12-12 06:34

    新思科技在中國30周年的發展歷程回顧

    ;為主題,回顧了新思科技與中國半導體產業并肩前行、共同發展歷程。他強調,新思科技始終秉持"讓明天更有新思"的初心,從技術提供者成長為產業共建者,未來將繼續與開發者攜手,共同推動科技創新與產業變革。
    的頭像 發表于 10-09 11:23 ?847次閱讀

    【精選直播】無感FOC控制滑模觀測器估算轉子角度思路分享

    數學模型回顧3、轉子位置角的求取思路4、狀態觀測器5、滑模觀測器6、傳統滑模觀測器與改進滑模觀測器7、滑模觀測器的離散化處理8、Q&A:解決你的實戰難題!直播福利報名參與
    的頭像 發表于 08-05 08:06 ?1158次閱讀
    【精選直播】無感FOC控制<b class='flag-5'>中</b>滑模觀測器估算轉子角度<b class='flag-5'>思路</b>分享

    寶馬集團車載總線技術的發展歷程

    在汽車電子架構的演進歷程,寶馬集團始終扮演著技術先鋒的角色。隨著城市化進程的加快和技術日益發展,寶馬從早期簡單的LIN總線到如今高性能的CANFD總線,寶馬通過不斷創新,推動了車載通信技術的迭代
    的頭像 發表于 07-25 14:12 ?2268次閱讀

    求一份CS32A011K8V7的RS485通訊歷程

    求一份CS32A011K8V7的RS485通訊歷程,郵箱:15317208748@163.com
    發表于 07-17 08:41

    鴻蒙發展歷程

    【HarmonyOS 5】鴻蒙發展歷程 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、鴻蒙 HarmonyOS 版本年代記 鴻蒙 1.0: 2019
    的頭像 發表于 07-07 11:41 ?2141次閱讀

    智能氮氣柜的發展歷程和前景展望

    智能氮氣柜的發展歷程大致可以分為早期階段、自動化控制時期和智能化轉型三個階段。1)早期階段:最初的氮氣柜主要是作為基本的防潮、防氧化存儲設備,采用手動或半自動的方式控制氮氣的補充,監測手段相對簡單
    的頭像 發表于 06-03 11:01 ?584次閱讀
    智能氮氣柜的<b class='flag-5'>發展</b><b class='flag-5'>歷程</b>和前景展望

    為什么中斷回調函數不能使用接收中斷開啟函數

    我看(書是基于stm32f407編寫)書上說在串口接收中斷回調函數里面不能使用 接收中斷開啟函數,書上是利用自己創建了空閑中斷回調函數,在這里面在進行數據接收以及再次開啟接收中斷,但是我看網上好例
    發表于 05-28 07:19

    為什么中斷回調函數不能使用接收中斷開啟函數

    我看(書是基于stm32f407編寫)書上說在串口接收中斷回調函數里面不能使用 接收中斷開啟函數,書上是利用自己創建了空閑中斷回調函數,在這里面在進行數據接收以及再次開啟接收中斷,但是我看網上好例
    發表于 04-22 08:19

    存儲芯片在AI學習發展趨勢

    隨著AI大模型等前沿技術的不斷發展,智能學習產品技術日益成熟,廣泛應用于多個教育學習場景,其廣闊的應用前景推動中國智能硬件行業規模快速增長。
    的頭像 發表于 04-21 14:42 ?1338次閱讀

    詳解RTOS的Hook函數

    Hook函數是RTOS的一個關鍵特性,通過該函數,用戶可以增強對任務管理的控制,定義系統行為。
    的頭像 發表于 03-24 16:14 ?1080次閱讀

    csu34f20的歷程

    請問csu34f20的歷程哪里有,請發到2209453423@qq.com謝謝
    發表于 03-17 16:07

    集成電路和光子集成技術的發展歷程

    本文介紹了集成電路和光子集成技術的發展歷程,并詳細介紹了鈮酸鋰光子集成技術和硅和鈮酸鋰復合薄膜技術。
    的頭像 發表于 03-12 15:21 ?1965次閱讀
    集成電路和光子集成技術的<b class='flag-5'>發展</b><b class='flag-5'>歷程</b>