白罡旭,楊海峰,蔡江輝,2,王玉鵬
(1.太原科技大學 計算機科學與技術(shù)學院,山西 太原 030024;2.中北大學,山西 太原 030051)
聚類是一種單純地按照相似性規(guī)則[1]自然劃分的無監(jiān)督分析方法。傳統(tǒng)的聚類分析方法無法有效利用正確標簽中的有效信息[2],而且存在對預測結(jié)果過度自信的問題。
針對這些問題,提出了很多改進方法,較為經(jīng)典的是基于深度學習的算法,它們首先用深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對原始數(shù)據(jù)進行特征學習[3],然后對學習到的特征表示進行聚類,深層神經(jīng)網(wǎng)絡(luò)學習高級表示的能力[4]使其成為無監(jiān)督學習的良好選擇。然而該方法也有一定的缺陷:訓練早期容易將不確定的樣本分入錯誤的類中,從而造成噪聲累積降低性能。還有學者提出使用半監(jiān)督模型來幫助聚類實現(xiàn)更好的性能,即使用聚類得出的預測結(jié)果作為偽標簽,輸入到半監(jiān)督模型中進行再訓練,達到矯正聚類預測錯誤的目的。該方法可以使用采樣策略進一步提升篩選到正確標簽的概率,盡可能避免噪聲累積。然而這便引出了新的問題:如何為半監(jiān)督模型提取到相對正確的標簽和如何提升后續(xù)半監(jiān)督模型的性能。添加半監(jiān)督模型改進聚類有很多方法,其中比較好的是RUC(Unsupervised Image Clustering with Robust Learning)[5],它使用Mixmatch[6]半監(jiān)督模型來改進聚類結(jié)果,并使用協(xié)同訓練Co-training[7]來更好地訓練模型。但是RUC也存在一些缺陷,例如:RUC的采樣策略沒有考慮到數(shù)據(jù)之間相似性對其偽標簽采樣策略的影響;Co-training是一類基于“分歧”的半監(jiān)督學習方法,它必須使用冗余且獨立雙視圖數(shù)據(jù)集[8]。然而,在真實問題中充分使用冗余視圖。這一要求往往很難得到滿足,這使得模型適用范圍受限。RUC中的Mixmatch半監(jiān)督模型只是單純地進行k次隨機增強求均值,卻沒有考慮到強增強與弱增強的聯(lián)系,使得結(jié)果受平均值影響。
為了篩選到相對正確的標簽,改進上述采樣策略的問題,采用了基于置信度結(jié)合基于距離的方法,當符合兩種策略時,才加入到偽標簽中,大大降低了偽標簽出錯對后續(xù)訓練的影響。針對RUC中Co-training適用范圍受限的問題,該文采用Tri-training[9]的方法來解決。它使用兩個分類器來指導第三個分類器進行訓練,使得模型不再受限于Co-training的雙視圖數(shù)據(jù)集。相比于RUC中Mixmatch中隨機增強混合求平均的方法,Fixmatch[10]突出了強增強與弱增強的聯(lián)合作用,即弱增強的預測值達到一定分數(shù)才能加入到偽標簽中。
該文介紹了一種新的基于聚類結(jié)合半監(jiān)督模型的方法(HFC),該模型利用并處理現(xiàn)有聚類模型的結(jié)果,將其作為可能包含錯誤標簽的噪聲數(shù)據(jù)集,輸入到半監(jiān)督模型來更正聚類結(jié)果中的錯誤信息。模型包括:將聚類算法得出的偽標簽集合通過基于置信度結(jié)合基于距離的采樣方法分為兩個不相交的有標簽和無標簽集合,輸入到半監(jiān)督模型中進行訓練。HFC模型以Tri-training為框架,Fixmatch模型為基分類器。
無監(jiān)督聚類是計算機視覺中的一項核心任務(wù),目的是在不使用任何標簽的情況下識別每幅圖像的類成員。
人們提出了各種無監(jiān)督聚類方法。最初始的方法用主成分分析等方法提取特征,然后依次應(yīng)用傳統(tǒng)的基于距離或密度的聚類算法進行分類。例如,Jolliffe等人[11]使用主成分分析來提取低維特征,然后應(yīng)用聚類來分配類別,并且描述了主成分分析的變體。DBscan[12]是一種基于密度的算法。它能在噪聲數(shù)據(jù)中發(fā)現(xiàn)任意形狀和大小的簇。江等人[13]使用稀疏子空間方法進行無監(jiān)督學習。然而,由于缺乏對后續(xù)分配過程的了解,這些模型傾向于產(chǎn)生類間幾乎沒有分離的特征。
最近,人們提出了基于深度學習的算法。首先用深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對原始數(shù)據(jù)進行特征學習,然后對學習到的特征表示進行聚類,深層神經(jīng)網(wǎng)絡(luò)學習高級表示的能力使其成為無監(jiān)督學習的良好選擇。Hsu Chih-Chung等人[14]對從CNN網(wǎng)絡(luò)中獲得的特征進行聚類,并使用這些聚類結(jié)果作為偽標簽來訓練分類器。Bo Yang等人[15]使用深度神經(jīng)網(wǎng)絡(luò)同時學習特征表示和聚類分配,來處理圖像和文本數(shù)據(jù)集。
近期出現(xiàn)了將再培訓過程充當后續(xù)添加模塊,以改進現(xiàn)有的聚類方法,它們使用改進的標簽進行后續(xù)模塊的再培訓。Gupta等人[16]表明,半監(jiān)督再培訓可以改善無監(jiān)督聚類。他們創(chuàng)造了一種新的圖聚類方法,其中數(shù)據(jù)樣本是節(jié)點,并從集合模型中獲取置信度。Sungkyu Park等人[5]采用Mixmatch與Co-training結(jié)合的方法,提升了聚類性能。相比之下,該文采用的Fixmatch結(jié)合Tri-training方法不受數(shù)據(jù)集雙視角的限制,進一步提升了聚類性能。Tri-training使用兩個分類器來指導第三個分類器進行訓練,使得模型不再受限于Co-training的雙視圖數(shù)據(jù)集。Fixmatch則突出了強增強與弱增強的作用,比Mixmatch中隨機增強混合求平均的方法有更好的性能。
半監(jiān)督學習是由自學習發(fā)展而來的,在之后的發(fā)展中逐漸出現(xiàn)了自學習[17]、直推學習[18]、生成式模型等學習方法。按照學習場景的不同,半監(jiān)督學習劃分為4類:半監(jiān)督降維[19]、半監(jiān)督回歸[20]、半監(jiān)督聚類[21]、半監(jiān)督分類[22]。半監(jiān)督分類可以分為:基于生成式的半監(jiān)督學習、基于支持向量機的半監(jiān)督學習、基于圖的半監(jiān)督學習和協(xié)同訓練。
“Semi-supervised”由Merz等首次提出,揭開了半監(jiān)督發(fā)展的序幕。Klein等人[23]首次提出了用于聚類的半監(jiān)督距離度量學習方法。劉建偉等人[24]對半監(jiān)督分類和聚類等方法做了系統(tǒng)性總結(jié)。Wu Hao等人使用偽標簽[25]訓練,使得無標注數(shù)據(jù)樣本的熵變得更小,分類泛化性能更好。Harri Valpola使用student模型[26]的指數(shù)平均權(quán)重來更新teacher模型。該方法有兩方面的優(yōu)勢:第一,在student和teacher模型之間的反饋過程會收斂的更快,準確率更高;第二,在大型數(shù)據(jù)集上擴展應(yīng)用較好。Wang等人[27]采用了數(shù)據(jù)增強策略來實現(xiàn)鄰域風險最小化,利用訓練數(shù)據(jù)集的擾動來增強學習機的表現(xiàn)能力。但是一般的數(shù)據(jù)增強僅僅在同類間對數(shù)據(jù)進行處理,沒有進行類間數(shù)據(jù)的融合操作。David Berthelot等人提出的Remixmatch[28]替換了Mixmatch中的一致性正則化。對于給定的無標注樣本,首先產(chǎn)生一個弱增強的數(shù)據(jù),然后產(chǎn)生多個強增強的數(shù)據(jù)。弱增強產(chǎn)生的預測作為所有強增強數(shù)據(jù)的猜測標簽。Kihyuk Sohn等人提出的Fixmatch實際上是偽標簽和一致性正則化的綜合體。Fixmatch利用弱數(shù)據(jù)增強圖像生成偽標簽,保留預測置信度更高的偽標簽。然后,將經(jīng)過強數(shù)據(jù)增強的圖像傳到模型中得到預測值,使用交叉熵損失,將預測值和偽標簽進行比較。該算法集合了Mixmatch和Remixmatch等算法的優(yōu)點并進一步簡化,是目前較為優(yōu)秀的半監(jiān)督分類算法。
HFC模型的關(guān)鍵思想是使用基于置信度和基于距離的方法提取出模型認為正確的偽標簽,并將其作為后續(xù)半監(jiān)督模塊的輸入部分。如圖1所示,該文首先使用聚類方法處理數(shù)據(jù),使用基于置信度結(jié)合基于距離的采樣策略將其分成兩個不相交的集合:干凈集X和不干凈集U。然后,以Fixmatch半監(jiān)督的方法訓練分類器,處理有標簽數(shù)據(jù)和無標簽數(shù)據(jù)。同時使用Tri-training指導半監(jiān)督,以更好地提升準確率,擴大模型適用范圍。下面將詳細描述該模型,算法1為HFC的算法框架。
算法1:HFC算法框架
輸入:偽標簽為D的訓練集,三個網(wǎng)絡(luò)fθ(1),fθ(2),fθ(3),閾值τ1,閾值τ2,X∪U=D
fork∈{1,2,3} do //訓練三個網(wǎng)絡(luò)
forb∈{1,2,…,b} do
μb=A(μb) //強增強操作
qb=pm(y|α(φb);θ) //弱增強操作
end
L=ls +λu*lu //計算總體損失函數(shù)
end
如圖1,HFC首先使用聚類方法對初始數(shù)據(jù)進行聚類,得到偽標簽數(shù)據(jù)集。然后使用基于置信度結(jié)合基于距離的采樣策略將偽標簽數(shù)據(jù)集劃分為兩個不相交的有標簽和無標簽集合,即D=X∪U。認為X是干凈的,其偽標簽是適度可信的。U是不干凈集合,因其為標簽不可信,所以將其去除。
圖1 HFC模型
置信度方法按照偽標簽數(shù)據(jù)的置信度得分選擇干凈樣本。給定一個訓練樣本(x,y∈D),max(y)是其置信度,如果max(y)>τ1,認為偽標簽y是可信的,并將其添加到干凈集X中。否則,它被分配給U。閾值τ1設(shè)置得非常高,以盡可能多地消除不確定樣本。
聚類結(jié)果中離簇中心最近的點可信度較高,其偽標簽是可信的。第一步找到簇心,標記為K。第二步設(shè)簇中任意一點到簇心K的距離為d,將所有d進行排序。第三步按照一定比例p將每個簇中d最小的數(shù)據(jù)加入到干凈集X中,其余分到不干凈集合U中(該比例p取決于所需有標簽數(shù)據(jù)的數(shù)量占總樣本數(shù)量的比例和所在簇占總樣本數(shù)量的比例)。
將兩種方法的干凈集取交集,即當樣本同時滿足基于置信度和基于最近鄰的方法時,才將樣本加入到最終的干凈樣本中,剩余的去除偽標簽后加到不干凈集合中。
Fixmatch是谷歌提出的半監(jiān)督模型,其核心思想是將輸入數(shù)據(jù)集進行強增強和弱增強,利用它們各自的優(yōu)點來迭代模型。該文使用Fixmatch為主要半監(jiān)督模型來更正聚類結(jié)果中的錯誤標記。弱增強包括翻轉(zhuǎn)、對稱,強增強包括裁剪等。首先是有標簽的監(jiān)督訓練,使用有標簽的圖片訓練初始模型。然后把沒有標簽的圖片進行弱增強,使用模型給出預測。對于每張沒有標簽的圖片,當模型的預測結(jié)果得分高于一定的閾值τ2(τ2盡可能大來過濾掉不好的結(jié)果,避免對后續(xù)訓練產(chǎn)生影響)時,將預測結(jié)果作為偽標簽。接下來,將經(jīng)過強增強的圖像傳到模型中,得到種類的預測值,并將其輸出與偽標簽進行比較以計算交叉熵損失。最后,將兩種損失組合起來進行模型的更新。
Fixmatch的損失函數(shù)由兩部分組成:有標簽的圖片用有監(jiān)督的損失ls,沒有標簽的圖片用無監(jiān)督的損失lu,兩個損失都是標準的交叉熵損失。有監(jiān)督的損失函數(shù)如公式(1)所示。
(1)
對于無標簽圖片的處理:首先得到偽標簽,如果偽標簽的得分大于一定的閾值(τ2,文中的閾值取0.95),那么,就用該偽標簽和強烈數(shù)據(jù)增強獲得的特征計算交叉熵損失,如公式(2)所示。
(2)
最后,Fixmatch的損失函數(shù)為:ls+lu。
Tri-training是對Co-training(協(xié)同訓練)的一種改進,它也是一種基于分歧的方法。Tri-training 首先對有標簽數(shù)據(jù)集進行可重復取樣(bootstrap sampling)以獲得3個有標簽訓練集,然后從每個訓練集產(chǎn)生1個分類器。給定3個分類器進行訓練,如果2個分類器對同一個無標簽數(shù)據(jù)的預測相同,則該數(shù)據(jù)就被認為具有較高的置信度,因此對其標記后將其加入第3個分類器的有標簽訓練集。在對未知數(shù)據(jù)進行預測時,Tri-training算法不再像以往算法那樣挑選1個分類器來使用,而是使用集成學習中經(jīng)常用到的投票法來將3個分類器組成一個集合來實現(xiàn)對未知數(shù)據(jù)的預測。
為了評估模型的性能,在4個中小型數(shù)據(jù)集上(其中CIFAR-10、CIFAR-100來源于the 80 million tiny images數(shù)據(jù)集,STL-10來源于ImageNet)測試了其性能,并與其他方法進行了對比。在后續(xù)的消融實驗中,分別去除了3個模塊,來證明各個模塊的作用。
Intel(R) Xeon(R) W-10855M CPU @ 2.80 GHz工作站。40*Intel(R) Xeon(R) Gold 5218R CPU @ 2.10 GHz服務(wù)器。
置信度策略中τ1為0.99,Fixmatch中τ2為0.95,前置的聚類模型為SCAN[29],是現(xiàn)有聚類中準確率較高的一種。
為了驗證該模型在小型和大型數(shù)據(jù)集上的性能,使用了CIFAR-10、CIFAR-100、STL-10和ImageNet數(shù)據(jù)集。詳細介紹如表1所示。CIFAR-10 是一個用于識別普適物體的小型數(shù)據(jù)集。它包含60 000幅32×32像素的圖像,分為10個類,每個類有6 000個圖像。CIFAR-100數(shù)據(jù)集和CIFAR-10類似,分為100個類,每個類包含600個圖像(為了與RUC對比,選擇其中20個類)。STL-10分為10類,包含100 000個未標記圖像和13 000個96×96像素的標記圖像。ImageNet是一個計算機視覺數(shù)據(jù)集,該文使用它的子集ILSVRC2012,該數(shù)據(jù)集擁有1 000個分類,每個分類約有1 000張圖片。實驗進行了200個epoch的訓練。
為了使HFC模型可以更好地對抗噪聲,更具魯棒性,該文采用標簽平滑的方法。標簽平滑通過添加均勻噪聲來規(guī)定標簽,從而改進預測中的校準。給定帶標簽的樣品及其相應(yīng)標簽(x,y∈X),將均勻噪聲注入所有類中。
表1 數(shù)據(jù)集介紹
3.3.1 魯棒性
如圖2所示,使用BIM對抗攻擊方法在STL-10上進行了實驗,實驗結(jié)果表明HFC的提升更進一步。RUC通過Mixmatch結(jié)合Co-training和標簽平滑操作來提高魯棒性。與之相比,HFC模型中Fixmatch在訓練之初,就選擇了高置信度樣本作為偽標簽數(shù)據(jù),并且通過Tri-training分別訓練,互相指導,進一步降低了噪聲影響。
圖2 BIM攻擊下準確率隨擾動系數(shù)ε的變化
3.3.2 迭代速度
如圖3所示,文中模型在STL-10上經(jīng)歷40次迭代時準確率已經(jīng)快速上升,證明模型在中小數(shù)據(jù)集上迭代較少次數(shù)也有較高性能,且很快就趨于收斂。在較大數(shù)據(jù)集上模型受聚類輸出的錯誤數(shù)據(jù)影響很小,能很快根據(jù)后續(xù)訓練進行自我矯正,達到收斂。
圖3 各模型在STL-10上的迭代次數(shù)與準確率
3.4.1 SCAN與HFC結(jié)果
表2顯示了文中模型與初始聚類算法SCAN在四個數(shù)據(jù)集上的結(jié)果。通過比較,文中模型在CIFAR-10數(shù)據(jù)集實驗中比SCAN提升了2百分點,正確率從88.3%提升到90.3%。在CIFAR-100中比SCAN高出了8百分點。在STL-10和ImageNet上分別提升了5.9百分點和1.5百分點。相比于SCAN,HFC過濾出不干凈的樣本,同時通過標簽平滑和協(xié)同訓練來輔助,以減少不干凈標簽中的錯誤信息產(chǎn)生的累積效應(yīng)。結(jié)果證明了文中模型對現(xiàn)有聚類方法SCAN具有改進效果。
表2 模型在各數(shù)據(jù)集上的準確率 %
表3 對比實驗及準確率 %
3.4.2 對比實驗
為了進行公平比較,將現(xiàn)有的算法(如RUC和DivideMix)或之前提出的另一個附加模塊(如Gupta)與SCAN相結(jié)合。如表3所示,一些模型在添加后續(xù)模塊后顯示出更差的結(jié)果,分析可能的原因是未改善噪聲影響。當初始聚類相當準確時,Gupta帶來的改進效果十分有限。相比之下,文中模型結(jié)合了標簽平滑操作與協(xié)同訓練,使得最終結(jié)果更好,更具魯棒性。
UDA的成功,得益于對特定任務(wù)使用特定目標的數(shù)據(jù)增強算法。但是其結(jié)果表現(xiàn)一般,可能是受到SCAN預測錯誤數(shù)據(jù)的影響比較大。相比之下,文中模型則具有較好的穩(wěn)定性。
RUC在各方面都做了改進,但是仍受限于Co-training限制的雙視角數(shù)據(jù)集,該文采用了Tri-training框架避免了此問題,而且采用投票機制使用兩個模型訓練第三個模型,比Co-training雙模型的互相訓練更具可信度,減少了噪聲的影響。通過引入準確率更高的半監(jiān)督模型Fixmatch代替Mixmatch來進一步處理聚類得到的結(jié)果,可以使分類精確度得到進一步提升。
為了確定各個模塊對整體模型的影響,進行了消融實驗。首先是采樣策略中基于距離方法的消融,接著是Tri-training訓練的消融,實驗結(jié)果如表4所示。其中缺失了基于距離的采樣策略,準確率降低了0.9百分點,這說明只有兩種策略一起篩選有標簽數(shù)據(jù)集時,才能降低錯誤標記對后續(xù)訓練的影響。缺失Tri-training,模型的準確率由90.1%下降到87.2%,沒有其他2個分類器對第3個分類器的指導,效果大打折扣。以上結(jié)果證明每個部分都不可或缺,它們在一起才能達到較好的效果。
表4 模型在 CIFAR-10上的消融實驗 %
為了解決無監(jiān)督聚類方法出現(xiàn)預測錯誤和過度自信的問題,提出了一種新的基于置信度和基于距離的采樣策略和Tri-training結(jié)合Fixmatch的模型。加入該模型可以矯正聚類的某些錯誤分類,從而產(chǎn)生更精確的聚類結(jié)果。但是模型也有自身局限性:時間復雜度不盡如人意、精確度也有待提升。未來打算將模型進行輕量化,并且進一步改善采樣策略和提升半監(jiān)督模型性能。