ICLR 2020 | “同步平均教学”框架为无监督学习提供更鲁棒的伪标签
?PaperWeekly?·?作者|葛藝瀟
學校|香港中文大學博士生
研究方向|圖像檢索、圖像生成等
本文介紹一篇由港中文發表于 ICLR 2020 的論文 Mutual Mean-Teaching: Pseudo Label Refinery for Unsupervised Domain Adaptation on Person Re-identification [1],其旨在解決更實際的開放集無監督領域自適應問題,所謂開放集指預先無法獲知目標域所含的類別。
這項工作在多個行人重識別任務上驗證其有效性,精度顯著地超過最先進技術 13%-18%,大幅度逼近有監督學習性能。這也是 ICLR 收錄的第一篇行人重識別任務相關的論文,代碼和模型均已公開。
論文標題:Mutual Mean-Teaching: Pseudo Label Refinery for Unsupervised Domain Adaptation on Person Re-identification
論文來源:ICLR 2020
論文鏈接:https://openreview.net/forum?id=rJlnOhVYPS
代碼鏈接:https://github.com/yxgeee/MMT
背景簡介
任務
行人重識別(Person ReID)旨在跨相機下檢索出特定行人的圖像,被廣泛應用于監控場景。如今許多帶有人工標注的大規模數據集推動了這項任務的快速發展,也為這項任務帶來了精度上質的提升。
然而,在實際應用中,即使是用大規模數據集訓練好的模型,若直接部署于一個新的監控系統,顯著的領域差異通常會導致明顯的精度下降。在每個監控系統上都重新進行數據采集和人工標注由于太過費時費力,也很難實現。
所以無監督領域自適應(Unsupervised Domain Adaptation)的任務被提出以解決上述問題,讓在有標注的源域(Source Domain)上訓練好的模型適應于無標注的目標域(Target Domain),以獲得在目標域上檢索精度的提升。
值得注意的是,有別于一般的無監督領域自適應問題(目標域與源域共享類別),行人重識別的任務中目標域的類別數無法預知,且通常與源域沒有重復,這里稱之為開放集(Open-set)的無監督領域自適應任務,該任務更為實際,也更具挑戰性。
動機
無監督領域自適應在行人重識別上的現有技術方案主要分為基于聚類的偽標簽法、領域轉換法、基于圖像或特征相似度的偽標簽法,其中基于聚類的偽標簽法被證實較為有效,且保持目前最先進的精度 [2,3],所以該論文主要圍繞該類方法進行展開。
基于聚類的偽標簽法,顧名思義,(i) 首先用聚類算法(K-Means, DBSCAN等)對無標簽的目標域圖像特征進行聚類,從而生成偽標簽,(ii) 再用該偽標簽監督網絡在目標域上的學習。以上兩步循環直至收斂,如下圖所示:
▲ 基于聚類的偽標簽法通用框架,該框架可視作 a strong baseline for UDA ReID,在 GitHub repo 中也已一并開源
盡管該類方法可以一定程度上隨著模型的優化改善偽標簽質量,但是模型的訓練往往被無法避免的偽標簽噪聲所干擾,并且在初始偽標簽噪聲較大的情況下,模型有較大的崩潰風險。
所謂偽標簽噪聲主要來自于源域預訓練的網絡在目標域上有限的表現力、未知的目標域類別數、聚類算法本身的局限性等等。所以如何處理偽標簽噪聲對網絡最終的性能產生了至關重要的影響,但現有方案并沒有有效地解決它。
解決方法
概述
為了有效地解決基于聚類的算法中的偽標簽噪聲的問題,該文提出利用“同步平均教學”框架進行偽標簽優化,核心思想是利用更為魯棒的“軟”標簽對偽標簽進行在線優化。
在這里,“硬”標簽指代置信度為 100% 的標簽,如常用的 one-hot 標簽 [0,1,0,0],而“軟”標簽指代置信度 <100% 的標簽,如[0.1,0.6,0.2,0.1]。
▲ 從嘈雜的硬偽標簽到魯棒的軟偽標簽
如上圖所示,A1?與?A2?為同一類,外貌相似的?B?實際為另一類,由于姿態多樣性,聚類算法產生的偽標簽錯誤地將?A1?與?B?分為一類,而將?A1?與?A2?分為不同類,使用錯誤的偽標簽進行訓練會造成誤差的不斷放大。
該文指出,網絡由于具備學習和捕獲數據分布的能力,所以網絡的輸出本身就可以作為一種有效的監督。然而,利用網絡的輸出來訓練自己是不可取的,會無法避免地造成誤差的放大。
所以該文提出同步訓練對稱的網絡,在協同訓練下達到相互監督的效果,從而避免對網絡自身的輸出誤差形成過擬合。在實際操作中,該文利用“平均模型”進行監督,提供更為可信和穩定的“軟”標簽,將在下文進行描述。
總的來說,該文:
提出“同步平均教學”(Mutual Mean-Teaching)框架為無監督領域自適應的任務提供更為可信的、魯棒的偽標簽;
針對三元組(Triplet)設計合理的偽標簽以及匹配的損失函數,以支持協同訓練的框架。
同步平均教學
▲ 同步平均教學框架
如上圖所示,該文提出的“同步平均教學”框架利用離線優化的“硬”偽標簽與在線優化的“軟”偽標簽進行聯合訓練?!坝病眰螛撕炗删垲惿?#xff0c;在每個訓練 epoch 前進行單獨更新;“軟”偽標簽由協同訓練的網絡生成,隨著網絡的更新被在線優化。
直觀地來說,該框架利用同行網絡(Peer Networks)的輸出來減輕偽標簽中的噪聲,并利用該輸出的互補性來優化彼此。
而為了增強該互補性,主要采取以下措施:
對兩個網絡 Net 1 和 Net 2 使用不同的初始化參數;
隨機產生不同干擾,例如,對輸入兩個網絡的圖像采用不同的隨機增強方式,如隨機裁剪、隨機翻轉、隨機擦除等,對兩個網絡的輸出特征采用隨機 dropout;
訓練 Net 1 和 Net 2 時采用不同的“軟”監督,i.e. “軟”標簽來自對方網絡的“平均模型”;
采用網絡的“平均模型” Mean-Net1/2 而不是當前的網絡本身 Mean-Net1/2 進行監督。
此處,“平均模型”的參數 是對應網絡參數?的累計平均值,具體來說,“平均模型”的參數不是由損失函數的反向傳播來進行更新的,而是在每次損失函數的反向傳播后,利用以下公式將對應的網絡參數以?進行加權平均:
這里, 指第 個 iteration,和 分別為 Net 1 和 Net 2 的當前參數。在初始化時,,。故“平均模型”可以看作對網絡過去的參數進行平均,兩個“平均模型”由于具有時間上的累積,解耦性更強,輸出更加獨立和互補。
有一種簡單的協同學習方案是將此處的“平均模型”去除,直接使用網絡自己的輸出去監督對稱的網絡,如利用 Net 1 的輸出去監督 Net 2。而在這樣的方案下存在兩點弊端:
(1) 由于網絡本身靠反向傳播參數更新較快,受噪聲影響更嚴重,所以用這樣不穩定的監督容易對網絡的學習造成影響,文章 4.4 的消融學習中進行了比較,
(2) 該簡化方案讓網絡直接訓練逼近彼此,會使得網絡迅速收斂至相似,降低輸出的互補性,文章附錄 A.1 中進行了詳細說明。
值得注意的是,由于“平均模型”不會進行反向傳播,所以不需要計算和存儲梯度,并不會大規模增加顯存和計算復雜度。在測試時,只使用其中一個網絡進行推理,相比較 baseline,不會增加測試時的計算復雜度。
在行人重識別任務中,通常使用分類損失與三元損失進行聯合訓練以達到較好的精度。其中分類損失作用于分類器的預測值,而三元損失直接作用于圖像特征。
為了方便展示,下文中,我們使用 指代編碼器, 指代分類器,每個 Net 都由一個編碼器和一個分類器組成,我們用角標?,來區分 Net 1 和 Net 2。
我們使用角標 , 來區分源域和目標域,源域圖像及其標簽被表示為?,目標域無標注的圖像表示為 。
“軟”分類損失
利用“硬”偽標簽進行監督時,分類損失可以用一般的多分類交叉熵損失函數 來表示:
上式中, 為目標域圖像 的“硬”偽標簽,由聚類產生。在“同步平均教學”框架中,“軟”分類損失中的“軟”偽標簽是“平均模型” Mean-Net 1/2 的分類預測值? 。
針對分類預測,很容易想到利用“軟”交叉熵損失函數 來進行監督,該損失函數被廣泛應用于模型蒸餾,用以減小兩個分布間的距離:
上式中 和 表示同一張圖像經過不同的隨機數據增強方式。該式旨在讓 Net 1 的分類預測值逼近 Mean-Net 2 的分類預測值,讓 Net 2 的分類預測值逼近 Mean-Net 1 的分類預測值。
“軟”三元損失
傳統的三元(anchor, positive, negative)損失函數表示為:
上式中?表示歐氏距離,下角標 和 分別表示 的正樣本和負樣本,是余量超參。這里,正負樣本由聚類產生的偽標簽判斷,所以該式可以用以支持“硬”偽標簽的訓練。
但是,不足以支持軟標簽的訓練,減法形式的三元損失也無法直觀地提供軟標簽。這里的難點在于,如何在三元組的圖像特征基礎上設計合理的“軟”偽標簽,以及如何設計對應的“軟”三元損失函數。該文提出使用?softmax-triplet?來表示三元組內特征間的關系,表示為:
這里 softmax-triplet 的取值范圍為 ,可以用來替換傳統的三元損失,當使用“硬”偽標簽進行監督時,可以看作二分類問題,使用二元交叉熵損失函數? 進行訓練:
這里的“”指的是每個樣本與其負樣本的歐氏距離應該遠遠大于與正樣本的歐氏距離。但由于偽標簽存在噪聲,并不能完全正確地區分正負樣本,所以該文提出需要軟化對三元組的監督(使用“平均模型”輸出的特征距離比 代替硬標簽“1”,軟化后標簽取值范圍在 之間)。
具體來說,在“同步平均教學”框架中,“平均模型”編碼的圖像特征計算出的softmax-triplet可用作“軟”偽標簽以監督三元組的訓練:
該損失函數旨在讓 Net 1 輸出的?softmax-triplet?逼近 Mean-Net 2 的?softmax-triplet?預測值,讓 Net 2 輸出的?softmax-triplet?逼近 Mean-Net 1 的?softmax-triplet?預測值。
通過該損失函數的設計,該文有效地解決了傳統三元損失函數無法支持“軟”標簽訓練的局限性?!败洝比獡p失函數可以有效提升無監督領域自適應在行人重識別任務中的精度,實驗詳情參見原論文消融學習的對比實驗。
算法流程
該文提出的“同步平均教學”框架利用“硬”/“軟”分類損失和“硬”/“軟”三元損失聯合訓練,在每個訓練 iteration 中,主要由三步組成:
通過“平均模型”計算分類預測和三元組特征的“軟”偽標簽;
通過損失函數的反向傳播更新 Net 1 和 Net 2 的參數;
通過參數加權平均法更新 Mean-Net 1和 Mean-Net 2 的參數。
實驗結果
該文在四個行人重識別任務上進行了驗證,精度均比現有最先進的方法? [2,3]? 提升十個點以上,即將媲美有監督學習的性能。論文中使用 K-Means 聚類進行實驗,在每個行人重識別任務中都對不同的偽類別數(表格中表示為 MMT- 偽類別數)進行了驗證。發現無需設定特定的數目,均可獲得最先進的結果。
另外,開源的代碼中包含了基于 DBSCAN ?的實驗腳本,可以進一步提升性能,感興趣的同學可以嘗試。論文中的消融研究有效證明了“同步平均教學”框架的設計有效性和可解釋性,在這里就不細細展開了。
總結
該文針對基于聚類的無監督領域自適應方法中無法避免的偽標簽噪聲問題展開了研究,提出使用"同步平均教學"框架在線生成并優化更為魯棒和可信的“軟”偽標簽,并設計了針對三元組的合理偽標簽以及對應的損失函數,在四個行人重識別任務中獲得超出最先進算法 13%-18% 的精度。
參考文獻
[1] Y. Ge, et al. Mutual Mean-Teaching: Pseudo Label Refinery for Unsupervised Domain Adaptation on Person Re-identification. ICLR, 2020.
[2] X. Zhang, et al. Self-training with progressive augmentation for unsupervised cross-domain person re-identification. ICCV, 2019.
[3] F. Yang, et al. Self-similarity grouping: A simple unsupervised cross domain adaptation approach for person re-identification. ICCV, 2019.
點擊以下標題查看更多往期內容:?
圖自編碼器的起源和應用
圖神經網絡三劍客:GCN、GAT與GraphSAGE
如何快速理解馬爾科夫鏈蒙特卡洛法?
深度學習預訓練模型可解釋性概覽
ICLR 2020 | 隱空間的圖神經網絡
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
???? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的ICLR 2020 | “同步平均教学”框架为无监督学习提供更鲁棒的伪标签的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大胃王为什么这么能吃?
- 下一篇: 对抗训练浅谈:意义、方法和思考(附Ker