自監(jiān)督目標(biāo)檢測(cè):不用在ImageNet上訓(xùn)練的目標(biāo)檢測(cè)
現(xiàn)在的自監(jiān)督學(xué)習(xí)通過在ImageNet數(shù)據(jù)集上實(shí)現(xiàn)圖像分類來進(jìn)行無監(jiān)督的預(yù)訓(xùn)練,通過最大化不同圖像之間的距離(相似度),最小化同一張圖像的不同視圖之間的相似度來學(xué)習(xí)一個(gè)最佳的特征表示,這種方法針對(duì)ImageNet這種分類數(shù)據(jù)集(一張圖像上一個(gè)類別物體)來說是適用的。但是...
1 簡(jiǎn)要
無監(jiān)督視覺表示學(xué)習(xí)引起了相當(dāng)多的關(guān)注,旨在用大量的未標(biāo)記數(shù)據(jù)生成更好的特征表示。最近的自監(jiān)督學(xué)習(xí)方法取得了比監(jiān)督學(xué)習(xí)方法可比較或更好的結(jié)果。他們通過執(zhí)行實(shí)例級(jí)分類任務(wù),在未標(biāo)記的ImageNet數(shù)據(jù)集上訓(xùn)練CNN模型,從而最大限度地提高同一圖像的不同轉(zhuǎn)換視圖之間的一致性,并可選擇地最小化不同圖像視圖之間的一致性。自監(jiān)督學(xué)習(xí)pipeline的潛在先驗(yàn)是,同一圖像的不同views/crops對(duì)應(yīng)于同一目標(biāo),如下圖所示。
因此,最大化他們的agreement可以學(xué)習(xí)有用的特性。事實(shí)上,這個(gè)關(guān)鍵的先驗(yàn)實(shí)際上高度依賴于預(yù)訓(xùn)練數(shù)據(jù)集的潛在偏差:ImageNet是一個(gè)以目標(biāo)為中心的數(shù)據(jù)集,可以確保潛在的先驗(yàn)。當(dāng)考慮到收集和清理數(shù)據(jù)的額外努力時(shí),未標(biāo)記的ImageNet數(shù)據(jù)集實(shí)際上并不是免費(fèi)的。另一方面,非標(biāo)志性圖像很容易收集,但可能包含多個(gè)對(duì)象,如COCO數(shù)據(jù)集。如下圖所示。
不同的隨機(jī)crop可能對(duì)應(yīng)于不同的對(duì)象,其中自監(jiān)督方法的有效性容易受到懷疑。此外,從實(shí)例級(jí)分類任務(wù)中學(xué)習(xí)到的獨(dú)特表示可能不是適合于對(duì)象檢測(cè)的特征。由于它應(yīng)用全局池化層生成向量嵌入,可能會(huì)破壞圖像空間結(jié)構(gòu)并丟失局部信息,而檢測(cè)器對(duì)空間定位敏感。
2 背景簡(jiǎn)單介紹
Generic Object Detection
大多數(shù)現(xiàn)代目標(biāo)檢測(cè)器,如Faster RCNN、Mask RCNN和Retinanet,都采用了“預(yù)訓(xùn)練和微調(diào)”范式,預(yù)訓(xùn)練網(wǎng)絡(luò)進(jìn)行ImageNet分類,然后傳輸檢測(cè)微調(diào)的參數(shù)。最近,[Cheaper pre-training lunch: An efficient paradigm for object detection. arXiv preprint arXiv:2004.12178, 2020]以montage manner將預(yù)訓(xùn)練切換到目標(biāo)檢測(cè)域,以提高效率。這些工作證明了從大規(guī)模數(shù)據(jù)中學(xué)習(xí)的顯著好處,但它們也遭受了在現(xiàn)實(shí)應(yīng)用中使用標(biāo)簽數(shù)據(jù)的高成本??紤]到遷移學(xué)習(xí)范式的成功,后來的工作表明,在從零開始訓(xùn)練目標(biāo)檢測(cè)任務(wù)時(shí),往往可以匹配微調(diào)精度。然而,[Kaiming He, Ross Girshick, and Piotr Dollar. Rethinking imagenet pre-training. arXiv preprint arXiv:1811.08883, 2018]也驗(yàn)證了,當(dāng)這個(gè)范式進(jìn)入一個(gè)小的數(shù)據(jù)體系時(shí),它的性能會(huì)顯著下降。由于標(biāo)記檢測(cè)數(shù)據(jù)的費(fèi)用遠(yuǎn)高于分類,因此大規(guī)模標(biāo)記數(shù)據(jù)的依賴性仍然限制了目前的目標(biāo)檢測(cè)器應(yīng)用。
Self Supervised Learnin
首先介紹一下到底什么是 SSL,我們知道一般機(jī)器學(xué)習(xí)分為監(jiān)督學(xué)習(xí),非監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。而 self-supervised learning 是無監(jiān)督學(xué)習(xí)里面的一種,主要是希望能夠?qū)W習(xí)到一種通用的特征表達(dá)用于下游任務(wù)。其主要的方式就是通過自己監(jiān)督自己,比如把一段話里面的幾個(gè)單詞去掉,用他的上下文去預(yù)測(cè)缺失的單詞,或者將圖片的一些部分去掉,依賴其周圍的信息去預(yù)測(cè)缺失的 patch。
根據(jù)我看的文章,現(xiàn)在 self-supervised learning 主要分為兩大類:1. Generative Methods;2. Contrastive Methods。下面我們分別簡(jiǎn)要介紹一下這這兩種方法。
Generative Methods
首先我們介紹一下 generative methods。這類方法主要關(guān)注 pixel space 的重建誤差,大多以 pixel label 的 loss 為主。主要是以 AutoEncoder 為代表,以及后面的變形,比如 VAE 等等。對(duì)編碼器的基本要求就是盡可能保留原始數(shù)據(jù)的重要信息,所以如果能通過 decoder 解碼回原始圖片,則說明 latent code 重建的足夠好了。
source: [Towards Data Science](https://towardsdatascience.com/generating-images-with-autoencoders-77fd3a8dd368)
這種直接在 pixel level 上計(jì)算 loss 是一種很直觀的做法,除了這種直接的做法外,還有生成對(duì)抗網(wǎng)絡(luò)的方法,通過判別網(wǎng)絡(luò)來算 loss。
對(duì)于 generative methods,有一些問題,比如:
基于 pixel 進(jìn)行重建計(jì)算開銷非常大;
要求模型逐像素重建過于苛刻,而用 GAN 的方式構(gòu)建一個(gè)判別器又會(huì)讓任務(wù)復(fù)雜和難以優(yōu)化。
對(duì)于一張人民幣,我們能夠很輕易地分辨其真假,說明我們對(duì)其已經(jīng)提取了一個(gè)很好的特征表達(dá),這個(gè)特征表達(dá)足夠去刻畫人民幣的信息, 但是如果你要我畫一張一模一樣的人民幣的圖片,我肯定沒法畫出來。通過這個(gè)例子可以明顯看出,要提取一個(gè)好的特征表達(dá)的充分條件是能夠重建,但是并不是必要條件,所以有了下面這一類方法。
source: [blog](https://ankeshanand.com/blog/2020/01/26/contrative-self-supervised-learning.html)
除了上面這類方法外,還有一類方法是基于contrastive的方法。這類方法并不要求模型能夠重建原始輸入,而是希望模型能夠在特征空間上對(duì)不同的輸入進(jìn)行分辨,就像上面美元的例子。
這類方法有如下的特點(diǎn):1. 在feature space上構(gòu)建距離度量;2. 通過特征不變性,可以得到多種預(yù)測(cè)結(jié)果;3. 使用Siamese Network;4. 不需要pixel-level重建。正因?yàn)檫@類方法不用在pixel-level上進(jìn)行重建,所以優(yōu)化變得更加容易。當(dāng)然這類方法也不是沒有缺點(diǎn),因?yàn)閿?shù)據(jù)中并沒有標(biāo)簽,所以主要的問題就是怎么取構(gòu)造正樣本和負(fù)樣本。
目前基于contrastive的方法已經(jīng)取得了很好的緊張,在分類任上已經(jīng)接近監(jiān)督學(xué)習(xí)的效果,同時(shí)在一些檢測(cè)、分割的下游任務(wù)上甚至超越了監(jiān)督學(xué)習(xí)作為pre-train的方法。
下面是這兩類方法的總結(jié)圖片。
source: [blog](https://ankeshanand.com/blog/2020/01/26/contrative-self-supervised-learning.html)
3
新框架分析
self-EMD提出去掉全局池化層,直接使用卷積特征圖作為Image Embedding,這樣就能保存局部與空間信息,但是這樣該如何度量?jī)蓚€(gè)feature map之間的相似性呢?
而且同一個(gè)image的不同crop圖像可能包含著不同的圖像,因此,度量標(biāo)準(zhǔn)就需要在不同的局部patch中能夠挑選出最優(yōu)的匹配并且最小化不相關(guān)區(qū)域之間的噪聲問題,本文提出使Earth Movier‘s Distance來作為度量標(biāo)準(zhǔn)計(jì)算所有局部patches的相似性,這種方法命名為Self-EMD。EMD適用于度量結(jié)構(gòu)性表示之間相似性。給定所有元素對(duì)之間的相似性,EMD可以在擁有最小損失的結(jié)構(gòu)之間獲得最優(yōu)的匹配。文章采用cosine相似度來度量?jī)蓚€(gè)feature map之間的不同位置之間的相似性并且為EMD約束設(shè)置一個(gè)合適的權(quán)重。
Self-EMD與BYOL不同在于去掉了最后的全局池化層,并采用卷積層替代了MLP head。采用最后的卷積特征圖作為image embedding。Earth Mover’s Distance用來度量?jī)山M加權(quán)的目標(biāo)或者加權(quán)的分布之間的距離。離散版本的EMD已經(jīng)在最優(yōu)傳輸問題(OTP)中已經(jīng)被廣泛的研究。
該操作可以對(duì)兩種不同crop不同尺度的局部特征進(jìn)行比較,增強(qiáng)學(xué)習(xí)的局部表示中的尺度信息。
4
實(shí)驗(yàn)
Main detection performance of several typical detectors in terms of AP (%) on COCO val with standard 1× schedule. ‘COCO+’ denotes the COCO train 2017 set plus the COCO unlabel set. For fair comparison, BYOL and Self-EMD are both pre-trained for 300 epochs on ImageNet and 800 epochs on COCO.
Detection performance with different backbones in terms of AP (%) on COCO val
Detection performance with several pre-training methods in terms of AP (%) on VOC 2007 test.
Visualization of the optimal matching weights. We visualize the heat map of the matching weights of the crop 2 to the corresponding position (the green boxes) in the crop 1.
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。