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

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

3天內不再提示

通過Logit調整的長尾學習

倩倩 ? 來源:GiantPandaCV ? 作者:GiantPandaCV ? 2022-09-05 14:28 ? 次閱讀

1. 論文信息

標題:Long-Tail Learning via Logit Adjustment

作者:Aditya Krishna Menon, Sadeep Jayasumana, Ankit Singh Rawat, Himanshu Jain, Andreas Veit, Sanjiv Kumar (Google Research)

原文鏈接:https://arxiv.org/abs/2007.07314

代碼鏈接:https://github.com/google-research/google-research/tree/master/logit_adjustment

2. 介紹

在傳統(tǒng)的分類和識別任務中,訓練數(shù)據的分布往往都受到了人工的均衡,即不同類別的樣本數(shù)量無明顯差異,如最有影響力的ImageNet,每種類別的樣本數(shù)量就保持在1300張左右。

aece2de2-2cd9-11ed-ba43-dac502259ad0.jpg

在實際的視覺相關任務中,數(shù)據都存在如上圖所示的長尾分布,少量類別占據了絕大多少樣本,如圖中Head部分,大量的類別僅有少量的樣本,如圖中Tail部分。解決長尾問題的方案一般分為4種:

重采樣 (Re-sampling):采樣過程中采樣不同的策略,如對tail中的類別樣本進行過采樣,或者對head類別樣本進行欠采樣。

重加權 (Re-weighting):在訓練過程中給與每種樣本不同的權重,對tail類別loss設置更大的權重,這樣有限樣本數(shù)量。

新的學習策略 (Learning strategy):有專門為解決少樣本問題涉及的學習方法可以借鑒,如:meta-learning、transfer learning。另外,還可以調整訓練策略,將訓練過程分為兩步:第一步不區(qū)分head樣本和tail樣本,對模型正常訓練;第二步,設置小的學習率,對第一步的模型使用各種樣本平衡的策略進行finetune。

其實就筆者喜歡的風格而言,我對重加權這一方向的工作更為喜歡,因為通過各種統(tǒng)計學上的結論,來設計很好的loss改進來解決長尾/不均衡分布問題,我喜歡這類研究的原因是,他們(大部分)實現(xiàn)簡單,往往只需幾行代碼修改下loss,就可以取得非常有競爭力的結果,因為簡單所以很容易運用到一些復雜的任務中。

而從“奧卡姆剃刀”來看,我覺得各種遷移模型的理念雖然非常好,從頭部常見類中學習通用知識,然后遷移到尾部少樣本類別中,但是往往會需要設計復雜的模塊,有增加參數(shù)實現(xiàn)過擬合的嫌疑,我認為這其實是把簡單問題復雜化。我覺得從統(tǒng)計方面來設計更加優(yōu)美,因此本文來介紹一篇我非常喜歡的從統(tǒng)計角度出發(fā)的工作。這篇論文來自Google Research,他們提供了一種logit的調整方法來應對長尾分布的問題。由于研究風格更偏向 machine learning, 所以論文風格更偏向統(tǒng)計類。

本文首先總結了對于logit的調整方法:

聚焦于測試階段:對學習完的logit輸出進行處理(post-hoc normalization),根據一些先驗假設進行調整。

聚焦于訓練階段:在學習中調整loss函數(shù),相對平衡數(shù)據集來說,調整優(yōu)化的方向。

aeddeafc-2cd9-11ed-ba43-dac502259ad0.png

如上圖,這兩種方法都有許多較為優(yōu)秀的工作,但是文中描述了這兩種方法的幾種限制:

weight normalization非常依賴于weight的模長會因為class的data數(shù)量稀少而變小,然而這種假設非常依賴于優(yōu)化器的選擇

直接修改loss進行重加權,也會影響模型的表征學習,從而導致優(yōu)化過程不穩(wěn)定,同時模型可能對尾部類過擬合,傷害了模型表征學習能力。

論文的motivation就是克服這些缺點,讓不同類(head and tail classed)之間的logit能有一個相對較大的margin,設以一個consistent的loss,來讓模型的性能更好。

3. 問題設定和過往方法回顧

3.1 Problem Settings

論文先從統(tǒng)計學的角度定義了一下這個problem settings,其實就是訓練一個映射,讓這個scorer的誤分類損失最?。?/p>

但是類別不平衡的學習的setting導致P(y)分布是存在高度地skewed,使得許多尾部類別標簽出現(xiàn)的概率很低。在這里,錯誤分類的比例就不是一個合適的metric: 因為模型似乎把所有的尾部類別都分類成頭部類別也更夠取得比較好的效果。所為了解決這個問題,一個自然的選擇是平衡誤差,平均每個類的錯誤率,從而讓測試計算出的metric不是有偏的。

論文總結出了一個比較general的loss形式:

這里 是類別 yy 的權重;是另一個超參, 用來控制 margin 的大小。

3.2Post-hoc weight normalization

由于頭部類別多,容易過擬合,自然會對頭部類別overconfidence,所以我們需要通過一定的映射來調整logit。具體到調整的策略,自然是讓大類置信度低一點,小類置信度高一點。

for , where and . Intuitively, either choice of upweights the contribution of rare labels through weight normalisation. The choice is motivated by the observations that tends to correlate with . Further to the above, one may enforce during training.

這里引用了一些其他做long-tail learning的論文,可以參考以便更好地對這一塊進行理解。

3.3 Loss modification

至于對于loss的修改,就是很直接了在前面加一個權重,對于的取值,自然就是各個工作重點關注和改進的地方。

af02f478-2cd9-11ed-ba43-dac502259ad0.png

論文給予原有的各種方法各種比較全面的總結。

4. 方法

首先進行Post-hoc logit adjustment:

其實等號左邊就是一個根據類別的樣本數(shù)進行re-weighting。但是為了在exp的線性變換加上temperature時候不影響排序問題,所以把等號右邊變成上式,通過這種方式放縮不會導致原本的排序出現(xiàn)問題。從而使得重加權仍能夠給尾部類更高的權重。

af2dc766-2cd9-11ed-ba43-dac502259ad0.png

把loss改寫成易于理解的方式就如下:

下面這個更為直接的loss被成為為pairwise margin loss,它可以把 y 與 y' 之間的margin拉大。

然后就是實現(xiàn)結合:

af47e862-2cd9-11ed-ba43-dac502259ad0.png

通過一些特殊的取值和另外的trick,可以實現(xiàn)兩者的結合。

5. 實驗結果

af5f3152-2cd9-11ed-ba43-dac502259ad0.png

這張圖非常有意思,可以看出兩個設計理念非常有效果。

af842f0c-2cd9-11ed-ba43-dac502259ad0.png

afa47d2a-2cd9-11ed-ba43-dac502259ad0.png

可以發(fā)現(xiàn)該方法在頭部類和尾部類的性能都有所提升。

6. 結論

摘要:這篇寫得很好的論文重新審視了logit調整的想法,以解決長尾問題。本文首先建立了一個統(tǒng)計框架,并以此為基礎提出了兩種有效實現(xiàn)對數(shù)平差的方法。他們通過在合成和自然長尾數(shù)據集上使用幾個相關基線對其進行測試,進一步證明了這種方法的潛力。

審核編輯 :李倩

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

    關注

    0

    文章

    194

    瀏覽量

    25081
  • 模型
    +關注

    關注

    1

    文章

    3038

    瀏覽量

    48389
  • 數(shù)據集
    +關注

    關注

    4

    文章

    1197

    瀏覽量

    24549
收藏 人收藏

    評論

    相關推薦

    直流電機通過調整什么改變轉速

    直流電機是一種常見的電機類型,廣泛應用于各種工業(yè)和民用領域。直流電機的轉速可以通過多種方式進行調整,以滿足不同的應用需求。 直流電機的工作原理 直流電機主要由定子、轉子、換向器和電刷等部分組成。其
    的頭像 發(fā)表于 08-23 15:44 ?263次閱讀

    Linux操作系統(tǒng)運行參數(shù)自動調整技術

    Linux操作系統(tǒng)運行參數(shù)的自動調整是一個復雜而關鍵的技術,它可以顯著提高系統(tǒng)性能、穩(wěn)定性和資源利用率。通過使用自適應算法特別是內核態(tài)的機器學習框架、性能監(jiān)控工具和配置管理工具,能夠在動態(tài)變化的工作
    的頭像 發(fā)表于 08-22 09:53 ?163次閱讀
    Linux操作系統(tǒng)運行參數(shù)自動<b class='flag-5'>調整</b>技術

    動態(tài)調整電源芯片輸出電壓

    這個是前陣子紅外觸摸框上的部分電路圖, 主要功能是通過調整LDO輸出電壓間接控制發(fā)射燈的輸出功率。
    的頭像 發(fā)表于 07-17 11:44 ?561次閱讀
    動態(tài)<b class='flag-5'>調整</b>電源芯片輸出電壓

    BP神經網絡的學習機制

    BP神經網絡(Backpropagation Neural Network),即反向傳播神經網絡,是一種基于梯度下降算法的多層前饋神經網絡,其學習機制的核心在于通過反向傳播算法
    的頭像 發(fā)表于 07-10 15:49 ?229次閱讀

    深度學習模型訓練過程詳解

    深度學習模型訓練是一個復雜且關鍵的過程,它涉及大量的數(shù)據、計算資源和精心設計的算法。訓練一個深度學習模型,本質上是通過優(yōu)化算法調整模型參數(shù),使模型能夠更好地擬合數(shù)據,提高預測或分類的準
    的頭像 發(fā)表于 07-01 16:13 ?561次閱讀

    調速電機的速度調整范圍有哪些

    的速度調整范圍及其影響因素。 一、調速電機的分類 調速電機主要分為以下幾類: 直流調速電機:通過改變電樞電壓或電樞電阻來調整轉速。 交流調速電機:通過改變電源頻率、電壓或相位來
    的頭像 發(fā)表于 06-05 11:09 ?847次閱讀

    通過強化學習策略進行特征選擇

    更快更好地學習。我們的想法是找到最優(yōu)數(shù)量的特征和最有意義的特征。在本文中,我們將介紹并實現(xiàn)一種新的通過強化學習策略的特征選擇。我們先討論強化學習,尤其是馬爾可夫決策
    的頭像 發(fā)表于 06-05 08:27 ?233次閱讀
    <b class='flag-5'>通過強化學習</b>策略進行特征選擇

    機器學習8大調參技巧

    今天給大家一篇關于機器學習調參技巧的文章。超參數(shù)調優(yōu)是機器學習例程中的基本步驟之一。該方法也稱為超參數(shù)優(yōu)化,需要搜索超參數(shù)的最佳配置以實現(xiàn)最佳性能。機器學習算法需要用戶定義的輸入來實現(xiàn)準確性和通用性之間的平衡。這個過程稱為超參數(shù)
    的頭像 發(fā)表于 03-23 08:26 ?477次閱讀
    機器<b class='flag-5'>學習</b>8大調參技巧

    led驅動電源如何調整電流大小的方法

    和功率有非常重要的作用。下面將詳細介紹LED驅動電源如何調整電流大小的方法。 一、常見的LED驅動電源類型 線性驅動電源(Linear Driver): 線性驅動電源是一種基于線性穩(wěn)壓器原理的電源。在線性穩(wěn)壓器電路中,通過調整
    的頭像 發(fā)表于 02-27 17:50 ?4558次閱讀

    如何通過調整PIN LIN上的PWM占空比來控制電機速度嗎?

    有人知道如何通過調整 PIN LIN 上的 PWM 占空比來控制電機速度嗎?
    發(fā)表于 01-26 07:11

    adv7401怎樣調整輸出圖像垂直位置,通過哪個寄存器?

    adv7401怎樣調整輸出圖像垂直位置,通過哪個寄存器
    發(fā)表于 12-07 07:11

    電壓調整率是什么?電壓調整率測試方法

    穩(wěn)定性非常重要。 電壓調整率測試方法主要包括兩種:動態(tài)測試和靜態(tài)測試。 動態(tài)測試是通過向電源加載突發(fā)負載,并觀察電源輸出電壓的變化來評估電壓調整率。具體測試步驟如下: 1. 準備測試設備:測試電源、負載電阻、負載控制
    的頭像 發(fā)表于 11-10 15:26 ?3492次閱讀

    如何通過動態(tài)電壓調整(DVS)來實現(xiàn)精密電壓調節(jié)?

    本文探討如何通過動態(tài)電壓調整(DVS)來實現(xiàn)精密電壓調節(jié)。DVS是一種根據預期的負載瞬變將輸出電壓稍微調高或調低的過程。本文介紹如何使用特定IC實現(xiàn)可靠的電壓監(jiān)控。
    的頭像 發(fā)表于 11-08 13:04 ?1092次閱讀
    如何<b class='flag-5'>通過</b>動態(tài)電壓<b class='flag-5'>調整</b>(DVS)來實現(xiàn)精密電壓調節(jié)?

    NeurIPS 2023 | 大模型時代自監(jiān)督預訓練的隱性長尾偏見

    2023 論文 《 Generalized Logit Adjustment: Calibrating Fine-tuned Models by Removing Label Bias
    的頭像 發(fā)表于 10-30 11:05 ?362次閱讀
    NeurIPS 2023 | 大模型時代自監(jiān)督預訓練的隱性<b class='flag-5'>長尾</b>偏見

    CAN總線調整同步的規(guī)則是什么

    。 每當檢測出邊沿時,根據 SJW 值通過加長 PBS1 段,或縮短 PBS2 段,以調整同步。但如果發(fā)生了超出 SJW值的誤差時,最大調整量不能超過SJW 值。 調整同步的規(guī)則 硬件
    的頭像 發(fā)表于 10-27 15:03 ?1201次閱讀
    CAN總線<b class='flag-5'>調整</b>同步的規(guī)則是什么