周彧聰 劉 軼 王 銳
(北京航空航天大學中德聯合軟件研究所 北京 100191)
互補學習:一種面向圖像應用和噪聲標注的深度神經網絡訓練方法
周彧聰 劉 軼 王 銳
(北京航空航天大學中德聯合軟件研究所 北京 100191)
(zjoe546@foxmail.com)
近幾年來,深度神經網絡在圖像識別、語音識別、自然語言處理等眾多領域取得了突破性的進展.互聯網以及移動設備的快速發展極大地推進了圖像應用的普及,也為深度神經網絡的訓練積累了大量數據.其中,大規模人工標注的數據是成功訓練深度神經網絡的關鍵.但隨著數據規模的快速增長,人工標注圖像的成本也越來越高,同時不可避免地產生標注錯誤,從而影響神經網絡的訓練.為此,提出了一種稱為互補學習的方法,面向圖像應用中深度神經網絡的訓練,將簡單樣本挖掘和遷移學習的思想相結合,利用少量人工標注的干凈數據和大量帶有噪聲標注的數據,同時訓練一主一輔2個深度神經網絡模型,在訓練過程中采用互補的策略分別選擇部分樣本進行學習,同時將輔模型的知識遷移給主模型,從而減少噪聲標注對訓練的影響.實驗表明:提出的方法能有效地利用帶有噪聲標注的數據訓練深度神經網絡,并對比其他方法有一定的優越性,有較強的應用價值.
深度神經網絡;圖像應用;噪聲標注;簡單樣本挖掘;遷移學習
近年來,深度神經網絡在圖像識別、語音識別、自然語言處理等眾多領域的應用取得了突破性的進展.其中,大規模標注數據(如ImageNet[1])在物體識別[2]、物體檢測[3]及深度神經網絡結構[4]等應用中發揮著重要作用.而在圖像應用中,模型的性能很大程度上取決于標注數據的數量和質量.在實際的研究與應用中,一般采用2種典型的方法來獲取和標注大規模圖像數據:大量的人工參與或是利用互聯網搜索引擎在獲取數據的同時將搜索關鍵字作為標注[5].對于人工參與的標注工作而言,當需求的數據量增長到一定規模時,人工標注的時間成本和人力成本都將難以承受.另外一種構建大規模圖像標注的方法是利用互聯網搜索引擎獲取圖像數據,同時將搜索關鍵字作為數據的標注.這種方法可以較為容易地獲得大量的標注數據,但也不可避免地引入了大量噪聲.直接使用帶有大量噪聲的數據進行訓練則會對深度神經網絡的性能產生較大的負面影響[6].
相比于直接使用噪聲數據訓練,我們注意到有2種方法可以更好地利用噪聲數據.
1) 利用簡單樣本挖掘的思想,在訓練模型的過程中把模型對于標注類別預測的置信度近似地看作該樣本標注正確的概率,并讓模型只學習當前預測置信度較高的樣本.該方法的思想在于利用噪聲數據訓練得到的模型仍具有一定的判別能力,使得模型預測的置信度也一定程度上反映了樣本標注正確的可能性.通過選擇高置信度的樣本,可以從噪聲數據中以較高的可能挑選正確的樣本進行訓練,從而使模型不斷提升.該方法可以看作是在線難樣本挖掘(online hard example mining)[7]的反面,即在線簡單樣本挖掘.然而這種方法也有很強的局限性,主要體現在:①高置信度樣本的閾值難以選擇,并且訓練效果對閾值比較敏感;②選擇樣本的過程取決于模型本身,兩者高度相關,因此比較容易陷入較差的局部最優解中.
2) 需要一部分經過人工標注的干凈數據.雖然大規模干凈標注數據需要消耗大量的人力和時間成本,少量的干凈標注數據則是相對容易獲得.在這種場景下,知識提取方法[8]基于遷移學習[9]的思想,先用少量干凈數據訓練一個輔助模型,再在噪聲數據上用輔助模型生成軟目標供主模型學習.這種方法可以一定程度上利用噪聲數據,但其效果很大程度上取決于干凈數據的數量.在干凈數據較少的情況下,輔助模型提供的信息十分有限,同時也存在過擬合的風險.
基于這2種方法的特點和存在的問題,本文提出了一種稱為互補學習的深度神經網絡訓練方法.該方法同時訓練2個模型,稱為主模型和輔助模型.輔助模型和主模型分別采取保守的學習策略和激進的學習策略進行訓練.保守的學習策略會盡可能選擇置信度高的數據進行訓練,其目的是在盡量保持輔助模型干凈的同時提升其精度;而激進的學習策略則會讓主模型學習置信度更低的樣本,從而在大規模的訓練數據中盡可能地學習到有價值的難樣本.為了避免訓練樣本的選擇完全依賴于單個模型,該方法綜合考慮2個模型預測的置信度來選擇樣本,2個模型互為對方提供輔助信息,從而降低了樣本的選擇和單個模型的相關性.更進一步地,該方法利用遷移學習的思想,讓主模型學習輔助模型生成軟目標(soft targets),利用相對干凈的輔助模型去糾正主模型學習到的噪聲.與現有方法相比,本文提出的基于互補學習的訓練方法能更有效地利用噪聲數據訓練深度神經網絡.在人工生成的噪聲數據和真實噪聲數據上進行的多組實驗表明:本文的方法能更好地適應不同的噪聲數據,并獲得更高的精度,因此有較強的應用價值.
本文提出了一種利用大量噪聲數據和少量干凈數據訓練深度神經網絡的方法,目的是有效利用相對容易獲得的大量噪聲數據訓練深度神經網絡,并減少標注噪聲對訓練的影響.本文主要在單標簽圖片分類任務中討論該方法的原理和應用.文獻[10]比較全面地介紹了標注噪聲和噪聲魯棒算法,而我們下面主要介紹比較相關的文獻和方法.
從噪聲數據中學習是機器學習的一個重要研究領域.利用噪聲數據進行學習的方法通常可以分為兩大類:
1) 嘗試直接從噪聲標注中進行學習.例如文獻[11]提出了一種自我引導(bootstrapping)的方法,根據模型當前的預測結果動態修改標注,從而減輕噪聲標注的影響;文獻[12]提出了一種重要性重加權的方法,利用預訓練的分類器估計噪聲水平,以此減少隨機噪聲的影響,該方法擴展了傳統重加權方法[13]中無偏損失函數的思想;文獻[14]提出了一種“噪聲層”的方法,在交叉熵損失函數上增加一個全連接層用來“吸收”噪聲標注;文獻[15]中提出了一種簡單的標簽平滑化的方法,將標注均勻地重分布在所有類別中,從而避免過于信任數據標注,減少噪聲的影響;文獻[16]提出了一種損失函數修正的方法,該方法結合并擴展了噪聲層和文獻[17]中提出的噪聲估計方法,一定程度上減弱了需要已知噪聲分布的條件.這些方法由于缺少外部的輔助信息,有較大的風險擬合到噪聲數據,或者需要對噪聲結構做比較強的假設,比如噪聲層和損失函數修正方法均假設噪聲僅依賴于類別而與圖片無關,并且標注在類別之間存在一定的概率出錯,而現實場景中的噪聲數據通常有更復雜的結構.
2) 通過引入少量的干凈標注數據來彌補上述方法的不足,這些方法一般被稱為半監督方法.典型的半監督方法例如標簽傳播方法[18-19]將少量干凈數據的標注逐漸傳播到大量噪聲數據中.然而這種方法需要樣本數量平方級別的復雜度,所以難以擴展到大規模數據上.受噪聲層啟發,文獻[5]提出了一種基于概率圖模型建模噪聲的方法.該方法擴展了噪聲層中噪聲只依賴于類別的假設,讓噪聲分布也依賴于圖片本身,并利用少量的干凈數據幫助建模噪聲.類似的方法[20]也提出依賴于圖片的噪聲模型,不同的是這種方法關注多標簽分類任務,利用經過人工矯正的標注學習噪聲標注到正確標注的映射.在多標簽分類任務中,標簽之間通常存在一定的內在聯系,同時多個標簽全是錯誤標注的概率較低,因此該方法可以利用這種特性來矯正噪聲標注.而在單標簽分類任務中標簽只有一個,提供的信息遠少于多標簽任務,因此矯正難度比較大.文獻[8]提出了一種基于“知識提取”的方法來利用噪聲數據進行學習.和bootstrapping、標簽平滑化等方法類似,該方法也是通過修改標注來減少噪聲的影響.不同的是,該方法先用干凈數據訓練了一個輔助模型,并利用輔助模型的預測結果修正噪聲標注.該方法證明了通過精細的設置修正參數,其受噪聲影響的風險要小于bootstrapping和標簽平滑化方法.但該方法的輔助模型僅利用了干凈數據進行訓練,當干凈數據較少時,輔助模型能提供的信息十分有限.
本文提出的方法也利用了少量干凈數據的標注.與概率圖模型和損失函數修正等方法不同的是,該方法不去直接建模噪聲.這種選擇的原因在于,建模噪聲依賴于對噪聲分布進行假設并需要足夠數量的干凈數據.一方面真實場景中的噪聲來源比較復雜,假設通常不能完全成立;另一方面獲取干凈標注數據的成本較高,通常難以獲得大量的干凈標注.我們的方法從另一個角度出發,結合了簡單樣本挖掘和遷移學習的思想.與現有方法不同的是,我們的方法利用了“互補”的概念,采用不同的策略同時訓練2個模型.這種設計一方面解決了簡單樣本挖掘方法容易陷入局部最優解的問題,另一方面也改進了知識提取方法中輔助模型受限于少量干凈數據的缺陷.
噪聲數據常見于圖片分類任務中,許多現有方法都是在該場景下進行研究,我們也在圖片分類任務中分析和測試所提出的方法.
我們提出的基于互補學習的訓練方法結合了2種思想:簡單樣本挖掘和遷移學習.本節我們先形式化設定問題,之后分別介紹這2種思想在噪聲數據上的應用并分析其存在的問題,最后介紹我們的方法并分析其相比于前面2種方法的優勢.
考慮一個單標簽圖片分類問題,C={1,2,3,…,c}共c類.訓練數據D由2部分構成,D=Dclean∪Dnoise,其中:
Dnoise={(x1,y1),(x2,y2),…,(xN,yN)},
Dclean= {(xN+1,yN+1),(xN+2,yN+2),…,
(xN+M,yN+M)},
Dnoise,Dclean分別為噪聲數據和人工標注的干凈數據,M?N.xi是一張圖片,yi∈C是xi的類別標簽,令:
(1)
稱Hi為yi的獨熱碼(one-hot code).
利用深度神經網絡解決單標簽圖片分類任務的典型方法如下:
選定某個深度神經網絡結構F,權重為θ,F的輸入為圖片xi,輸出為向量si∈Rc.則:

(2)
其中,CE為交叉熵,B為一個樣本批,Loss(B)為該樣本批的交叉熵損失函數.利用隨機梯度下降方法來優化該損失函數,最終得到訓練好的模型(F,θ).
該過程是利用深度神經網絡來擬合樣本xi屬于yi類別的概率分布.如果用上述方法直接學習噪聲數據,則模型可能會擬合到噪聲數據上,從而降低模型的性能.
在介紹簡單樣本挖掘之前,我們先介紹與之相對的方法:難樣本挖掘.難樣本挖掘由Felzenszwalb 等人[21]提出,主要應用于優化支持向量機(support vector machine, SVM).其主要思想是維護一個數據集的子集,稱為工作集,并交替進行2個步驟:
1) 在當前工作集上訓練SVM直到收斂;
2) 根據當前的SVM模型更新工作集.
更新工作集的方法一般是根據當前模型去掉一些簡單樣本并加入一些困難樣本,在這個過程中當前模型是固定的.Shrivastava等人[7]提出了一種稱為在線難樣本挖掘的方法,可以直接應用于訓練深度神經網絡常用的隨機梯度下降方法中.其思想是在訓練過程中,以當前批次中每個樣本的損失值作為樣本難易程度的標準,并選擇一部分損失值較大(難樣本)的樣本進行反向傳播.由于每次都選擇比較難的樣本進行學習,這種方法可以提高模型精度,并且加快收斂速度.
然而在線難樣本挖掘實際上要求數據標注是干凈的,該方法不能在噪聲數據上得到有效的應用.其原因在于噪聲數據與干凈數據分布相差較大,如果模型當前主要擬合了干凈數據,則噪聲樣本的損失值會相對較大,從而被選擇為難樣本,而干凈樣本則被視為簡單樣本.因此反向傳播的過程中梯度大部分來自于噪聲樣本,從而讓模型去擬合噪聲數據.反之如果當前模型主要擬合了噪聲數據,則經過難樣本挖掘反而會讓模型去擬合干凈數據.由此模型擬合的分布會在干凈數據和噪聲數據之間震蕩,造成訓練過程的不穩定,降低模型的性能.
根據類似的思想,我們針對噪聲數據提出在線簡單樣本挖掘(online easy example mining)方法.將式(2)修改為

(3)
其中,1[條件]為示性函數.對于每個批次的樣本,我們將當前模型預測的置信度Pi,yi作為樣本xi的難易程度,置信度越高認為該樣本越簡單,并選擇最簡單的K個樣本進行學習.K一般可以根據噪聲數據的噪聲比例進行選取,一種方法是:
K=Ceil(|B|×(1-Pnoise))
(4)
即每個批次樣本中干凈數據數量的期望.噪聲比例Pnoise通常可以利用采樣的方式進行估計.
與在線難樣本挖掘不同的是,簡單樣本挖掘在噪聲數據上有較好的魯棒性,并能一定程度上幫助模型的訓練.原因在于,在模型已經一定程度上擬合了干凈數據的情況下,置信度高的樣本有較大可能是干凈數據,因此選擇簡單樣本學習會進一步使模型擬合干凈數據,從而幫助模型訓練.
這種方法的缺點在于:其樣本選擇的過程無法很好地區分噪聲和困難的干凈樣本,因此可能會使模型擬合在較小的一部分數據上,導致模型過擬合.另一方面,由于樣本選擇過程完全依賴于模型自身,該方法很容易使模型陷入局部最優解中,不能充分利用噪聲數據.
遷移學習以多種形式出現在機器學習領域.一種形式是“微調”,即先在一個較大且與目標任務有一定相關性的數據集上訓練一個深度神經網絡,之后再在目標數據集上進行微調.這種方法被認為可以將大數據集中的“知識”遷移到目標任務中,增強特征的泛化能力并減少過擬合的可能.這種方法通常可以有效地提高目標任務的精度,例如R-CNN[3]中利用ImageNet圖片分類任務上預訓練的模型在目標檢測數據集上進行微調,得到了非常好的效果.類似的做法目前已經成為慣例,也在各種圖片相關的任務中得到了廣泛的應用.
遷移學習的另一種形式是Hinton等人[9]提出的“知識提取”,其做法是把一個模型的預測結果作為目標,稱為軟目標(soft targets),讓另一個模型學習.這種方法的典型應用是用一個較小的模型去學習一個或多個較大模型整合的軟目標,從而讓一個小模型獲得與一個或多個大模型接近的精度.
上述遷移學習的2種形式在噪聲數據的訓練方法中均有體現.根據文獻[20],先在噪聲數據上訓練,再在干凈數據上微調是一種常見做法.知識提取(distillation)[8]方法提出利用遷移學習的思想,先用干凈數據訓練一個模型FA,再用FA在噪聲數據上生成軟目標,讓模型FB進行學習,即:

(5)


(6)
這2種方法均能一定程度上降低噪聲數據對訓練的影響,但也存在缺陷:2種方法都非常依賴干凈數據的數量.當只有少量干凈數據時,無論微調還是知識提取方法,都有較大過擬合的風險.
2.2節和2.3節介紹的2種方法均可以一定程度上減少噪聲的影響,但也存在各自的缺陷.在簡單樣本挖掘中,簡單樣本的選擇完全依賴于模型自身,容易使模型陷入較差的局部最優解;而遷移學習的有效性取決于干凈數據的數量,干凈數據較少時容易過擬合.基于對這2種方法的分析,我們提出一種稱為互補學習的方法,結合兩者的優點并改進兩者的不足.下面介紹基于互補學習的訓練方法,如圖1所示:

Fig. 1 The overall framework of complementary learning圖1 基于互補學習的訓練方法
選擇2個深度神經網絡結構記為F1和F2(可以是相同的結構),F1作為輔助模型,F2作為主模型.對F1和F2采用不同的策略在D上進行聯合訓練,具體訓練過程如下:

(7)
為F1和F2對樣本(xi,yi)的平均置信度.
訓練F1網絡的損失函數為

(8)
訓練F2網絡的損失函數為

(9)
使用隨機梯度下降方法同時訓練2個網絡直到收斂.
圖1展示了上述過程:一組圖片分別經過深度神經網絡F1和F2,得到2個網絡對每個樣本預測的置信度PF1,PF2,并計算平均置信度Pavg.2個網絡根據Pavg分別選取置信度最高的K1和K2個樣本進行學習,對F2來說,其學習目標是由PF1和原始噪聲標注H生成的軟目標.除此之外,2個網絡都額外對一小部分干凈樣本直接進行學習,但為了清晰地展示我們方法的核心,這部分沒有在圖1中畫出.
為了讓模型在訓練的開始就具有互補的特性,可以讓F1和F2先分別在Dclean和Dnoise上進行預訓練,之后再進行上述訓練過程.
下面我們對上述方法進行詳細說明.首先訓練F1,F2的損失函數中均包含了對干凈樣本的損失(即L1,L2的后半部分),這部分損失是為了防止2個網絡在訓練的過程中偏離到噪聲數據上.這部分損失只起到輔助的作用,同時考慮到干凈樣本數量較少,采樣時m應小于n,減少過擬合的可能.
1) 選擇的標準是2個網絡的平均置信度,而不是各自的置信度.這個設計主要是為了改進簡單樣本挖掘的缺陷:樣本選擇完全依賴于模型自身.由于使用了平均置信度,在樣本選擇的過程中2個模型互為對方提供了額外的輔助信息,減少了樣本選擇過程和單個模型的相關性.
2) 兩個損失函數中的樣本選擇閾值不同.這個設計體現了不同的訓練策略,其中K1 這2種不同訓練策略使得2個網絡表現出一定的互補性質,從而可以互相提升. 我們的方法引入了2個超參數K1,K2來控制樣本選擇的策略,這里給出一種設置該參數的方法.考慮實際應用場景中,一般可以通過采樣的方式比較準確地估算數據的噪聲比例Pnoise,那么在噪聲數據中采樣一個批次樣本的過程服從n次實驗的二項分布,n為每批樣本的數量,令: (10) 其中,binocdf(k,n,1-Pnoise)表示對于某個成功概率為1-Pnoise的實驗進行n次實驗中有小于等于k次成功的概率,則式(10)表示在噪聲數據中采樣n個樣本,有99%以上的概率至少包含K1個干凈樣本.這種設置方法遵循了保守的樣本選擇策略.對于K2,我們將其設置為每個批次中干凈樣本數量的期望,即: K2=Ceil(n×(1-Pnoise)), (11) 這種設置方法更激進,因為有較大概率引入噪聲樣本. 我們提出的基于互補學習的訓練方法可以總結為3點: 1) 同時訓練輔助模型F1和主模型F2,訓練時采樣一部分噪聲數據和一部分干凈樣本構成每個批次; 2) 利用2個模型的平均置信度進行樣本選擇,F1采用保守的選擇策略,F2采用激進的選擇策略; 3) 讓F2學習F1生成的軟目標,將F1的知識遷移給F2. 另外,雖然在訓練過程中需要同時訓練F1和F2兩個模型,但輔助模型的知識已經通過遷移學習傳遞給了主模型,所以測試階段僅需要用主模型進行預測. 我們在Tensorflow[22]中實現了本文所提出的訓練方法,并在一臺配置雙路E5-2680v3處理器和2塊Nvidia Titan X GPU的服務器上進行了實驗測試.我們參照文獻[17]在Cifar10, Cifar100[23]上用人工生成噪聲的方式測試所提出的方法,并和其他方法進行對比.另外,我們還在真實噪聲數據集Clothing1M[5]上進行了實驗測試. 進行對比的4種方法分別是:在線簡單樣本挖掘(online easy example mining, OEEM)、知識提取(distillation)、損失修正(loss correction)以及我們提出的互補學習(complementary learning).作為基準的還有用干凈數據訓練(clean only)和用噪聲數據訓練(noise only). 1) 數據準備.Cifar10和Cifar100各包含50 000張訓練圖片和10 000張測試圖片,在訓練集中保留5 000張圖片作為驗證集,并對剩余45 000張圖片人工加入噪聲.我們仿照文獻[16]在容易混淆的類別之間人工生成噪聲.對于屬于類別的圖片,設其被錯誤標注為類別j的概率為Ti,j.對于每個類別i,我們給其設置一個相似類j,令Ti,j=Pnoise,Ti,j=1-Pnoise,其中,Pnoise稱為噪聲水平.Cifar10包含10個類別,設置的相似類別對包括:卡車→轎車、鳥→飛機、鹿→馬、貓?狗.Cifar100包含100個類別,分為20個父類,每個父類包含5個子類.對于每個父類,令其中每個子類和下一個子類構成一個相似對.例如,果蔬父類包含蘋果、蘑菇、橘子、梨和甜椒,則相似對為:蘋果→蘑菇、蘑菇→橘子、橘子→梨、梨→甜椒、甜椒→蘋果.分別令Pnoise為0.2,0.3,0.4生成噪聲數據后,再從中隨機挑選5 000張去除噪聲作為干凈數據集. 2) 網絡結構.我們選擇文獻[4]中提出的Resnet20和Resnet32分別在Cifar10和Cifar100上進行實驗. 3) 參數設置.所有實驗均采用動量值為0.9的隨機梯度下降方法進行訓練,權重衰減系數為0.000 5.每輪迭代采樣的批大小為128,在Comple-mentary Learning方法中額外采樣批大小為40的干凈數據.訓練初始學習率為0.1,進行160個紀元(epoch),學習率分別在80,120個紀元時降低10倍.圖片采用標準的歸一化方式,即減去圖片像素均值并除以圖片像素標準差.采用常規的數據增強方法:在32×32的原圖四周填充4個像素至36×36,并隨機裁剪32×32的區域,再進行隨機水平翻轉. 本節對OEEM方法和互補學習方法的參數設置策略進行實驗和分析. 3.2.1 OEEM方法參數設置實驗 對于OEEM方法,根據式(4),其超參數K取決于批大小(實驗中為128)和噪聲比例.對于Cifar10來說,10個類別中由5個類可能出錯(見3.1節),因此當噪聲水平為0.2,0.3,0.4時,實際噪聲比例為0.1,0.15,0.2,對應的K取值為116,109,103;對于Cifar100來說,100個類別全部可能出錯(見3.1),因此實際噪聲比例和噪聲水平相同,當噪聲水平為0.2,0.3,0.4時,對應的K取值為103,90,77;對于Clothing1M,根據原文估計其噪聲比例約為0.385,對應的K=79. 為了分析式(4)中提出的參數設置策略,我們在上述K取值的附近采樣了一些值進行實驗,觀察不同K取值下的實驗結果. 圖2~圖4分別展示了OEEM方法在Cifar10,Cifar100和Clothing1M上的結果隨K取值的變化.橫軸表示K取值與基準值(根據式(4)計算的值)的差,縱軸為測試準確率,各條曲線分別對應了不同的噪聲水平和網絡結構.可以看到,在大多數情況下,在K取基準值-8時準確率最高,K取基準值次之.這說明式(4)的設置方法有較好的通用性,在不同數據集、噪聲水平和網絡結構下都獲得了較好的準確率,但根據實驗發現略小于基準值通常能獲得更好的效果. Fig. 2 Accuracy of OEEM method at different hyper parameters on Cifar10圖2 Cifar10上OEEM方法參數設置對結果的影響 Fig. 3 Accuracy of OEEM method at different hyper parameters on Cifar100圖3 Cifar100上OEEM方法參數設置對結果的影響 Fig. 4 Accuracy of OEEM method at different hyper parameters on Clothing1M圖4 Clothing1M上OEEM方法參數設置對結果的影響 3.2.2 互補學習方法參數設置實驗 對于互補學習方法,根據式(10)(11),K1,K2兩個超參數取決于批大小和噪聲比例.和OEEM方法類似,對于Cifar10,當噪聲水平為0.2,0.3,0.4時,對應的K1,K2取值為(102,116),(92,109),(84,103);對于Cifar100,對應的K1,K2取值為(84,103),(70,90),(56,77);對于Clothing1M,對應的K1,K2取值為(65,79).我們在這些取值附近進行采樣,觀察不同K1,K2取值對結果的影響.Cifar10和Cifar100上的實驗在Renset32網絡結構上進行,Clothing1M的實驗在Res50上進行. 圖5、圖6分別展示了互補學習方法在Cifar10,Cifar100和Clothing1M上的結果隨K1,K2取值的變化.縱軸表示K1取值與基準值(根據式(10)計算的值)的差,橫軸表示K2取值與基準值(根據式(11)計算的值)的差,用顏色表示準確率的變化,顏色越亮表示準確率越高.可以看到在不同的數據集和噪聲水平下,當K1,K2在基準值附近時準確率相對較高,遠離基準值時準確率相對較低.這說明式(10)(11)提出的參數設置策略有較好的有效性和通用性. Fig. 5 Accuracy of complementary learning method at different hyper parameters on Cifar10/Cifar100圖5 Cifar10/100上互補學習方法參數設置對結果的影響 Fig. 6 Accuracy of complementary learning method at different hyper parameters on Clothing1M圖6 Clothing1M上互補學習方法參數設置對結果的影響 根據3.2節的分析,對于OEEM方法,我們根據式(4)設置其超參數K;對于我們提出的互補學習方法,根據式(10)(11)設置超參數K1,K2.對于另外2種方法Distillation和Loss Correction,遵循原文中的方式設置其超參數:根據式(6)設置Distillation方法的超參數λ;遵循原文中的方法對Loss Correction中的混淆矩陣進行估計. 3.3.1 Cifar數據集上的實驗和分析 實驗結果如表1所示.每一列中精度最高的2種方法用加粗表示.可以看到在不同的數據集,網絡結構和噪聲水平下,我們的方法均達到了對比的方法中最高的準確率.通過實驗結果我們可以發現4點結論: 1) OEEM方法在不同數據集,網絡結構和噪聲水平下均優于直接使用噪聲數據進行訓練,但提升較小.原因可能在于該方法沒有引入任何額外的信息,只能通過自身網絡減少一部分噪聲的影響. 2) Distillation方法在低噪聲水平時反而會降低準確率,但在較高噪聲水平時提升比較明顯.例如在Resnet20,Cifar10的實驗中,隨著噪聲水平的提高,Distillation方法相對于Noise Only提高的準確率分別為-1.83,0.6,3.0;在Resnet20,Cifar100的實驗中則更明顯,提高的準確率分別為-0.51,2.13,8.67.根據原文中的分析,該方法對參數λ的設置比較敏感,而其給出的方法式(6)啟發式地根據模型在干凈數據和噪聲數據上的準確率進行設置,可能并不是最優的.可以發現在不同噪聲水平時,根據式(6)求得的λ比較接近,例如在Resnet20,Cifar10的實驗中λ分別為0.52,0.52,0.51,而該值對于噪聲水平較低的情況可能過低,使得方法過分相信Clean Only的結果,反而沒有充分利用噪聲水平較低的大量數據,從而降低了模型的性能;而當噪聲水平較高時,λ的值比較合適,從而明顯提高了性能. 3) Loss Correction方法對性能的提升相對前2種方法更穩定,在Cifar10上提升明顯,但在Cifar100上僅有微弱的提升.例如在Resnet20實驗中,Cifar10上分別提升了1.83,1.81,4.96,而Cifar100上只提升了0.57,1.05,1.78.這個現象和原文中一致,其原因在于該方法的提升依賴于準確估計混淆矩陣T,而對Cifar100的估計效果較差.Cifar100的類別數是Cifar10的10倍,因此需要估計的混淆矩陣參數量是Cifar10的100倍,而2個數據集的圖片數量相同,造成估計Cifar100的混淆矩陣更困難. 4) 我們的方法在不同數據集、網絡結構和噪聲水平下,準確率均高于其他3種方法.Complementary Learning在結合了OEEM和Distillation方法優勢的同時改進了2種方法的缺點,相比于2種方法均有明顯的提升.可以看到在所有Cifar10的實驗中,Complementary Learning比OEEM和Distillation方法最少提升了0.83,最多提升了2.02;在Cifar100的實驗中最少提升了1.43,最多提升了7.36.Complementary Learning方法在Cifar10上效果與Loss Correction方法接近,但在Cifar100上明顯效果更好. 通過上述實驗結果,可以發現我們提出的Complementary Learning方法有2點優勢: 1) 與OEEM方法相比,我們的方法在樣本選擇過程中利用2個模型互相提供輔助信息,從而降低了樣本選擇與單個模型的相關性,降低了模型陷入局部最優解的可能.與Distillation方法相比,我們的方法中輔助模型不斷通過保守的策略選擇樣本進行學習,在盡量保持自身干凈的同時不斷提升,從而能給主模型提供更多信息. 2) 與Loss Correction方法相比,我們的方法不依賴于對噪聲分布的假設,例如不需要估計混淆矩陣(也不假設噪聲數據可以通過混淆矩陣建模),因此可以更好地適應復雜的噪聲數據.在Cifar100上的實驗驗證了這一點. Table 1 Accuracy of Different Methods on Cifar10 and Cifar100表1 Cifar10和Cifar100上不同方法的結果 Note: The top 2 accuracies of each row is shown in bold. 3.3.2 真實噪聲數據Clothing1M實驗 我們在真實噪聲數據Clothing1M數據集上驗證Complementary Learning方法.Clothing1M有14類,包含近1 000 000張帶噪聲的訓練圖片、50 000張人工標注過的干凈數據和14 000張驗證集、10 000張測試集.原文中利用期望最大化算法同時訓練了2個AlexNet[2],并額外利用干凈數據進行了bootstrapping過程.Loss Correction方法也在該數據集上進行了測試,使用了Resnet50網絡結構.我們同樣選擇Resnet50網絡并采用相同的數據增強方法. 我們用Resnet50分別在干凈數據和噪聲數據上訓練得到2個網絡F1,F2,并用這2個網絡作為初始化進行互補學習,實驗結果如表2所示: Table 2 Accuracy of Different Methods on Clothing1M表2 Clothing1M上不同方法的結果 OEEM方法和Distillation方法均比僅在噪聲數據上訓練有所提升,其中利用了干凈數據的Distillation方法提升更顯著.Loss Correction方法#7相對于在噪聲數據上訓練的#4僅提升了0.9,之后又以#7作為初始化在干凈數據上微調達到了80.38.而我們的Complementary Learning方法則利用#3,#4作為初始化,直接達到了81.20,不需要額外的微調過程. 在如今的圖像應用中,數據規模不斷增大,標注成本不斷提高,如何有效利用大量容易獲得的噪聲數據是十分有價值的問題.對此本文提出了一種稱為互補學習的方法,結合簡單樣本挖掘與遷移學習的思想,用不同的策略同時訓練2個網絡,讓2個網絡在保持互補特性的情況下互相提升,從而充分利用噪聲數據進行訓練.在人工生成的噪聲數據(Cifar10,Cifar100)和大規模真實噪聲數據(Clothing1M)上的實驗表明該方法可以較好地適應不同的數據和噪聲規模,并能顯著提升模型在噪聲數據上的準確率,與現有方法相比有一定優勢,有較強的應用價值. [1]Deng Jia, Dong Wei, Socher R, et al. Imagenet: A large-scale hierarchical image database[C] //Proc of the 22nd IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2009: 248-255 [2] Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[G] //Advances in Neural Information Processing Systems 25 (NIPS 2012). La Jolla, CA: The NIPS Foundation, 2012: 1097-1105 [3] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C] //Proc of the 27th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2014: 580-587 [4] He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Deep residual learning for image recognition[C] //Proc of the 29th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 770-778 [5] Xiao Tong, Xia Tian, Yang Yi, et al. Learning from massive noisy labeled data for image classification[C] //Proc of the IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2015: 2691-2699 [6] Nettleton D F, Orriols-Puig A, Fornells A. A study of the effect of different types of noise on the precision of supervised learning techniques[J]. Artificial Intelligence Review, 2010, 33(4): 275-306 [7] Shrivastava A, Gupta A, Girshick R. Training region-based object detectors with online hard example mining[C] //Proc of the 29th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 761-769 [8] Li Yucheng, Yang Jianchao, Song Yale, et al. Learning from noisy labels with distillation[OL]. [2017-11-08]. https://arxiv.org/abs/1703.02391 [9] Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network[OL]. [2017-11-08]. https://arxiv.org/abs/1503.02531 [10] Frénay B, Verleysen M. Classification in the presence of label noise: A survey[J]. IEEE Trans on Neural Networks and Learning Systems, 2014, 25(5): 845-869 [11] Reed S, Lee H, Anguelov D, et al. Training deep neural networks on noisy labels with bootstrapping[OL]. [2017-11-08]. https://arxiv.org/abs/1412.6596 [12] Liu Tongliang, Tao Dacheng. Classification with noisy labels by importance reweighting[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2016, 38(3): 447-461 [13] Natarajan N, Dhillon I S, Ravikumar P K, et al. Learning with noisy labels[G] //Advances in Neural Information Processing Systems 26 (NIPS 2013). La Jolla, CA: The NIPS Foundation, 2013: 1196-1204 [14] Sukhbaatar S, Fergus R. Training Convolutional Networks with Noisy Labels[OL]. [2017-11-08]. https://arxiv.org/abs/1406.2080 [15] Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C] //Proc of the 29th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 2818-2826 [16] Patrini G, Rozza A, Menon A K, et al. Making deep neural networks robust to label noise: A loss correction approach[C] //Proc of the 30th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 1944-1952 [17] Menon A, Rooyen B V, Ong C S, et al. Learning from corrupted binary labels via class-probability estimation[C] //Proc of the 32nd Int Conf on Machine Learning. New York: ACM, 2015: 125-134 [18] Zhu Xiaojin, Ghahramani Z. Learning from labeled and unlabeled data with label propagation, CMU-CS-03-175[R]. Pittsburgh, PA: Carnegie Mellon University, 2002 [19] She Qiaoqiao, Yu Yang, Jiang Yuan, et al. Large-scale image annotation via random forest based label propagation[J]. Journal of Computer Research and Development, 2012, 49(11): 2289-2295 (in Chinese)(佘俏俏, 俞揚, 姜遠, 等. 一種基于標記傳播的大規模圖像分類方法[J]. 計算機研究與發展, 2012, 49(11): 2289-2295) [20] Veit A, Alldrin N, Chechik G, et al. Learning from noisy large-scale datasets with minimal supervision[C] //Proc of the 30th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 839-847 [21] Felzenszwalb P F, Girshick R B, McAllester D, et al. Object detection with discriminatively trained part-based models[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2010, 32(9): 1627-1645 [22] Abadi M, Barham P, Chen Jianmin, et al. TensorFlow: A system for large-scale machine learning[C] //Proc of the USENIX Symp on Operating Systems Design and Imple-mentation. Berkeley, CA: USENIX Association, 2016, 16: 265-283 [23] Krizhevsky A, Hinton G. Learning multiple layers of features from tiny images[D]. Toronto, Canada: Department of Computer Science, University of Toronto, 2009 TrainingDeepNeuralNetworksforImageApplicationswithNoisyLabelsbyComplementaryLearning Zhou Yucong, Liu Yi, and Wang Rui (Sino-GermanJointSoftwareInstitute,BeihangUniversity,Beijing100191) In recent years, deep neural networks (DNNs) have made great progress in many fields such as image recognition, speech recognition and natural language processing, etc. The rapid development of the Internet and mobile devices promotes the popularity of image applications and provides a large amount of data to be used for training DNNs. Also, the manually annotated data is the key of training DNNs. However, with the rapid growth of data scale, the cost of manual annotation is getting higher and the quality is hard to be guaranteed, which will damage the performance of DNNs. Combining the idea of easy example mining and transfer learning, we propose a method called complementary learning to train DNNs on large-scale noisy labels for image applications. With a small number of clean labels and a large number of noisy labels, we jointly train two DNNs with complementary strategies and meanwhile transfer the knowledge from the auxiliary model to the main model. Through experiments we show that this method can efficiently train DNNs on noisy labels. Compared with current approaches, this method can handle more complicated noise labels, which demonstrates its value for image applications. deep neural networks (DNNs); image applications; noisy labels; easy example mining; transfer learning 2017-09-01; 2017-10-17 國家重點研發計劃項目(2016YFB0200100);國家自然科學基金項目(61732002) This work was supported by the National Key Research and Development Program of China (2016YFB0200100) and the National Natural Science Foundation of China (61732002). TP1830 ZhouYucong, born in 1993. Master candidate. His main research interests include computer vision and machine learning. LiuYi, born in 1968. Professor of Beihang University since 2006, and associate professor of Xi’an Jiaotong University from 2001 to 2006. Received his PhD degree in computer science from Xi’an Jiaotong University. His main research interests include high-perfor-mance computing and computer architecture. WangRui, born in 1978. PhD, asistant professor in the School of Computer Science and Engineering, Beihang University. His main research interests include computer architecture and parallel programming.

3 實 驗
3.1 實驗設置
3.2 OEEM和互補學習方法的參數設置策略





3.3 實驗結果與分析


4 結 論


