从4篇顶会论文看Self-training最新研究进展
?PaperWeekly 原創(chuàng) ·?作者|張一帆
學(xué)校|華南理工大學(xué)本科生
研究方向|CV,Causality
本文梳理了 Self-training 的最新進展,涉及 4 篇比較有意思的論文。
What is self-training?
Self-training 是最簡單的半監(jiān)督方法之一,其主要思想是找到一種方法,用未標(biāo)記的數(shù)據(jù)集來擴充已標(biāo)記的數(shù)據(jù)集。算法流程如下:
1. 首先,利用已標(biāo)記的數(shù)據(jù)來訓(xùn)練一個好的模型,然后使用這個模型對未標(biāo)記的數(shù)據(jù)進行標(biāo)記。
2. 然后,進行偽標(biāo)簽的生成,因為我們知道,已訓(xùn)練好的模型對未標(biāo)記數(shù)據(jù)的所有預(yù)測都不可能都是好的,因此對于經(jīng)典的 Self-training,通常是使用分數(shù)閾值(confidence score)過濾部分預(yù)測,以選擇出未標(biāo)記數(shù)據(jù)的預(yù)測標(biāo)簽的一個子集。
3. 其次,將生成的偽標(biāo)簽與原始的標(biāo)記數(shù)據(jù)相結(jié)合,并在合并后數(shù)據(jù)上進行聯(lián)合訓(xùn)練。
4. 整個過程可以重復(fù) n 次,直到達到收斂。
Self-training 最大的問題在就在于偽標(biāo)簽非常的 noisy,會使得模型朝著錯誤的方向發(fā)展。以下文章大多數(shù)都是為了解決這個問題。
ICCV 2019
論文標(biāo)題:
Confidence Regularized Self-Training
論文鏈接:
https://arxiv.org/abs/1908.09822
代碼鏈接:
https://github.com/yzou2/CRST
這篇文章通過對模型進行正則化,迫使輸出的 vector 不那么 sharp(參考 label smooth 的作用),從而減輕使用軟偽標(biāo)簽學(xué)習(xí)的偽標(biāo)簽不正確或模糊所帶來的誤導(dǎo)效果。
Main Contribution
該文的大致流程可見下圖:
方法一:在打標(biāo)簽的過程中添加 label regularization (LR),增加 pesudo label 的熵,類似于 label smooth 的作用。
方法二:在網(wǎng)絡(luò)重新訓(xùn)練的過程中添加 model regularization (MR),增加網(wǎng)絡(luò)輸出概率的熵。
作者提出了多項正則化手段,其目的在于增加 pesudo label 的熵。通過求解 KKT 條件,作者還解出了在該條件下模型的輸出概率。可以看出是本質(zhì)上都是熵增正則化項或者類似于熵增正則化項。
作者在后面通過實驗論證為什么置信正則化平滑(Confidence regularization smooths)有效,兩種正則化均能夠使(被模型預(yù)測為正的正樣本的 confidence/置信度,換句話說就是偽標(biāo)簽與真實標(biāo)簽相同時,偽標(biāo)簽對應(yīng)類的概率值)略微降低,同時能夠使(被模型預(yù)測為正的負樣本的 confidence/置信度,換句話說就是偽標(biāo)簽與真實標(biāo)簽不同時,偽標(biāo)簽對應(yīng)類的概率值)明顯降低,實驗結(jié)果可見下圖:
NeurlPS 2020
論文標(biāo)題:
Uncertainty-aware Self-training for Text Classification with Few Labels
論文鏈接:
https://arxiv.org/pdf/2006.15315.pdf
這篇文章利用不確定性增強偽標(biāo)簽的可信度,減少 noisy 帶來的影響。
3.1 Main Contribution
使用貝葉斯不一致主動學(xué)習(xí)(Bayesian Active Learning by Disagreement, BALD)的思想評估樣本標(biāo)簽的不確定性,憑借不確定性選擇用于 re-train 模型的偽標(biāo)簽樣本。
3.2 Background-Bayesian neural network(BNN)
給定網(wǎng)絡(luò)參數(shù) ,貝葉斯推斷是想要找一個后驗分布:
即 NN,這個積分顯然是 intractable,因此就有很多工作用到了隨即正則化的工具(dropout)來構(gòu)建易于處理的分布族中 ,它可以替代難以計算的真實模型后驗。
如果我們使用不同的 dropout 采樣 個 masked model ,那么近似后驗可以通過 MC 積分得到:
3.3 Method
3.3.1 如何得到偽標(biāo)簽?
對于選出的每個 unlabel 的數(shù)據(jù),我們可以將其傳入 NN 次,因為使用了 dropout,我們會得到不同的 個預(yù)測結(jié)果。直接將預(yù)測結(jié)果求平均就得到了預(yù)測標(biāo)簽(當(dāng)然也可以采取其他方式)。
3.3.2 如何選擇樣本?
接下來的 Bayesian Active Learning by Disagreement(BALD)即文章選擇的選取帶偽標(biāo)簽數(shù)據(jù)的方式。它具體的計算公式如下:
對 BALD 不了解也沒關(guān)系,該式的值大就說明模型對 的標(biāo)簽非常的不確定,因此我們可以用 BALD 對模型進行排名然后挑選,本文的策略可以概括為:
先對每個類選擇相同數(shù)目的樣本,防止某些類特別容易造成的樣本極度不均衡。然后在每個類中使用 BALD 對樣本進行排名并依概率抽取。如果我們想要挖掘簡單樣本就以 排名,否則以 排名。
3.3.3 Confident Learning
然后我們分別計算預(yù)測結(jié)果的均值和方差。均值就是前面的 。
可以看到總的方差可以分為兩項 (i) 模型對預(yù)測標(biāo)簽的不確定性 (ii) 噪聲項。我們希望更關(guān)注那些標(biāo)簽可信度高的樣本(方差小),因此我們對每個樣本的損失 加上 作為懲罰項。
偽代碼如上,即先對 randomly sample 的樣本計算我們需要的參數(shù)。然后根據(jù)我們的樣本選擇策略,根據(jù) uncertainty 選取合適的樣本。對這些樣本計算它們的偽標(biāo)簽,最后將帶偽標(biāo)簽用作數(shù)據(jù)重新訓(xùn)練模型。
3.4 Experiments
作者使用了情感分類的三個數(shù)據(jù)集和主題分類的兩個數(shù)據(jù)集,在每個數(shù)據(jù)集中選擇 K 個作為訓(xùn)練數(shù)據(jù),其余的作為 unlabelled 數(shù)據(jù)。
相比于各種不同的 baseline,基于 uncertainty 的方法在大多數(shù) benchmark 上都取得了不錯的提升。
CVPR 2020
論文標(biāo)題:
Self-Training With Noisy Student Improves ImageNet Classification
論文鏈接:
https://arxiv.org/abs/1911.04252
代碼鏈接:
https://github.com/google-research/noisystudent
這篇文章最大的亮點就在于“noisy student”,產(chǎn)生偽標(biāo)簽的過程與之前無二,但是在重新訓(xùn)練模型(student)的時候需要加噪聲(dropout, stochastic depth and augmentation)。整體框架如下:
除此之外有兩點需要注意:
1. teacher 和 student 模型架構(gòu)可以相同也可以不同,但是要想使噪音學(xué)生模型學(xué)習(xí)的好,模型容量必須足夠大,以擬合大量的無標(biāo)注數(shù)據(jù)集。這里使用的是基準(zhǔn)模型,即第一次的 teacher model 是 EfficentNet-B7,而 student model 是一個更大的模型,并逐漸增大直到 EfficientNet-L2。
2. 平衡數(shù)據(jù):這是 self-training 很多都會做的一個工作,讓每個類的未標(biāo)記圖像數(shù)量相同。
文章實驗居多,標(biāo)簽數(shù)據(jù)使用了 imagenet,無標(biāo)簽數(shù)據(jù)使用了 JFT,使用最初在 ImageNet 上訓(xùn)練的 EfficientNet-B0 來預(yù)測標(biāo)簽,并且只考慮那些標(biāo)簽的置信度高于 0.3 的圖像。對于每個類,選擇 130K 個樣本,對于少于 130K 個樣本的類,隨機復(fù)制一些圖像。文章得到的效果如下:
為什么 noisy student 能夠取得成功?
在我們開始討論之前,讓我們退一步思考一下,當(dāng)同一個模型同時作為教師和學(xué)生使用時的情況,由于偽標(biāo)簽是使用相同的教師模型生成的,因此一個合理的假設(shè)是,在這種情況下,學(xué)生模型在未標(biāo)記數(shù)據(jù)上的交叉熵損失將為零,那么,學(xué)生模型最終將不再學(xué)習(xí)新東西。
而對學(xué)生加 noisy,可以確保 student model 的任務(wù)更難完成,而不僅僅是學(xué)習(xí) teacher model 的知識,這也是 Noisy 能夠帶來提升的一個原因。
本文雖然性能提升很大,但是模型的訓(xùn)練時間確實非常之長。
CVPR 2021
論文標(biāo)題:
CReST: A Class-Rebalancing Self-Training Framework for Imbalanced Semi-Supervised Learning
論文鏈接:
https://arxiv.org/abs/2102.09559
在類別不平衡的數(shù)據(jù)上施展半監(jiān)督學(xué)習(xí)的研究很少,而這個問題又非常具有研究價值。該文章通過根據(jù)每個 class 樣本數(shù)目對帶偽標(biāo)簽的數(shù)據(jù)進行抽樣,從而提升模型在少量樣本上的表現(xiàn)。
5.1 Motivation
文章的出發(fā)點在于,我們通常認為樣本少的類表現(xiàn)效果不好,但是這只是部分正確,從下圖中我們可以看到,對于樣本數(shù)目非常少的點,他只是 recall 非常的差,但是 precision 卻出乎意料的高。這個發(fā)現(xiàn)促使我們?nèi)ふ乙环N方法來提升他的 recall。
文章就提出了這樣一種框架,與傳統(tǒng)工作不同,我們對打上偽標(biāo)簽的數(shù)據(jù)根據(jù)類別多少來進行采樣。
那么這里最重要的問題就是,我們怎么知道 unlabelled 數(shù)據(jù)中的類別信息?這里采取了簡單的,從有標(biāo)簽樣本中進行估計。對于一個被預(yù)測為 的 unlabelled 數(shù)據(jù),它會被加入下一輪的訓(xùn)練集的概率為:
控制著采樣頻率。比如對 10- 分類問題,被分為第 10 類的所有樣本(minority class)都會被選中 (文章假設(shè)了各個類是按照樣本數(shù)目從多到少排序的),而第一類的樣本(majority class)只有很少一部分被選中 。
這種做法有兩個好處:1)因為 minority class 的預(yù)測精度都很高,因此將他們加入訓(xùn)練集合風(fēng)險比較小;2)minority class 樣本數(shù)目本來就少,對模型更加重要。
文章還引入了 progressive distribution align-ment 的方法進一步提升模型能力,但是這不是他的主要貢獻。
5.2 Experiments
文章在首先在 CIFAR10-LT 與 CIFAR100-LT) 兩個數(shù)據(jù)集上驗證了模型的有效性,在這些數(shù)據(jù)集中數(shù)據(jù)被隨機丟棄來滿足預(yù)設(shè)的 imbalance factor (數(shù)據(jù)量最大與數(shù)據(jù)量最少的類的樣本數(shù)目比值)與 (labelled 與 unlabelled 數(shù)據(jù)的比值)。
以下展示了在不同 的情況下模型的表現(xiàn)結(jié)果,表中的數(shù)據(jù)是分類精度。
文章也對 recall 的影響做了單獨的分析,在 CIFAR10-LT 數(shù)據(jù)集上,本文的策略犧牲了大類樣本些許召回精度,換來了小類樣本巨大的提升。
文章的主要問題在于使用 labelled 數(shù)據(jù)分布來預(yù)測 unlabelled 數(shù)據(jù)分布,如果二者的數(shù)據(jù)分布差距較大(甚至恰好相反),那么不見得模型表現(xiàn)得會更好,直觀來看甚至?xí)儾睢?/p>
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得或技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標(biāo)準(zhǔn):
? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?
? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?
? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標(biāo)志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發(fā)送?
? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通
????
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的从4篇顶会论文看Self-training最新研究进展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 融侨半岛为什么叫香弥山?
- 下一篇: 波束形成、回声消除、声源定位及端到端等语