惊呆!不用一张图片,却训出个图像识别SOTA?
文 | 橙橙子
如果老板派給你一個任務,不使用一張圖片,讓你訓練一個視覺預訓練模型,你會不會覺得老板瘋了。最近有一篇論文,不僅沒用一張真實圖片和標注,還訓練出個媲美SOTA的效果,甚至超過了MoCov2和SimCLRv2,你敢信么?今天,就讓我們來看一下這篇神作!
論文題目:
Can Vision Transformers Learn without Natural Images?
論文鏈接:
https://arxiv.org/pdf/2103.13023.pdf
項目地址:
https://hirokatsukataoka16.github.io/Vision-Transformers-without-Natural-Images/
也可以在 【夕小瑤的賣萌屋】訂閱號后臺回復關鍵詞 【0414】 下載論文PDF~
什么是不需要真實圖像的ViT?
視覺Transformer(ViT)最近強勢進軍CV界,并取得絕佳效果,大有要取代曾經的王者卷積神經網絡(CNNs)的趨勢。不過,ViT也有諸多問題,在預訓練階段經常需要上億級別的真實圖像數據和標注預訓練才能和CNNs一較高低,這直接帶來了諸如隱私保護、標注成本、AI倫理等問題。隨著自監督學習方法(Self-Supervised Learning, SSL)如Moco、SimCLR的成功, 標注問題被極大地解決,但是在真實圖像上進行訓練仍然會觸發諸如侵犯隱私和公平性保護的問題。譬如,正因為圖像版權相關的問題,著名的ImageNet數據集只能用于非商業用途。
如果能不使用任何真實圖像數據和人工標注情況下訓練ViT,還能達到甚至超過真實圖像訓練的最優模型,數據問題蕩然無存,模型輕松放心大膽用,這簡直完美,豈不快哉!
公式驅動的監督學習
重點來了!通過什么方式達成這一目標呢?本文提出了一種基于公式驅動的監督學習方法(Formula-Driven Supervised Learning,FDSL)。這種方法依賴于沒有自然圖像的數據庫,即分形數據庫(FractalDB)。通過分配分形來自動生成圖像模式及其類別標簽,這些分形基于現實世界背景知識中存在的自然規律。FractalDB最早被提出于[1],值得一提的是,這篇文章同樣也是本文作者所寫,并獲得了ACCV 2020最佳論文提名獎。
FractalDB的構造過程可以分為兩步:
(1)使用迭代函數系統(iterated function system,IFS)自動生成基礎分形和對應的類別。熟悉計算機圖形學的同學們會比較熟悉,使用IFS生成分形分為選定隨機起始像素點、隨機生成種仿射變換(包含6個參數:4個旋轉參數和2個平移參數;表示采樣概率)、依據概率分布對當前點采樣變換函數生成新的描繪點、重復迭代這個過程直至達到設定像素點閾值這幾個過程。最終的分形由這些像素點繪制而成,由于它由確定,所以對應的類別就是。這種方法能夠保證只使用簡單的公式就可以生成接近自然物體的復雜模式。
(2)對基礎分形做擴展,得到當前類下的不同樣例(intra-category instances)。這個步驟的目的是為了擴充數據。類別內擴充的基本原則是在保持分形基本形狀不變的情況下,盡可能增加多樣性。論文提出了三種方式:a. 對IFS的6個參數進行一定weight縮放:預設了4種weight,可以產生25種()不同的變種。b.旋轉:包括不旋轉、水平旋轉、垂直旋轉、水平-垂直共4種。c. 塊渲染:基礎分形使用了的像素渲染,為了制造差異性,塊渲染使用10種的像素塊。這樣,對于每一種類別,我們可以構造出1000()個樣例。
最終,FractalDB含有兩種不同的規模。FractalDB-1K含有1k類別,共計1M樣例。FractalDB-10k含有10k類別,共計10M樣例。
下圖展示了分形數據庫的構造過程:
分形數據庫聯合ViT
FractalDB可以直接應用在ViT上么?答案是肯定的,不過本文也針對ViT的特點做了一些使用方式上的修改。首先,真實圖像是彩色圖,而分形沒有背景,是灰度圖。為了讓模型學到一些色彩的分布,論文對FractalDB進行了色彩增強,即在渲染時隨機使用顏色像素。進一步,參考自監督學習的成功經驗,論文進行了更長時間的充分訓練。
好了,數據已ready,剩下的就交給強大的ViT了!這里,論文使用了DeiT (Data-Efficient Image Transformers)[2]. 在FractalDB上訓練ViT和在真實圖像上訓練方法一樣,將2D圖像拆分成大小的多個patch,并平鋪在一起組成多個visual token的1D輸入,然后開心快樂的feed到Transormer中訓練就好啦~
呼喚實驗效果
實驗是檢驗真理的唯一標準,效果好不好,結果看一下。論文使用了經典的pretrain-finetune方法,首先在FractalDB上預訓練的DeiT,接著在各個視覺下游任務數據集上微調。
首先和多種有監督方法進行了效果對比。盡管論文方法沒有完全超過在在Imagenet-1k(1.28M)上訓練的效果,但是已經非常接近了。這可是完全一張真實圖像都沒有用啊喂! 另外我們可以看到,使用預訓練和不使用,效果差距是非常明顯的。
另一方面,論文和流行的自監督學習方法進行了實力對比。論文方法的平均表現亮眼,超過了MoCov2、SimCLRv2等方法。
最后,論文也做了一些可視化分析。使用分形數據庫訓練的模型相對于有監督模型和自監督模型而言,過濾器的范圍要更廣,可以在更大的范圍內獲取特征。
總結一下
論文另辟蹊徑的在不使用任何真實圖像和標注的條件下,成功訓練了一個強大的ViT模型,雖然距離現在的有監督方法還有微弱差距,但是已經超過了目前最優秀的自監督模型MoCov2和SimCLRv2,是一項非常有趣的工作,相信它在AI倫理和版權保護方面有重要意義。
不過,筆者私以為,拋開數據使用問題,研究角度還是很期望看到自動構造的分形數據和真實圖像數據的融合訓練,說不定會有意想不到的效果呢。
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
?
[1] Pre-training without Natural Images
(https://arxiv.org/pdf/2101.08515.pdf)
[2] Training data-efficient image transformers & distillation through attention
(https://arxiv.org/pdf/2012.12877.pdf)
總結
以上是生活随笔為你收集整理的惊呆!不用一张图片,却训出个图像识别SOTA?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实践中学到的最重要的机器学习经验!
- 下一篇: 安利几个优质NLP开源项目!搜索、问答、