Swin Transformer迎來30億參數(shù)的v2.0,我們應(yīng)該擁抱視覺大模型嗎?
人腦是大模型的一個(gè)典范。人的大腦擁有著千億量級(jí)的神經(jīng)元數(shù)目,和百萬億量級(jí)的連接數(shù)(參數(shù))。而這樣超大規(guī)模的模型為人腦成為目前唯一的通用智能“機(jī)器”提供了堅(jiān)實(shí)的基礎(chǔ)。在大容量下,人腦不僅在通常的智能任務(wù)中表現(xiàn)卓越,還具備極強(qiáng)的零樣本和少樣本遷移能力,從而可以快速適應(yīng)新的環(huán)境和技能。
最近幾年,自然語言處理(NLP)領(lǐng)域令人難以置信的成功就主要得益于對模型容量的大幅度擴(kuò)展。短短幾年時(shí)間,其模型容量擴(kuò)大了幾千倍,從3.4億參數(shù)的 BERT 模型,進(jìn)化到了擁有5300億參數(shù)的 Megatron-Turing 模型,這些大型語言模型在語言理解和語言生成任務(wù)上都取得了長足的進(jìn)步。同時(shí),語言大模型還被證明具有極強(qiáng)的小樣本甚至零樣本學(xué)習(xí)能力。
與人腦和 NLP 的模型相比,計(jì)算機(jī)視覺領(lǐng)域的模型規(guī)模仍相對較小。視覺 Transformer 的出現(xiàn)為視覺模型的擴(kuò)大提供了重要的基礎(chǔ),此前最大的稠密視覺模型是18億參數(shù)的 ViT-G 模型和24億參數(shù)的 CoAtNet 模型,它們都曾在 ImageNet-1K 圖像分類任務(wù)上刷新了新的記錄。但在更廣泛的視覺任務(wù)中,大模型的效果仍然未知。
因此,探索如何進(jìn)一步擴(kuò)大視覺模型的規(guī)模,以及如何將其應(yīng)用在更廣泛的視覺任務(wù)上,是探索視覺大模型的重要問題?;诖四康?,微軟亞洲研究院的研究員們在 Swin Transformer 的基礎(chǔ)上設(shè)計(jì)了 Swin Transformer v2.0,它具有30億參數(shù),是迄今為止最大的稠密視覺模型,可以有效地遷移到需要更高分辨率圖像的各種視覺任務(wù)中。通過擴(kuò)展模型容量和分辨率,Swin Transformer v2.0 已在四個(gè)具有代表性的基準(zhǔn)上刷新了紀(jì)錄,證明了視覺大模型在廣泛視覺任務(wù)中的優(yōu)勢。(點(diǎn)擊閱讀原文,了解論文詳情)
Swin Transformer打破視覺研究由CNN“統(tǒng)治”的局面
Swin Transformer 是一個(gè)通用的視覺 Transformer 骨干網(wǎng)絡(luò),它在物體檢測和語義分割任務(wù)中大幅刷新了此前的紀(jì)錄,并被廣泛應(yīng)用于眾多視覺任務(wù)中,如圖像生成、視頻動(dòng)作識(shí)別、視覺自監(jiān)督學(xué)習(xí)、圖像復(fù)原、醫(yī)療圖像分割等。Swin Transformer 打破了計(jì)算機(jī)視覺領(lǐng)域被 CNN(卷積神經(jīng)網(wǎng)絡(luò))長期“統(tǒng)治”的局面,加速了計(jì)算機(jī)視覺領(lǐng)域基本模型架構(gòu)的變革,這一工作也因此獲得了2021年 ICCV 最佳論文獎(jiǎng)——馬爾獎(jiǎng)。
Swin Transformer 的核心思想在于將具有很強(qiáng)建模能力的 Transformer 結(jié)構(gòu)與重要的視覺信號(hào)先驗(yàn)結(jié)合起來。這些先驗(yàn)包括層次性、局部性以及平移不變性等等。Swin Transformer 的一個(gè)重要設(shè)計(jì)是 shifted windows(移位的不重疊窗口),它可以大幅降低計(jì)算復(fù)雜度,讓計(jì)算復(fù)雜度隨著輸入圖像的大小呈線性增長;同時(shí)不同于傳統(tǒng)的滑動(dòng)窗,不重疊窗口的設(shè)計(jì)對硬件實(shí)現(xiàn)更加友好,從而具有更快的實(shí)際運(yùn)行速度。
圖1:Sliding windows(滑動(dòng)窗口)vs. Shifted windows(移位窗口)
事實(shí)上,Swin Transformer 不是一個(gè)一蹴而就的工作,而是研究團(tuán)隊(duì)四年多在相關(guān)方向上不斷堅(jiān)持的結(jié)晶?!叭四X成功的一個(gè)關(guān)鍵密碼就是其擁有大量的新皮質(zhì),新皮質(zhì)中的神經(jīng)結(jié)構(gòu)是統(tǒng)一和通用的,這就使得人類不用通過生物進(jìn)化就可以實(shí)現(xiàn)和適應(yīng)各種新的智能或者環(huán)境。在這方面,我們一直看好 Transformer 或者其中的注意力模塊,三年前我們首次嘗試將 Transformer 應(yīng)用于視覺骨干網(wǎng)絡(luò)的設(shè)計(jì),并提出了局部關(guān)系網(wǎng)絡(luò) LR-Net,但當(dāng)時(shí)的實(shí)用性還不足。Swin Transformer 通過引入移位窗口,終于達(dá)成了一個(gè)實(shí)用的視覺 Transformer 骨干網(wǎng)絡(luò),” 微軟亞洲研究院視覺計(jì)算組高級(jí)研究員胡瀚說。
Swin Transformer 的目標(biāo)是希望證明視覺 Transformer 能在廣泛的視覺問題中超越此前占據(jù)主導(dǎo)地位的 CNN。如今該目標(biāo)已達(dá)成,那么下一步做什么?胡瀚認(rèn)為,“過去幾年 NLP 領(lǐng)域最重要的發(fā)現(xiàn)之一就是擴(kuò)大模型容量可以持續(xù)幫助各種 NLP 任務(wù),并且模型越大,零樣本和少樣本學(xué)習(xí)的能力越強(qiáng)。所以我們希望探索計(jì)算機(jī)視覺中能否擁有同樣的性質(zhì)?!庇谑牵琒win Transformer v2.0 誕生了。
在探索過程中,研究員們發(fā)現(xiàn)如下三個(gè)問題對于視覺大模型格外重要:
1. 如何解決大模型訓(xùn)練穩(wěn)定性的問題
2. 如何將大模型應(yīng)用于擁有更高分辨率的下游視覺任務(wù)的問題
3. 如何減少大模型對標(biāo)注數(shù)據(jù)的要求
針對上述三個(gè)問題,Swin Transformer v2.0 給出了自己的回答。下面就讓我們來詳細(xì)了解一下。
30億參數(shù)的Swin Transformer v2.0,穩(wěn)定性與準(zhǔn)確性雙提升
在進(jìn)一步擴(kuò)大模型容量的過程中,微軟亞洲研究院的研究員們發(fā)現(xiàn)訓(xùn)練過程存在嚴(yán)重的不穩(wěn)定性問題。如圖2所示,隨著原始 Swin Transformer 模型從小變大,網(wǎng)絡(luò)深層的激活值會(huì)急劇增加,擁有2億參數(shù)的 Swin-L 模型,其幅值最高和最低層之間的差異可以達(dá)到10^4。當(dāng)進(jìn)一步將模型容量擴(kuò)大到6.58億參數(shù),它會(huì)在訓(xùn)練過程中崩潰。
圖2:各種大小模型的各層激活值。H大小的模型是在自監(jiān)督學(xué)習(xí)階段訓(xùn)練的,而其他規(guī)模的模型則是由分類任務(wù)訓(xùn)練的。*表示使用了模型崩潰前第40輪的模型權(quán)重。
仔細(xì)觀察原始 Swin Transformer 的架構(gòu),研究員們發(fā)現(xiàn)這是由于殘差分支的輸出直接加回主分支而導(dǎo)致的。原始的 Swin Transformer(以及絕大多數(shù)視覺 Transformer)在每個(gè)殘差分支的開始都使用了預(yù)歸一化(pre-normalization),它可以歸一化輸入的幅值,但對輸出沒有限制。在預(yù)歸一化下,每個(gè)殘差分支的輸出激活值會(huì)直接合并回主分支,并被逐層累加,因而主分支的幅值會(huì)隨著深度的增加而越來越大。這種不同層的幅值差異很大程度上導(dǎo)致了訓(xùn)練的不穩(wěn)定性。
為了緩解這一問題,研究員們提出了一種新的歸一化方式,稱為殘差后歸一化(residual-post-normalization)。如圖3所示,該方法將歸一化層從每個(gè)殘差分支的開始移到末尾,這樣每個(gè)殘差分支的輸出在合并回主分支之前都會(huì)被歸一化,當(dāng)層數(shù)加深時(shí),主分支的幅度將不會(huì)被累加。實(shí)驗(yàn)發(fā)現(xiàn),這種新的歸一化方式使得網(wǎng)絡(luò)各層的激活值變得更加溫和。
圖3:Swin Transformer v1.0 vs. v2.0
除此之外,研究員們還發(fā)現(xiàn),隨著模型變大,在原始的自注意力計(jì)算中,某些層的注意力權(quán)重往往會(huì)被幾個(gè)特定的點(diǎn)所支配,特別是在使用后注意力的情況下。為了緩解這一問題,研究員們還提出了縮放的余弦注意力機(jī)制(scaled cosine attention),它可以取代之前的點(diǎn)乘注意力機(jī)制。在縮放的余弦注意力機(jī)制中,自注意力的計(jì)算與輸入的幅值無關(guān),從而可以產(chǎn)生更溫和的注意力權(quán)重。
實(shí)驗(yàn)證明,以上兩種技術(shù)不僅使大模型的訓(xùn)練過程更加穩(wěn)定,而且還提高了準(zhǔn)確性。
從低分辨率向高分辨率遷移,看Swin Transformer v2.0如何克服不良反應(yīng)
視覺大模型的另一難題在于許多下游視覺任務(wù)需要高分辨率的輸入圖像或注意力窗口。由于預(yù)訓(xùn)練往往在低分辨率下進(jìn)行,所以在高分辨率的下游任務(wù)上進(jìn)行微調(diào)的窗口大小會(huì)產(chǎn)生顯著變化。目前常見的做法是對位置偏置(position bias)進(jìn)行雙立方插值,這是一種隨意的簡單處理方式,其效果并不是最佳的。
為了解決這一問題,研究員們提出了對數(shù)空間的連續(xù)位置偏置(Log-spaced continuous position bias, Log-spaced CPB)。通過對對數(shù)空間的位置坐標(biāo)應(yīng)用一個(gè)小的元網(wǎng)絡(luò),Log-spaced CPB 可以產(chǎn)生任意坐標(biāo)范圍的位置偏置。由于元網(wǎng)絡(luò)可以接受任意坐標(biāo),因此通過共享其權(quán)重,一個(gè)預(yù)訓(xùn)練好的模型可以在不同的窗口大小之間自由遷移。另一方面,通過將坐標(biāo)轉(zhuǎn)化到對數(shù)空間,在不同的窗口分辨率之間遷移所需的外推率要比使用原始線性空間坐標(biāo)的外推率小得多,如圖4所示。
圖4:Log-spaced CPB vs. Linear spaced CPB
借助 Log-spaced CPB,Swin Transformer v2.0 實(shí)現(xiàn)了模型在不同分辨率之間的平滑遷移。當(dāng)把預(yù)訓(xùn)練分辨率從224像素縮小到192像素時(shí),其結(jié)果也不會(huì)受到影響,并且計(jì)算速度還提升了50%,顯著降低了訓(xùn)練類似體量的模型的成本。
模型容量和分辨率的擴(kuò)大也導(dǎo)致了現(xiàn)有視覺模型的 GPU 顯存消耗過高。為了解決顯存問題,研究員們結(jié)合了幾個(gè)重要的技術(shù),包括零冗余優(yōu)化器(zero-redundancy optimizer)、后向重計(jì)算(activation check-pointing)以及新提出的順序自我注意計(jì)算力機(jī)制(sequential self-attention computation)。有了這些技術(shù),大模型和大分辨率下的 GPU 顯存消耗明顯減少,而其對訓(xùn)練速度的影響卻很小。
自監(jiān)督學(xué)習(xí)SimMIM,解決視覺大模型的數(shù)據(jù)饑餓問題
訓(xùn)練越大的模型往往需要越多的數(shù)據(jù),而相比 NLP,計(jì)算機(jī)視覺領(lǐng)域缺乏蘊(yùn)含人類監(jiān)督信息的數(shù)據(jù)來支撐大模型的訓(xùn)練。這就要求視覺領(lǐng)域在訓(xùn)練大模型時(shí),要減少對標(biāo)注數(shù)據(jù)的依賴,需要在更少量數(shù)據(jù)的情況下探索大模型。對此,研究員們通過引入自監(jiān)督學(xué)習(xí)的掩碼模型 SimMIM 來緩解這一問題。如圖5所示,SimMIM 通過掩碼圖像建模(masked image modeling)來學(xué)習(xí)更好的圖像表征。它采用隨機(jī)掩碼策略,用適度大的掩碼塊對輸入圖像做掩碼;同時(shí),通過直接回歸來預(yù)測原始像素的 RGB 值;由于該模型的預(yù)測頭很輕,所以只需要一層線性層即可。
圖5:SimMIM 自監(jiān)督學(xué)習(xí)方法示意圖
SimMIM 非常簡單且高效,借助 SimMIM,Swin Transformer v2.0 降低了對標(biāo)注數(shù)據(jù)的需求,最終只用了7000萬張帶有噪聲標(biāo)簽的圖像就訓(xùn)練了30億參數(shù)的模型。
有圖有真相:v2.0性能“強(qiáng)悍”,在四大基準(zhǔn)上均創(chuàng)新紀(jì)錄
通過擴(kuò)展模型容量和分辨率,Swin Transformer v2.0 在四個(gè)具有代表性的基準(zhǔn)上均刷新了紀(jì)錄,證明了視覺大模型在廣泛視覺任務(wù)中的優(yōu)勢:在 ImageNet-V2 圖像分類任務(wù)上 top-1 準(zhǔn)確率為84.0%;在 COCO 物體檢測任務(wù)上為63.1/54.4 box/mask mAP;在 ADE20K 語義分割上為59.9 mIoU;在 Kinetics-400 視頻動(dòng)作分類的 top-1 準(zhǔn)確率為86.8%。
表1:ImageNet 圖像分類的性能
表2:COCO 物體檢測的性能
表3:ADE20K 語義分割的性能
表4:Kinetics-400 視頻動(dòng)作分類的性能
視覺大模型發(fā)展的三道坎:數(shù)據(jù)匱乏、學(xué)習(xí)方法和通用性
Swin Transformer v2.0 在眾多視覺任務(wù)中的“強(qiáng)悍”性能證明了視覺大模型的潛力,同時(shí),為視覺大模型提供了一個(gè)可行的訓(xùn)練“配方”。微軟亞洲研究院的研究員們期望 Swin Transformer v2.0 可以為視覺領(lǐng)域的科研人員們做進(jìn)一步前沿探索提供便利,并借此激勵(lì)整個(gè)領(lǐng)域加大對視覺大模型的投入。
“我還是比較看好視覺大模型的”,胡瀚表示,“大模型已經(jīng)證明通過增加模型容量可以持續(xù)提升性能的能力,其小樣本甚至零樣本能力也十分驚艷,而小樣本能力對于實(shí)現(xiàn)通用智能非常關(guān)鍵”。
當(dāng)然,胡瀚也認(rèn)為視覺大模型仍舊面臨一些挑戰(zhàn),“一是數(shù)據(jù)問題,視覺領(lǐng)域可用于訓(xùn)練的有效數(shù)據(jù)相比 NLP 領(lǐng)域還是有不小的差距。自監(jiān)督是一個(gè)潛在的解決方法,但目前的自監(jiān)督方法包括 SimMIM/BEiT/MAE/PeCo 等等都還不能利用好更大的數(shù)據(jù),也就是證明更多的圖像數(shù)據(jù)能幫助訓(xùn)練更好的模型?!?/span>
“二是,學(xué)習(xí)方法上還需要突破?,F(xiàn)在在訓(xùn)練大模型方面,學(xué)界和業(yè)界對于自監(jiān)督、圖像分類和多模態(tài)方法均有所嘗試,也取得了一些效果,但這些離我們真正解決問題還差的很遠(yuǎn)”。
“三是,如何建立視覺通用模型的問題還未知?,F(xiàn)如今的視覺大模型大多還是依賴于預(yù)訓(xùn)練和微調(diào)的方式,不同的視覺應(yīng)用仍需要依賴于不同的模型,如何能真正建立視覺的通用模型,用一個(gè)模型解決大部分問題,這還需要科研人員做大量的探索?!?/span>
視覺大模型的未來很光明,但也充滿了挑戰(zhàn)。微軟亞洲研究院的研究員們期待更多同仁一起努力,推進(jìn)視覺大模型的更多進(jìn)展。
相關(guān)論文:
Swin Transformer V2: Scaling Up Capacity and Resolution
https://arxiv.org/abs/2111.09883
SimMIM: A Simple Framework for Masked Image Modeling
https://arxiv.org/abs/2111.09886
Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
https://arxiv.org/abs/2103.14030
Local Relation Networks for Image Recognition
https://arxiv.org/abs/1904.11491
相關(guān) GitHub 鏈接:
https://github.com/microsoft/Swin-Transformer
https://github.com/microsoft/SimMIM
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。