只需要十分之一數據,就能通關四大視覺任務,居然還開源了!

語言: CN / TW / HK

OpenGVLab開源超高性能預訓練模型,節省90%數據量!分類、目標檢測、語義分割、深度估計,四大任務一網打盡!

作者丨吳彤

編輯丨陳彩嫻

Github鏈接:http://github.com/opengvlab

家人們,你們有沒有這種苦惱?

搬一次家就換一次傢俱,那些又貴又重的傢俱既不好搬運,又不好全部帶走。

下一次又重新購置一遍傢俱,浪費錢不説,關鍵是來來回回都做一樣的事情!傢俱還沒用過幾次,利用率不高呀!

這種搬家的苦惱,就好比AI領域, 做幾個任務就需要開發幾個高度定製的模型,不僅所需的數據採集量非常大,每次還都得從頭標註。既提不起數據的學習效率,又耗費巨大的數據獲取成本。

光是AI前端研究就耗費如此巨大的精力,更別提應用場景中數以萬計的長尾任務。

那怎麼辦?

做一款通用的深度學習模型,才是關鍵。

1

通用,才是技術根本

無論國內外,底層技術關注者都以設計出“通用模型”為己任。而打造通用模型的兩個主戰場,就是深度學習應用最廣泛的兩個方向:語言與視覺。

目前,通用語言模型(GLM)已經取得了令人矚目的進展,比如BERT、T5和GPT-3,它們在應對廣泛的語言下游任務時已經遊刃有餘。

相形之下,通用視覺模型(GVM)的研究遲遲未交出一份令人滿意的答卷。

以往的大多數 GVM 研究主要利用一種監督信號來源,如 ViT-G/14 採用有標籤監督,SEER 採用樣本的不同增強之間的對比學習,CLIP採用圖片文本對進行監督。如果是在單個監督信號下進行的預訓練,這幾種範式確實能夠生成在固定場景下表現良好的模型。但如果用在場景多元、任務多樣的下游場景,這些模型就難以勝任了。

比如現在最火的自動駕駛,汽車處於移動狀態,既要看到路況,又要看到紅綠燈,還要注意行人,甚至在智能座艙興起後,還要和語言技術、LBS場景服務協同,這麼多的感知數據與協同任務,這麼多隨機的新任務,無論在體量還是維度方面,都對視覺模型的要求極大提高。

這時,打造一款通用視覺模型,降低研發門檻,尤其是學術界的時間成本、資金成本,才能暢享下游的極致場景體驗。

去年11月,上海人工智能實驗室聯合商湯科技、香港中文大學、上海交通大學發佈 通用視覺技術體系“書生”(INTERN) ,一套持續學習框架,用於系統化解決當下人工智能視覺領域中存在的任務通用、場景泛化和數據效率等一系列瓶頸問題。

前不久,上海人工智能實驗室聯合商湯科技發佈通用視覺開源平台OpenGVLab,面向學術界和產業界開放其超高效預訓練模型、超大規模公開數據集,以及業內首個針對通用視覺模型的評測基準。

這些開源技術,究竟有何魔力?

2

大力出奇跡,打造通用視覺模型

“書生” (INTERN),就是練就通用視覺能力的底層技術。

從技術實現上講,“書生”技術體系由由七大模塊組成,包括三個基礎設施模塊和四個訓練階段構成。

  • 三個基礎設施模塊分別為通用視覺數據系統(GV-D)、通用視覺網絡結構(GV-A)、以及通用視覺評測基準(GV-B);

  • 四個訓練階段分別為:上游基礎模型訓練(Amateur)、上游專家模型訓練(Expert)、上游通才模型(Generalist)訓練;以及下游的應用訓練(Downstream-Adaptation)。

書生(INTERN)結構圖

首先,通用視覺數據系統。

這是一個超大規模的精標數據集,擁有 100億 個樣本和各種監督信號,並依照四大視覺任務分別設置了 四個 數據子集:多模態數據GV-D- 10B分類標註的GV-Dc-36M、檢測標註的GV-Dd-3M、分割標註的GV-Ds-143K。

另外,這一數據集還包含 11.9萬 的標籤系統,不僅涵蓋了自然界的眾多領域和目前計算機視覺研究中的幾乎所有標籤,還擴充了大量細粒度標籤,涵蓋各類圖像中的屬性、狀態等。

而這,就是書生“大力出奇跡”的一大註腳。

其次,通用視覺模型結構。

它是由一個具有CNN和Transformer的統一搜索空間構建而成。

為何要建立這樣的混合結構?要知道,多年來,卷積神經網絡(CNN)一直主導着視覺表徵學習,並在圖像分類、目標檢測和語義分割等下游任務中表現出穩定的可遷移性。但最近幾年,Vision Transformer (ViT)僅使用普通的Transformer結構就能作為圖像編碼模型在ImageNet-1k上取得媲美 CNN 的性能,在大規模數據集上 ViT 更是展示出比 CNN 更大的潛力。

儘管ViT在性能上有優點,但純Transformer網絡相比卷積神經網絡缺乏某些歸納偏置(inductive biases),因此需要更多的數據和計算資源。此外,自注意的計算成本相對於輸入的數量是平方的,限制了對高輸入分辨率的應用。因此, 將CNN和Transformer和MLP結合起來,平衡效率和有效性兩個方面,才是模型通用的關鍵。

這種兼具更好的泛化能力和更高的模型容量的模型結構名為 MetaNet 。在MetaNet網絡結構族裏面進行網絡結構搜索,從而得到最優的一個模型訓練結構。

統一搜索的MetaNet架構:Conv和Trans分別表示卷積和Transformer。C和S為每一階輸出通道數和步幅。

具體來看,MetaNet不僅基於強化學習 的PPO算法提出了統一搜索架構,並且,為了避免傳統的下采樣模塊會成為模型性能的瓶頸,“書生“結合了包含 local-global-DSM (LG_DSM) 和 global-DSM (G-DSM)的context-aware down-sampling modules (DSM),用來代替原本的下采樣模塊。

因此,在淺層,模型依然使用卷積來提取特徵,但在深層,模型卻能將Transformer模塊和LG-DSM結合使用,以便於更好地提取全局信息。

同時,書生還基於最大的MetaNet-B15蒸餾出了多達13種不同的模型結構,共24種不同的模型權重,現已全部開源。

這些模型結構基本涵蓋了現有市面上大部分的主流backbone,不僅能夠很輕易地遷移到所需要的算法框架作為新網絡預訓練的初始化,而且只需要更短的訓練時間就可以達到比原來更好的訓練效果。

MetaNet 模型與其他模型結構比較,結果如下:

基於卷積、Transformer和兩者混合的結構,分別用C,T和H表示

可以看出,在圖像分類性能上,MetaNet系列的MN-B1,MN-B4和MN-B7,和其他的SOTA模型相比,不僅有更高的精度,還有更低的FLOPS和參數量。

除了分類任務,把MetaNet做為檢測和分割的backbone,在COCO數據集上使用Mask R-CNN結構訓練,結果發現:

在模型參數量更小的前提下,MN-B4比Swin-T精度高出2到4個點。另外還在ADE20K數據集上進行了語義分割任務,MN-B4的mIoU指標比Swin-T高出5個點之多。

上述兩個實驗結果表明,MetaNet系列模型結構,在模型精度與計算量之間,都達到了新的SOTA!

最後,通用視覺評測基準。

視覺評測基準GV-B ,就像是一個「擂台」。

如下表所示,測評基準收集了 26 個下游任務數據集,囊括了 4 種視覺任務類型:分類,檢測,分割和深度估計。 

在設置上,該基準引入了百分比樣本(percentage-shot),只需要選取整個數據集的一部分,例如 10%、20% ,對比縮小下游任務的訓練數據量後的模型性能。

與傳統的少樣本設置相比,這種百分比樣本設置可以很好地保留原始數據集的長尾分佈等屬性,並減輕對樣本選擇的敏感性。因為有一些數據集樣本類別分佈不平衡,比如下表中的VOC07+12,百分比數據的劃分方式卻會繼承這種分佈情況。

右側三列avg,min和max,分別表示在10%的數據中,不同類別樣本數量的平均值,最小值和最大值

結合上述數據集和任務類型,論文選取了一些具有代表性的模型來做評測對比。為了比較公平性,該對比使用了這些模型的官方預訓練權重。這些模型包括:

  • RseNet

  • CLIP

  • ResNeXt

  • BiT

  • ViT

  • SwAV, DeepClusterV2和MoCo v2

  • Detco

有了超大精標數據集、模型結構,以及評測基準後,已經是萬事俱備,只欠訓練。

書生作為中國古代讀書人的經典形象,代表着一個通過不斷學習、不斷成長進而擁有各方面才能的人格化角色:從基礎的知識技能學習開始,到對多種專業知識觸類旁通,進而成長為擁有通用知識的通才。藉此意象,“書生”(INTERN)系統可通過持續學習,舉一反三,逐步實現通用視覺領域的融會貫通,最終實現靈活高效的模型部署。

下面就來看看,這套系統是如何通過訓練,一步步從生手變成專家再到多面手,最終在各種任務中大顯身手。

第一階段,訓練的是基礎能力,被稱為“基礎模型”(Amateur)。

近年來,CLIP因zero-shot recognition 能力和在下游任務的遷移能力而備受關注。

然而CLIP需要400M的圖像-文本對進行前訓練,囿於極大的數據量,CLIP很難進一步發展。但“書生”提出了一種新的訓練範式,DeCLIP(Data efficient CLIP ),能夠同時使用來自圖像-文本、圖像-圖像和文本-文本對的監督信號進行模型預訓練,從而更有效地實現通用性。

此外,為了充分利用大規模多模態數據獲取基礎模型的優勢,這一階段提出了Upstream-Amateur (Up-A)視覺語言預訓練框架,同時挖掘模態內和跨模態知識。

這一訓練框架分為兩個預訓練階段:Upstream-Amateur for Global Representation (Up-A-G)和Upstream-Amateur for Local Representation (Up-A-L)。

其中,Up-A-G(左)使用羣體監督功能,從更豐富的監督中學習。Up-A-L(右)採用局部自我監督學習方法,對訓練好的視覺-語言模型進行調整,從而提高自身在密集預測CV任務中的表現。

Upstream-Amateur的框架

得益於這些內在的監督,DeCLIP-ResNet50可以在ImageNet上實現60.4%的zero-shot 精度第一。這比CLIP-ResNet50高出0.8%,數據使用量少了81%。當遷移到下游任務時,DeCLIP-ResNet50在11個視覺數據集中有8個優於CLIP。

更關鍵的是,訓練完成的Upstream-Amateur為後續的訓練階段提供了一個很高的起點。

第二階段,訓練的是專業能力,被稱為“專家模型”(Expert)。

Up-A階段得到的基礎模型,在一般的視覺識別問題上顯示出優異的性能。但要完全掌握檢測、分割等更具體的任務,還需要在每個任務中進行更專業的預訓練,這就促成了第二個階段的到來,專家模型。

對於每個專家,“書生”採用了一種簡單的多頭設計,每個頭是一個特定數據集的子網絡,從一個公共的、共享的“主幹”分支出來。比如Up-E (C)、Up-E (D)和Up-E (S),分別用於圖像分類、對象檢測和語義分割。

第三階段,訓練的是組合能力,被稱為“通才模型”(Generalist)。

上述的多任務是指不同數據集(如ImageNet和CIFAR)的一個視覺問題(如分類),或一個數據集的多個視覺問題(如分類和檢測)。但關鍵是,如何將專家整合到一個統一的模型中,獲得一個更加通用的視覺模型。因此,在預訓練“專家”階段之後,又將“通才”作為第三個預訓練階段,以進一步統一特徵表示。

“書生”提出了一個新的範式,名為“ 混合參數共享 ”,從而開發一個名為 “多面手”的通才模型

具體來説,由於專家捕獲的知識是相互關聯的,當專家的特徵融合為一個共享的表示形式時,再利用 基於軟共享的跨任務知識轉移和基於硬共享的通用表示學習 的方法,在不引入任務衝突的情況下在專家之間傳遞信息(特徵轉移),從而進一步提高了多任務訓練的模型(專家)性能,即 “通才” 能力。

在結構上,通才模型是所有專家的一個相互關聯的版本,因此可以把每個“專家主幹”稱為“通才分支”。此外,我們還可以根據訓練相應專家的任務將通才中的每個分支分為圖像、補丁和像素。但無論是軟共享還是硬共享,都意味着從專家模型到通才模型的一次躍升。

在經歷了前三個訓練階段模塊後,終於來到最後的任務遷移階段 (Adaptation)。

這個階段屬於技術鏈條的下游,用來解決各式各樣不同類型的任務,而這也是最考驗“書生”舉一反三能力的時刻。它需要在這個階段把之前學到的通用知識,融會貫通地應用到不同特定任務中。

在此之前,很多遷移學習方法確實取得了很多進步,但問題是,這些方法既沒有利用上游預訓練中的隱含信息,也沒有考慮到下游數據在少鏡頭場景中的不足。

因此,“書生”提出了一種Multi-stage Fine-tuning (MF)方法,緩解在數據較少的情況下傳輸的困難,再通過將上游數據編碼成生成模型,即VQ-GAN,可以將預訓練的模型轉移到多個任務和領域,而無需每次都使用上游數據,而這也使得“書生”更具通用性和可擴展性。

多級微調(MF)概述:VQ-GAN模型首先在第一階段使用上游數據進行訓練,然後在第二階段由它重構下游數據。在此之後,第三階段只對新增任務的特定參數進行重新表示的圖像訓練,第四階段則通過下游數據對整個模型進行微調。

至此,一個具有持續學習能力的通用視覺模型終於出世。

而具體有哪些提升,不如看一下更直觀的實驗數據對比!

3

一網打盡視覺領域四大任務

視覺領域,任務繁多,主流任務包含分類、目標檢測、語義分割、深度估計四大類型。

在這四大任務中,最強大的視覺模型還是去年OpenAI發佈的CLIP模型。但相比較而言,“書生”則在準確率和數據使用效率上都有所提升。

1、精度表現

通過對“書生”訓練出的模型在GV-B上的評測對比,發現經過多階段預訓練的MetaNet精度表現優異。

在ImageNet等26個最具代表性的下游場景中, “書生”在分類、目標檢測、語義分割及深度估計等四大任務上,平均錯誤率分別降低了40.2%、47.3%、34.8%和9.4%。

書生(INTERN)與CLIP-R50x16在不同樣本量上的性能對比,正確率展示

2、數據使用效率

“書生”在數據效率方面的提升尤為矚目:只需要1/10的下游數據,就能超過CLIP基於完整下游數據訓練的準確度。

以CLIP-R50x16和Up-G MN-B15在GV-B的評測對比為例,分別在分類、目標檢測、語義分割、深度估計四大類型的26個下游任務數據集上進行了評測,僅使用了10%數據進行訓練的Up-G MN-B15模型,在絕大部分數據集上都能比使用了全部訓練數據的CLIP-R50有更好的精度表現。這表明,經過多階段預訓練的MetaNet具有極強的泛化能力,能夠在僅有少量的訓練樣本情況下,達到SOTA的精度表現。 

在下游視覺場景中,小樣本訓練帶來的是極高的訓練速度,以及極低的訓練成本。

例如在花卉種類識別任務上,“書生“只需要每一類型的花卉提供兩個訓練樣本,就能實現99.7%的準確率。

這個花卉數據集由102種英國常見的花組成,每個類別有40至258張圖片。其中包含有很大的比例、姿勢和光線變化。

102個類別的花卉數據集:http://www.robots.ox.ac.uk/~vgg/data/flowers/102/index.html

4

通用視覺平台,已正式開源

如此強大的通用視覺訓練模型已經正式開源!

更關鍵的是,連同上述講到的標籤數據集、網絡結構以及評測基準,均在OpenGVLab被統一打包開源。

其中的網絡結構除了MetaNet,還包含大家普遍使用的ResNet, MobileNet, ViT, EfficientNet等,以滿足不同場景的應用,賦能計算機視覺。

然而,「書生」的佈局不止於此。

OpenGVLab將與上海人工智能實驗室此前發佈的OpenMMLab、OpenDILab一道,共同構築開源體系OpenXLab,持續推進通用人工智能的技術突破和生態構建。

一位已經使用過此次開源平台的自動駕駛算法研究員表示:“書生系列模型充分覆蓋了從移動可部署的小模型,到超大規模自研結構,為行業帶來了希望,尤其是它的收斂速度,大幅節省了訓練開銷,是技術落地的一大助推器。“

不僅是自動駕駛領域,智慧城市、智慧醫療、智慧交通,以及千千萬萬其他的智能化領域,都將獲得通用視覺模型帶來的技術紅利。

一位騰訊研究員大讚OpenGVLab:“能把這麼大的工作開源出來真的是業界良心。簡單用了一下,確實比CLIP要更fine-grained(細粒度更高)。”

而來自學界的師生也對此感慨有加:“OpenGVLab集成了大量各種量級的state-of-the-art(先進)模型,使用起來更得心應手,省去了對不同codebase、不同模型繁瑣調研的煩惱。”

換句話説,當那些代碼和公式脱去了枯燥乏味的外衣,人們才發現了真正的創造力。而這,也是技術創新與平台開源的魅力所在。

往近了説,用這款通用視覺模型打比賽,怕不是獎金多到飛起!在技術生產力的道路上,又誕生了一個致富小妙招!

目前,“書生”技術報吿《INTERN: A New Learning Paradigm Towards General Vision》已在arXiv平台發佈。

論文地址:arxiv.org/abs/2111.08687

歡迎大家親自挖寶!

「其他文章」