预训练图像处理Transformer:刷榜多项底层视觉任务
?來源|機(jī)器之心
作為自然語言處理領(lǐng)域的主流模型,Transformer 近期頻頻出現(xiàn)在計(jì)算機(jī)視覺領(lǐng)域的研究中。例如 OpenAI 的 iGPT、Facebook 提出的 DETR 等,這些跨界模型多應(yīng)用于圖像識別、目標(biāo)檢測等高層視覺任務(wù)。而華為、北大、悉大以及鵬城實(shí)驗(yàn)室近期提出了一種新型預(yù)訓(xùn)練 Transformer 模型——IPT(Image Processing Transformer),用于完成超分辨率、去噪、去雨等底層視覺任務(wù)。該研究認(rèn)為輸入和輸出維度相同的底層視覺任務(wù)更適合 Transformer 處理。
預(yù)訓(xùn)練模型能否在視覺任務(wù)上復(fù)刻在自然語言任務(wù)中的成功?華為諾亞方舟實(shí)驗(yàn)室聯(lián)合北京大學(xué)、悉尼大學(xué)、鵬城實(shí)驗(yàn)室提出底層視覺 Transformer,使用 ImageNet 預(yù)訓(xùn)練,在多項(xiàng)視覺任務(wù)上達(dá)到 SOTA。
與自然語言任務(wù)相比,視覺任務(wù)在輸入形式上有很大差別。Transformer 等模型在自然語言處理任務(wù)上展現(xiàn)出了強(qiáng)大的特征學(xué)習(xí)能力,使用大量數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練的策略獲得了成功。因此,很多研究都在考慮如何在計(jì)算機(jī)視覺領(lǐng)域發(fā)揮 Transformer 模型與預(yù)訓(xùn)練的潛力。
近日,華為、北大、悉大以及鵬城實(shí)驗(yàn)室的研究者提出了一個(gè)名為 IPT(Image Processing Transformer)的預(yù)訓(xùn)練 Transformer 模型,用于完成超分辨率、去噪、去雨等底層視覺任務(wù)。IPT 具備多個(gè)頭結(jié)構(gòu)與尾結(jié)構(gòu)用于處理不同的任務(wù),不同的任務(wù)共享同一個(gè) Transformer 模塊。預(yù)訓(xùn)練得到的模型經(jīng)過微調(diào)即可在多個(gè)視覺任務(wù)上大幅超越對應(yīng)任務(wù)上的當(dāng)前最好模型。?
論文鏈接:
https://arxiv.org/pdf/2012.00364.pdf
Transformer 真的比 CNN 要好嗎?
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是計(jì)算機(jī)視覺領(lǐng)域中的常用模型,自然語言處理領(lǐng)域中出類拔萃的 Transformer 模型在應(yīng)用到計(jì)算機(jī)視覺任務(wù)中時(shí),真的能比 CNN 更好嗎?
該研究通過一系列實(shí)驗(yàn)回答了這個(gè)問題。
首先,研究者展示了經(jīng)過預(yù)訓(xùn)練的 IPT 模型在不同任務(wù)上微調(diào)后達(dá)到的性能。如圖 1 所示,在多項(xiàng)底層視覺任務(wù)中,IPT 模型均取得了巨大的性能提升。例如,對于不同倍率的超分辨率任務(wù),IPT 普遍能夠提升 0.4dB,而對于去噪和去雨任務(wù)則提升更多,提升了 1.6-2.0dB。
?
圖 1:IPT 模型與當(dāng)前各項(xiàng)任務(wù)最好結(jié)果的對比情況。
為了更好地說明為什么要用 Transformer,研究者還設(shè)計(jì)了一個(gè)基于 CNN 的預(yù)訓(xùn)練模型作為對照,并在 DIV2K 數(shù)據(jù)集 2 倍超分辨率的任務(wù)上探索了不同預(yù)訓(xùn)練數(shù)據(jù)量對模型性能的影響。圖 2 展示了不同的數(shù)據(jù)量對 CNN 和 Transformer 模型的影響。結(jié)果顯示,在預(yù)訓(xùn)練數(shù)據(jù)有限時(shí),CNN 模型能獲得更好的性能。隨著數(shù)據(jù)量的增大,基于 Transformer 模塊的 IPT 模型獲得了顯著的性能提升,曲線趨勢也展現(xiàn)了 IPT 模型令人期待的潛力。
?
圖 2:預(yù)訓(xùn)練數(shù)據(jù)量對 CNN 與 IPT 模型的影響。
可以看出,Transformer 模型能夠更充分地發(fā)揮大規(guī)模訓(xùn)練數(shù)據(jù)的優(yōu)勢。自然語言處理領(lǐng)域的成功經(jīng)驗(yàn)在底層視覺任務(wù)上得到了驗(yàn)證。
底層視覺任務(wù)如何使用 Transformer
在自然語言任務(wù)中,Transformer 的輸入是單詞序列,圖像數(shù)據(jù)無法作為輸入。解決如何使用 Transformer 處理圖像的問題是將 Transformer 應(yīng)用在視覺任務(wù)的第一步。
不同于高層視覺語義任務(wù)的目標(biāo)是進(jìn)行特征抽取,底層視覺任務(wù)的輸入和輸出均為圖像。除超分辨率任務(wù)之外,大多數(shù)底層視覺任務(wù)的輸入和輸出維度相同。相比于高層視覺任務(wù),輸入和輸出維度匹配這一特性使底層視覺任務(wù)更適合由 Transformer 處理。
具體而言,研究者在特征圖處理階段引入 Transformer 模塊,而圖像維度匹配則交給了頭結(jié)構(gòu)與尾結(jié)構(gòu),如圖 3 所示:
?
圖 3:IPT 模型結(jié)構(gòu)。
研究者首先將圖片經(jīng)過一個(gè)頭結(jié)構(gòu)變換為特征圖:
?
?
接下來,再對特征圖進(jìn)行切塊與拉平操作。首先按照 P×P 的大小將特征圖切割成 N 塊,每一個(gè)特征塊再被拉平為維度為 P^2×C 的向量,得到
這樣一來,每個(gè)特征向量可以等同于一個(gè)「單詞」,即可送入 Transformer 進(jìn)行處理,得到維度相同的輸出特征:
?
這些輸出特征再經(jīng)過整形和拼接操作,還原為與輸入相同維度的特征圖。如此處理得到的特征圖會被送入一個(gè)尾結(jié)構(gòu),被解碼為目標(biāo)圖像。
有了頭結(jié)構(gòu)和尾結(jié)構(gòu)負(fù)責(zé)維度變換,Transformer 模塊可以專心地做特征處理。這使得多任務(wù)的擴(kuò)展變得簡單:對于不同的任務(wù),只需要增加新的頭結(jié)構(gòu)與尾結(jié)構(gòu)即可,多種任務(wù)之間的 Transformer 模塊是共享的。為了適應(yīng)多任務(wù),研究者在 Transformer 的解碼模塊中加入了一個(gè)可學(xué)習(xí)的任務(wù)編碼。
底層視覺任務(wù)的預(yù)訓(xùn)練與微調(diào)
Transformer 的成功離不開大量數(shù)據(jù)預(yù)訓(xùn)練帶來的性能提升。在這篇論文中,針對底層視覺任務(wù),研究者提出一種使用 ImageNet 數(shù)據(jù)集對模型進(jìn)行預(yù)訓(xùn)練的方法。結(jié)果顯示,經(jīng)過預(yù)訓(xùn)練的模型只需要做一些簡單微調(diào)即可適用于多種下游任務(wù)。
研究者使用 ImageNet 數(shù)據(jù)集生成多種退化圖像,構(gòu)成多種底層視覺任務(wù)訓(xùn)練集。具體來說,對 ImageNet 數(shù)據(jù)集中的自然圖像進(jìn)行下采樣即可得到用于超分辨率任務(wù)的訓(xùn)練數(shù)據(jù);加入噪聲可生成用于去噪任務(wù)的訓(xùn)練數(shù)據(jù);加入雨痕可產(chǎn)生用于去雨任務(wù)的訓(xùn)練集等。
利用這些人工合成的數(shù)據(jù),配以對應(yīng)任務(wù)的多頭多尾結(jié)構(gòu),多個(gè)任務(wù)的訓(xùn)練數(shù)據(jù)同時(shí)進(jìn)行訓(xùn)練,整個(gè)模型可以通過監(jiān)督損失函數(shù)進(jìn)行訓(xùn)練:
除此之外,為了提升模型在未曾預(yù)訓(xùn)練過的任務(wù)上的性能(如不同倍率的超分辨率、不同噪聲強(qiáng)度的去噪任務(wù)),研究者根據(jù)特征塊之間的相關(guān)性引入了對比學(xué)習(xí)方法作為自監(jiān)督損失函數(shù)。具體來說,來自于同一圖像的特征塊之間的特征應(yīng)當(dāng)相互接近,來自于不同圖像的特征塊應(yīng)當(dāng)遠(yuǎn)離。這一自監(jiān)督損失函數(shù)如下所示:
?
研究者表示,通過引入這一對比損失函數(shù),模型能夠在未經(jīng)預(yù)訓(xùn)練的任務(wù)上展現(xiàn)超越傳統(tǒng)方法的性能。
經(jīng)過預(yù)訓(xùn)練的 IPT 模型,只需要在特定任務(wù)的數(shù)據(jù)集上進(jìn)行微調(diào),即可在此任務(wù)上達(dá)到很好的效果。在微調(diào)階段,只有特定任務(wù)所對應(yīng)的頭尾結(jié)構(gòu)以及 Transformer 模塊被激活訓(xùn)練,與此任務(wù)無關(guān)的頭尾模塊被暫時(shí)凍結(jié)。
IPT 刷榜多項(xiàng)底層視覺任務(wù)
為了證明 IPT 的有效性,研究者在多種底層視覺任務(wù)上測試了模型效果,包括 2 倍、3 倍和 4 倍的超分辨率任務(wù)、兩種強(qiáng)度的去噪任務(wù)以及去雨任務(wù)。每個(gè)具體任務(wù)所采用的 IPT 模型均為同一個(gè)預(yù)訓(xùn)練模型在特定任務(wù)上微調(diào)得到的。另外,研究者還做了一系列對照實(shí)驗(yàn)來確定 Transformer、對比學(xué)習(xí)損失函數(shù)等不同模塊的重要性。所有實(shí)驗(yàn)都是在英偉達(dá) Tesla V100 GPU 和 PyTorch 上完成的。
首先對于超分辨率任務(wù),其預(yù)訓(xùn)練樣本是將圖像進(jìn)行 bicubic 下采樣得到的。研究者報(bào)告了在 Set5、Set14、B100 以及 Urban100 四個(gè)數(shù)據(jù)集上的結(jié)果,如表 1 所示。
?
表 1:超分辨率任務(wù)實(shí)驗(yàn)結(jié)果。
可以看出,IPT 模型在所有設(shè)定下均取得了最好的結(jié)果。尤其是在 Urban100 數(shù)據(jù)集上,對比當(dāng)前最好的超分辨率算法,IPT 模型展現(xiàn)出了大幅度的優(yōu)勢。
如表 2 和表 3 所示,在去噪和去雨任務(wù)上,IPT 模型也展現(xiàn)出了類似的性能。
?
表 2:去噪任務(wù)實(shí)驗(yàn)結(jié)果。
?
表 3:去雨任務(wù)實(shí)驗(yàn)結(jié)果。
下圖展示了不同方法在去噪、去雨任務(wù)中的處理結(jié)果,從中可以看出 IPT 模型的輸出結(jié)果更接近真值圖像:
?
泛化性能
隨后研究者進(jìn)一步測試了預(yù)訓(xùn)練模型的泛化性能。具體做法是,將 IPT 模型在沒有預(yù)訓(xùn)練過的任務(wù)上進(jìn)行微調(diào)后測試。在表 4 中,對于噪聲強(qiáng)度為 10 和 70 的設(shè)定下(預(yù)訓(xùn)練為 20 和 50),IPT 模型依舊展現(xiàn)出巨大的優(yōu)勢,展示了預(yù)訓(xùn)練模型良好的泛化性。
?
表 4:未經(jīng)預(yù)訓(xùn)練任務(wù)上的實(shí)驗(yàn)結(jié)果。
控制變量研究
除此之外, 為了探究對比損失函數(shù)對模型學(xué)習(xí)表示能力的影響,研究者在 2 倍超分辨率任務(wù)上測試了對比損失函數(shù)占不同比例時(shí)模型的性能。表 5 展示了模型在 Set4 數(shù)據(jù)集上不同的對比損失函數(shù)權(quán)重得到的 PSNR。結(jié)果顯示,相比不加入此損失(λ=0)的情況,對比損失函數(shù)能夠進(jìn)一步提升模型學(xué)習(xí)表示的能力。
?
表 5:對比損失函數(shù)的影響。
從實(shí)驗(yàn)效果中可以看出,Transformer 模型在底層視覺任務(wù)上展現(xiàn)出了超過 CNN 的實(shí)力,說明 Transformer 在視覺任務(wù)中是可行的。不僅如此,它所表現(xiàn)出的因大量訓(xùn)練數(shù)據(jù)而帶來的性能提升,展現(xiàn)出更大數(shù)據(jù)量、更大的模型在視覺領(lǐng)域的巨大潛力。這一方向值得更多的研究者做更多深入探索。
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的预训练图像处理Transformer:刷榜多项底层视觉任务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 酒鬼酒产地是哪儿
- 下一篇: 本周阅读清单:从NeurIPS 2020