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