0
本文作者: AI研習(xí)社-譯站 | 2020-11-11 11:06 |
譯者:AI研習(xí)社(聽風(fēng)1996)
雙語原文鏈接:https://www.yanxishe.com/TextTranslation/2916
自監(jiān)督學(xué)習(xí)是一個(gè)非常有趣的研究領(lǐng)域,其目標(biāo)是在沒有任何人工標(biāo)注的情況下,從未標(biāo)注的數(shù)據(jù)中學(xué)習(xí)豐富的表示。
我們可以通過創(chuàng)造性地提出一個(gè)問題來實(shí)現(xiàn),這樣你就可以使用數(shù)據(jù)本身的一部分作為標(biāo)簽并嘗試進(jìn)行預(yù)測(cè)。這樣的表述被稱為前置任務(wù)
例如,你可以設(shè)置一個(gè)前置任務(wù),給定灰度圖情況下來預(yù)測(cè)圖像的彩色版本。同樣,您可以刪除圖像的一部分,并訓(xùn)練一個(gè)模型從周圍預(yù)測(cè)該部分。有很多類似這樣的前置任務(wù)。
通過對(duì)前置任務(wù)的預(yù)訓(xùn)練,希望模型能夠?qū)W習(xí)到有用的表示。之后,我們可以只用一小組標(biāo)記的訓(xùn)練數(shù)據(jù),可以將模型微調(diào)到下游任務(wù),例如圖像分類、對(duì)象檢測(cè)和語義分割。
所以,前置任務(wù)可以幫助我們學(xué)習(xí)表征。但是,這就提出了一個(gè)問題:
目前,衡量表征的標(biāo)準(zhǔn)方法是在一組標(biāo)準(zhǔn)任務(wù)和基準(zhǔn)數(shù)據(jù)集上進(jìn)行評(píng)估。
如何判斷一個(gè)表示學(xué)習(xí)的好壞?
線性分類:利用固定特征進(jìn)行ImageNet分類
小樣本設(shè)定:ImageNet分類只使用1%至10%的數(shù)據(jù)。
遷移學(xué)習(xí):在PASCAL VOC上進(jìn)行目標(biāo)分類、目標(biāo)檢測(cè)和語義分割。
我們可以看到,上述評(píng)價(jià)方法要求我們對(duì)前置任務(wù)和目標(biāo)任務(wù)使用相同的模型架構(gòu)。
這就會(huì)帶來了一些有趣的挑戰(zhàn):
對(duì)于前置任務(wù),我們的目標(biāo)是在大規(guī)模的無標(biāo)簽數(shù)據(jù)集上學(xué)習(xí),因此更深的模型(如ResNet)將會(huì)幫助我們學(xué)習(xí)更好的表示。但是,對(duì)于下游任務(wù),我們則更傾向于實(shí)際應(yīng)用的淺層模型(如AlexNet)。因此,我們目前在設(shè)計(jì)前置任務(wù)時(shí)就必須考慮這個(gè)限制。
如果有些方法使用了較簡(jiǎn)單的架構(gòu),而其他方法使用了較深的架構(gòu),那么就很難公平地比較哪種前置任務(wù)更好。
我們無法將從前置任務(wù)中學(xué)習(xí)到的表征與HOG等人工設(shè)計(jì)的特征進(jìn)行比較。
我們可能希望在前置任務(wù)中利用多個(gè)數(shù)據(jù)域,如聲音、文本和視頻,但目標(biāo)任務(wù)可能會(huì)限制我們的設(shè)計(jì)選擇。
在前置任務(wù)上訓(xùn)練的模型可能會(huì)學(xué)習(xí)到對(duì)通用視覺識(shí)別無用的額外知識(shí)。如今,最后一層的任務(wù)特定層會(huì)被忽略,實(shí)際只取權(quán)重或特征到一定的卷積層。
Noroozi等人在他們2018年的一篇論文 “Boosting Self-Supervised Learning via Knowledge Transfer”中提供了一個(gè)非常簡(jiǎn)單的想法去解決這些問題。
作者觀察到,在一個(gè)良好的表示空間中,語義相似的數(shù)據(jù)點(diǎn)應(yīng)該是緊密相連的。
在常規(guī)的有監(jiān)督分類中,圖像在語義上相似的信息是通過人類注釋的標(biāo)簽進(jìn)行編碼的。在這種標(biāo)簽上訓(xùn)練的模型一般都會(huì)有一個(gè)表示空間,對(duì)語義相似的圖像進(jìn)行分組。
因此,對(duì)于自監(jiān)督學(xué)習(xí)中的前置任務(wù),目標(biāo)是隱式學(xué)習(xí)一個(gè)使相同類別圖像相似而不同類別圖像不相似的度量。因此,如果我們能夠以某種方式將語義相關(guān)的圖像編碼到相同的標(biāo)簽上,我們就可以對(duì)學(xué)習(xí)的表示提供可靠的估計(jì)。
作者提出了一個(gè)新穎的框架,可以將知識(shí)從一個(gè)深層的自監(jiān)督模型轉(zhuǎn)移到一個(gè)獨(dú)立的淺層下游模型。你可以使用不同的模型架構(gòu)來完成前置任務(wù)和下游任務(wù)。
將前置任務(wù)中的特征進(jìn)行聚類,并將聚類中心分配給未標(biāo)記的圖像作為偽標(biāo)簽。然后,在偽標(biāo)簽上重新訓(xùn)練一個(gè)具有目標(biāo)任務(wù)架構(gòu)的小型網(wǎng)絡(luò)來預(yù)測(cè)偽標(biāo)簽,并學(xué)習(xí)一種新的表示方法。
這種端到端的處理流程介紹如下:
在這里,我們選擇一些深度網(wǎng)絡(luò)架構(gòu),并在一些數(shù)據(jù)集上對(duì)我們選擇的一些前置任務(wù)進(jìn)行訓(xùn)練。在模型訓(xùn)練完成后,我們可以從一些中間層獲取特征。
圖:在前置任務(wù)上訓(xùn)練(資源)
對(duì)于數(shù)據(jù)集中所有未標(biāo)記的圖像,我們計(jì)算前置任務(wù)模型中 的特征向量。然后,我們基于K-means聚類來分組語義上相似的圖像。我們的想法是,聚類中心將與ImageNet中的類別對(duì)齊。
圖:聚類特征(資源)
在論文中,作者使用的K-means在單臺(tái)Titan X GPU上運(yùn)行了4個(gè)小時(shí),將130萬張圖片聚成2000個(gè)類別。
聚類中心被當(dāng)作偽標(biāo)簽。我們可以使用與上一步相同的數(shù)據(jù)集,也可以自己使用不同的數(shù)據(jù)集。然后,我們計(jì)算這些圖像的特征向量,并為每個(gè)圖像找到最接近的聚類中心。這個(gè)聚類中心被用作偽標(biāo)簽。
圖:生成偽標(biāo)簽(來源)
我們采取將用于下游任務(wù)的模型架構(gòu),并利用其將未標(biāo)記的圖像分類為偽標(biāo)簽。因此,目標(biāo)架構(gòu)將學(xué)習(xí)一個(gè)新的表示,這樣它將把原本在預(yù)先訓(xùn)練的特征空間中接近的圖像映射到接近的點(diǎn)上。
在偽標(biāo)簽數(shù)據(jù)上重新訓(xùn)練(來源)
我們看到了如何通過對(duì)特征進(jìn)行聚類,然后使用偽標(biāo)簽,我們可以將任何前置任務(wù)表征中的知識(shí)帶入一個(gè)共同的參考模型中,比如AlexNet。
因此,我們現(xiàn)在可以輕松地比較不同的前置任務(wù),即使它們是使用不同的架構(gòu)和在不同的數(shù)據(jù)域上進(jìn)行訓(xùn)練的。這也讓我們可以通過使用深度模型和具有挑戰(zhàn)性的前置任務(wù)來改進(jìn)自監(jiān)督方法。
為了定量評(píng)價(jià)這個(gè)想法,作者設(shè)置了一個(gè)實(shí)驗(yàn),如下所述:
為了評(píng)估他們的方法,作者采取了一個(gè)名為 "拼圖 "的老式拼圖式前置任務(wù),我們需要預(yù)測(cè)用來隨機(jī)打亂3 * 3正方形圖像網(wǎng)格的排列。
圖來自這篇論文
他們通過在某些隨機(jī)位置用另一個(gè)隨機(jī)圖像中的圖塊隨機(jī)替換0到2個(gè)圖塊來擴(kuò)展任務(wù)。這增加了難度,因?yàn)楝F(xiàn)在我們只需要使用剩余的補(bǔ)丁來解決這個(gè)問題。新的前置任務(wù)被稱為 "Jigsaw++"。
圖來自這篇論文
在本文中,他們使用了701個(gè)總排列,其最小漢明距離為3。他們對(duì)每個(gè)圖像塊分別應(yīng)用均值和標(biāo)準(zhǔn)差歸一化。他們還將圖像的灰度化率提高到70%,以防止網(wǎng)絡(luò)利用低淺顯的統(tǒng)計(jì)信息而作弊。
作者使用VGG-16來解決前置任務(wù)并學(xué)習(xí)表征。由于VGG-16的容量增加,它可以更好地處理 "Jigsaw++"任務(wù)帶來的額外復(fù)雜性,從而提取更好的表征。
對(duì)來自VGG-16的表示進(jìn)行聚類,并將聚類中心轉(zhuǎn)換為偽標(biāo)簽。然后,AlexNet被訓(xùn)練來對(duì)偽標(biāo)簽進(jìn)行分類。
對(duì)于下游任務(wù),使用偽標(biāo)簽分類的權(quán)重初始化AlexNet模型的卷積層,并隨機(jī)初始化完全連接的層。然后,在各種基準(zhǔn)數(shù)據(jù)集上對(duì)預(yù)訓(xùn)練的AlexNet進(jìn)行微調(diào)。
使用像VGG-16這樣的更深層網(wǎng)絡(luò),可以得到更好的表示和偽標(biāo)簽,也可以在基準(zhǔn)任務(wù)中獲得更好的結(jié)果。它在2018年的幾個(gè)基準(zhǔn)上得到了最優(yōu)秀的結(jié)果,并進(jìn)一步縮小了監(jiān)督和自監(jiān)督方法之間的差距。
使用VGG16訓(xùn)練 "Jigsaw++",并使用AlexNet預(yù)測(cè)集群可獲得最佳性能。
切換到更具挑戰(zhàn)性的前置任務(wù) "Jigsaw++"比 "Jigsaw "提高了性能。
當(dāng)在Jigsaw++和下游任務(wù)中都使用相同架構(gòu)的AlexNet時(shí),知識(shí)遷移并沒有明顯影響。
Task | Clustering | Pre-text architecture | Downstream arch. | Classification | Detction (SS) | Detection(MS) | Segmentation |
---|---|---|---|---|---|---|---|
Jiasaw | no | AlexNet | AlexNet | 67.7 | 53.2 | - | - |
Jiasaw++ | no | AlexNet | AlexNet | 69.8 | 55.5 | 55.7 | 38.1 |
Jiasaw++ | yes | AlexNet | AlexNet | 69.9 | 55.0 | 55.8 | 40.0 |
Jiasaw++ | yes | VGG-16 | AlexNet | 72.5 | 56.5 | 57.2 | 42.6 |
2. 在ImageNet上的線性分類
在這種設(shè)定下,在從不同卷積層的AlexNet中提取的特征上訓(xùn)練線性分類器訓(xùn)練。對(duì)于ImageNet來說,使用VGG-16并通過聚類將知識(shí)轉(zhuǎn)移到AlexNet中,可以大幅提升2%。
3. ImageNet上的非線性分類
對(duì)于非線性分類器來說,使用VGG-16將知識(shí)遷移到AlexNet上并使用聚類可以在ImageNet上獲得最佳性能。
1. 簇的數(shù)量對(duì)性能有什么影響?
網(wǎng)絡(luò)并沒有受到聚類數(shù)量的顯著影響。作者在物體檢測(cè)的任務(wù)上測(cè)試了在不同簇?cái)?shù)的偽標(biāo)簽上訓(xùn)練的AlexNet。
2. 這與知識(shí)蒸餾有什么不同?
知識(shí)遷移與知識(shí)蒸餾有著本質(zhì)的區(qū)別。在這里,我們的目標(biāo)是只保留表征中圖像的簇關(guān)聯(lián),并將其轉(zhuǎn)移到目標(biāo)模型中。與蒸餾不同的是,我們不對(duì)teacher的精確輸出做任何回歸。
3. 在聚類與預(yù)測(cè)偽標(biāo)簽中可以使用不同的數(shù)據(jù)集嗎?
可以,這個(gè)方法很靈活,你可以在一個(gè)數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,在另一個(gè)數(shù)據(jù)集上進(jìn)行聚類,然后得到第三個(gè)數(shù)據(jù)集的偽標(biāo)簽。
作者做了一個(gè)實(shí)驗(yàn),他們?cè)贗mageNet的表示上訓(xùn)練聚類,然后在 "Places "數(shù)據(jù)集上計(jì)算聚類中心,得到偽標(biāo)簽。對(duì)象分類的性能僅有小幅下降(-1.5%)。
因此,知識(shí)遷移是一種簡(jiǎn)單有效的方式,可以將表征從深層模型映射到淺層模型。
AI研習(xí)社是AI學(xué)術(shù)青年和AI開發(fā)者技術(shù)交流的在線社區(qū)。我們與高校、學(xué)術(shù)機(jī)構(gòu)和產(chǎn)業(yè)界合作,通過提供學(xué)習(xí)、實(shí)戰(zhàn)和求職服務(wù),為AI學(xué)術(shù)青年和開發(fā)者的交流互助和職業(yè)發(fā)展打造一站式平臺(tái),致力成為中國(guó)最大的科技創(chuàng)新人才聚集地。
如果,你也是位熱愛分享的AI愛好者。歡迎與譯站一起,學(xué)習(xí)新知,分享成長(zhǎng)。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。