【論文筆記(5)ECCV2020】Graph convolutional networks for learning with few clean and many noisy labels
Graph convolutional networks for learning with few clean and many noisy labels
- Abstract
- Introduction
- Related Wrok
- Problem formulation
- Cleaning with graph convolutional networks
- Learning a classifier with few clean and many noisy examples
Abstract
在這項工作中,我們考慮了當給出幾個乾淨的標籤示例時,從噪聲標籤中學習分類器的問題。清潔和噪聲資料的結構由每個類的圖來建模,並使用圖卷積網路(GCN)來預測噪聲示例的類相關性。對於每一類,GCN被視為一個二元分類器,它使用加權的二元交叉熵損失函式來學習區分乾淨的和有噪音的示例。然後利用GCN推斷的“乾淨”概率作為相關性度量。在學習結束任務的分類器時,每個噪聲示例根據其相關性進行加權。我們在一個小樣本學習問題的擴充套件版本上評估了我們的方法,在這個問題中,新類的幾個乾淨的例子被額外的噪聲資料補充。實驗結果表明,與不清洗噪聲資料和使用較少清洗例項的標準小樣本分類方法相比,基於GCNs的清洗過程顯著提高了分類精度。
Introduction
目前最先進的深度學習方法需要大量的人工標註資料。通過將表示學習從最終任務解耦並使用未標記、弱標記(帶有噪聲標記)或屬於不同域或類的附加訓練資料,可以減少對監督的需要。示例方法是轉移學習[39]、無監督表示學習[39]、半監督學習[42]、從噪聲標籤學習[16]和小樣本學習[33]。
然而,對於幾個類,在表示學習階段可能只有很少的、甚至沒有乾淨的標籤可用。小樣本學習嚴重限制了結束任務上標記的樣本數量,而表示是在不同類的大規模訓練集上學習的[12,33,38]。然而,在許多情況下,更多帶有噪聲標籤的資料可以被獲取或容易地用於最終任務。
Douze et al等人的工作是小樣本學習和額外的大規模資料的一個有趣的混合,其中標籤從幾個乾淨的標籤示例傳播到大規模集合。此集合沒有標籤,實際上包含的類比最終任務多得多。他們的方法總體上提高了分類精度,但需要額外的計算代價。這是一種轉換的方法,即在推理時仍然需要大規模的收集,而不是學習引數分類器。
圖一概述了我們對一個樣本和噪聲示例學習的清潔方法。我們使用類名Admiral從Web上抓取噪聲影象,並基於視覺相似性建立鄰接圖。然後,我們使用圖卷積網路(GCN)為每個噪聲示例分配相關性分數。相關性分數顯示在影象旁邊。
在這項工作中,我們從幾個乾淨的標記樣本和附加的弱標記資料中學習一個分類器,而表示是在不同的類上學習的,類似於小樣本學習。我們假設類名是已知的,並使用它們來搜尋具有文字描述的影象集合。結果是一組具有新類別標籤的影象,但可能是不正確的(噪聲)。如圖1所示,我們使用圖形卷積網路(GCN)[17]清洗資料,該網路學習根據到乾淨圖中影象的連線來預測每個影象的類相關性分數。然後用乾淨的和有噪聲的影象來學習分類器,其中有噪聲的例子按相關性加權。與大多數現有工作不同的是,我們的方法針對每個類獨立執行,並且適用於每個類很少甚至只有一個乾淨的標籤的情況。
貢獻:
1.我們在一個大規模的弱標記集合上學習一個分類器,只有幾個乾淨的標記示例。
2.使用GCN來清理噪聲資料的:我們將GCN轉換為學習區分乾淨和噪音資料的二元分類器,並將其推斷的“乾淨”概率用作每個示例的相關性分數。
3.將方法應用於兩個小樣本的學習基準,在使用相同的沒有標籤的大規模資料集合下,並顯示出在準確性方面的顯著提高,優於Douze等人的方法。[5]
Related Wrok
帶噪聲標籤的學習:
涉及估計或學習一個標籤之間的轉移矩陣[24,25,34]或知識圖[19],並校正損失函式,這在我們的情況下不適用,因為噪聲資料中的真實類別是未知的。最近關從大規模弱標記資料中學習的最新工作主要集中在通過度量學習[18,40]、自舉[28]或蒸餾[19]來學習表示。然而,在我們的例子中,由於乾淨標籤示例很少,我們需要保持表示大部分是固定的。
在基於損失的梯度[30]學習表示的同時,可以通過閾值處理[18]、離群值檢測[40]或重新加權[20]來處理噪聲。相反,我們提出的相對較淺的GCN有效地將重權重從表示學習和分類器學習中解耦出來。學習清潔噪聲標籤[36]通常假設有足夠的人工驗證的標籤用於訓練,這在本工作中也不是這種情況。
小樣本學習:
元學習[37]指的是兩個層次的學習,即在適應更具體的任務之前獲得一般知識。在小樣本學習中,這轉化為在一組基類上學習如何在不過擬合的情況下從一組不同新類中的幾個示例中學習。例如,優化元學習[6,7,27]相當於學習一個很容易在幾個步驟中微調的模型。在我們的工作中,我們研究了小樣本學習的擴充套件,其中有更多新的類例項可用,降低了微調模型時過度擬合的風險。
Gidaris和Komodakis[9]在基類上學習更簡單的基於餘弦相似度的引數分類器,或者簡單的餘弦分類器,而不需要元學習。Qi.[26]已經獨立地引入了相同的分類器,他們進一步微調了網路,假定可以訪問基類訓練集。最近的一項調查[3]證實了餘弦分類器比包括元學習在內的以前工作的優越性[6]。我們在這項工作中使用餘弦分類器,包括基類和新類。
直到最近,利用未標記資料在小樣本學習中的探索還很少。Ren et al.[29]介紹了一種半監督的小樣本分類任務,其中有些標籤是未知的。Liu et al.[21]遵循相同的半監督設定,但使用基於圖的標籤傳播(LP)[45]進行分類,並聯合考慮所有測試影象。這些方法假設了一種元學習場景,在這種場景中,每個訓練場景都只有小規模的資料可用;可以說,如此少量的資料限制了對未見資料的表示適應和泛化。Similarly, Rohrbach et al. [31] 在轉換設定中在更大的範圍內使用標籤傳播,假設所有示例都來自一組已知的類別。Douze et al. [5]擴充套件到更大的範圍,在不使用額外文字資訊的情況下利用圖表中的100M未標記影象。我們關注的是使用相同100M資料集的後一種大規模場景。然而,我們通過文字過濾來獲得有噪聲的資料,並遵循歸納的方法,為新的類別訓練分類器,這樣在推理時就不需要100M的集合。
圖神經網路:
圖神經網路是卷積網路在非歐氏空間的推廣[1]。早期的譜方法[2,14]已經被切比雪夫多項式逼近[4]所取代,避免了計算特徵向量的高計算量。圖卷積網路(GCN)[17]通過圖濾波的一階近似提供了進一步的簡化,並被應用於半監督學習[17]以及隨後的小樣本習[8]。Kipf和Wling[17]將損失函式應用於已標記樣本,以對未標記樣本進行預測。同樣,Garcia和Bruna[8]使用GCNS對新的類樣本進行預測。Gidaris和Komodakis[10]使用圖形神經網路作為去噪自動編碼器,為新的類別生成類別權重。相比之下,我們將GCNS視為區分乾淨和噪聲示例的二元分類器:我們對所有樣本應用損失函式,然後使用推斷的概率作為類相關性度量,有效地清理了資料。
我們把噪聲例子都當作負例來對待,這一違反直覺的目標可以與在例項級區分中將每個例項作為不同的類進行比較,事實上,我們的損失函式類似於噪聲對比估計(NCE)[11]。我們的實驗表明,我們的基於GCN的分類器比用於類似目的的經典LP[45]的效能高出[31]。
Problem formulation
我們考慮示例空間X。示例集合Xc,每個示例在類的集合C中具有乾淨的(人工驗證的)標籤。我們假設在每個類中標籤示例的數目為k,通常在{1,2,5,10,20}中。額外的例項集合Xn,每個在C中都有一組有噪聲的標籤。類C的擴充套件例項集合是X=Xc∪Xn。具有乾淨(噪聲)標籤的例項或例項集合也被稱為乾淨(噪聲)。目標是訓練一個K-way分類器,使用額外的噪聲集來提高精度,而不是隻使用小的乾淨集。
我們假設我們有一個特徵提取器gθ: X→Rd,將一個例子對映到一個d維向量。例如,當例子是影象時,特徵提取器通常是一個卷積神經網路(CNN),而θ是所有層的引數。
在這項工作中,我們假設噪聲集合Xn是通過網路爬行收集的。例如,圖片伴隨著自由形式的文字描述和/或來自社群照片收藏的使用者標籤。為了使用文字資料,我們假設給出了C中的類名。給定Xn中的一個例子類C中的標籤c,如果其文字資訊包含類c的名稱;然後,它可能沒有標籤、一個或多個標籤。通過這種方法,我們可以自動推斷出Xn的標籤,而不需要人為的努力,但這是有噪聲的。
Cleaning with graph convolutional networks
在Xn( C )中,我們通過獨立的對每個類c預測每個噪聲例的類相關測度來進行清理。為了簡化符號,在本小節中,我們儘可能的省略上標,X(Xc∪Xn)用{X1,…, Xk, Xk+1,, XN}表示,Xc用{X1,…, Xk},Xn為{Xk+1,, XN},這些例子的特徵同樣用矩陣表示V = [v1, . . . ,vk,vk+1, . . . ,vN](d * N),vi= gθ(xi)。
我們建立一個關聯矩陣A(維度N*N),其中元素aij= [vi(T)vj],如果例子vi 和 vj在X中是倒數最近的鄰居,否則為0。矩陣A的對角線為零,但在A被歸一化之前添加了自連線A’ = D(−1)(A + I),D = diag((A + I)1) 是矩陣A + I和全1矩陣的度量矩陣。
圖卷積網路(GCNs)[17]是由一系列層構成的。每一層是由一個函式fΘ:R(N×N)× R(l×N)→R(n×N)的形式:
Z(維度lN)代表著出入的特徵,Θ (維度為lN)代表的這一層需要學習的引數,h是一個非線性啟用函式。函式fΘ將l維的輸入特徵向量,對映到n維的輸出特徵向量。
在這個工作中,我們考慮一個兩層的GCN,每個例子都有一個標量輸出。
網路是由FΘ組成的,
Θ = {Θ1, Θ2},Θ1(維度 dm)Θ2(維度m1),[]+是 positive part或ReLU函式[23],σ(a) 是Sigmoid函式,函式FΘ通過關聯矩陣執行特徵傳播,類似於用於分類或搜尋的經典的基於圖的傳播方法[45]或[46]。
FΘ(˜A, V )是長度為N的向量,每一個值是[0,1]代表相關示例Xi屬於類c相關度。為了學習引數Θ,我們將GCN看作一個二元分類器,其中目標輸出1對應於乾淨示例,0對應於有噪示例。我們最小化損失函式:
這是一個二元的交叉熵損失函式,其中有噪聲的例子是一個權重加權λ,給定最近鄰圖上的傳播,並根據第二項的相對重要性λ,強連線到乾淨示例的噪聲示例仍有望獲得較高的類相關性,而與當前類無關的噪聲示例有望獲得接近於零的類相關性。
引數λ的影響在第6節得到了驗證,我們在其中說明了可用的乾淨影象越少(k越小),重要性權重就應該越小。正如分類[17]中GCNS的標準實踐,訓練是以大小為N的批次進行的,即整個特徵集。
圖2顯示了乾淨影象、相應的噪聲影象和預測相關性的示例。利用與乾淨影象的視覺相似性,我們可以使用相關性來解決多義現象,例如黑寡婦(蜘蛛)對黑寡婦(超級英雄),或者菠蘿對菠蘿汁。
1分類的小樣本ImageNet基準(左)中的乾淨影象示例、噪聲影象(中)和代表性噪聲影象(右)的預測相關性的累積直方圖(按相關性降序排列),相關值報告如下。使用類原型(5)在沒有和有附加資料的情況下測試準確性顯示在類名旁邊。
討論:損失函式(3)類似於We[43]等人使用的噪聲對比估計(NCE)[11]來進行例項級識別,而我們從有噪聲的例子中區分乾淨的例子。GCNs[17]的半監督學習設定使用了一個損失函式,該函式只適用於帶標記的示例,並對未帶標記的示例進行離散預測。在我們的例子中,所有的例子都導致了損失,但重要性不同,因為我們推斷了實值類相關性的噪聲例子,用於後續學習。
函式FΘ在(2)減少了多層感知器(MLP)當關聯矩陣為零,在這種情況下,所有的例子都斷開連線。使用MLP執行清理將獨立地考慮每個示例,而GCN將示例集合視為一個整體。通過最小化(3),MLP的訓練與GCN的訓練是一致的。我們在實驗中比較了這兩種方法。
Learning a classifier with few clean and many noisy examples
我們的清洗過程適用於乾淨的標籤示例很少的情況,但假設特徵提取器gθ。也就是說,表示學習、標籤清洗和分類器學習是解耦的。我們按照第4節所述執行基於GCN的清理,並根據類相關性對示例進行加權來學習分類器。下面描述訓練分類器的過程。
Cosine-similarity based classifier
我們使用基於餘弦相似度的分類器[9,26],或簡稱為餘弦分類器。每一個類別c都可以用一個可學習的引數wc∈ Rd來表示 ,x預測為類c最大的餘弦相似度,W = [w1, . . . ,wK] (維度維d*k)
Classifier learning
目標是學習用於未出現資料的K-way分類器,不同於典型的小樣本學習任務,每個類包含一些乾淨的例子和許多嘈雜的例子。
在學習分類器之前,將訓練例Xi∈X 與類c的相關性r(xi)進行加權。對於一個有噪聲的例子Xi∈Xn,我們定義r (xi) = FΘ(˜A,V),其中,FΘ(˜A,V)是GCN的輸出向量,對於一個乾淨的例子,r (xi) = 1,注意優化(3)並不能對每一個屬於Xc的乾淨例子保證FΘ(˜A,V) = 1。
我們首先假設給定的特徵提取器是固定的,並考慮兩種不同的分類器,即類原型和基於餘弦相似度的分類器。然後,去掉這個假設,通過對整個網路進行微調,共同學習分類器和特徵表示。
類的原型。對於每個類c,我們定義原型Wc:
原型是固定的向量,而不是可學習的引數。將它們集合到矩陣W = [w1,…,wk] (維度為d*K),K-way預測採用分類器,分類器為(4)
餘弦函式分類器學習:給定X,我們學習了引數W = [w1,…Wk] (維度d*K)的引數餘弦分類器,通過最小化加權交叉熵損失L:
深層網路微調。另一種選擇是放棄假設特性提取器是固定的。在這種情況下,我們共同學習引數θ的特徵提取器和W k路餘弦分類器通過最小化(6)的右手邊。這需要訪問Xe例子,而對於前兩個分類器,獲得特徵gθ(x)就足夠了。請注意,由於在少數可用的例子上過度擬合,這樣的學習通常是在少量的學習設定中避免的。