編者按:最近兩年,自注意力機制、圖和關係網絡等模型在NLP領域颳起了一陣旋風,基於這些模型的Transformer、BERT、MASS等框架已逐漸成為NLP的主流方法。這些模型在計算機視覺領域是否能同樣有用呢?近日,微軟亞洲研究院視覺計算組主管研究員胡瀚受邀參加VALSE Webinar,分享了他們最近的一些相關工作。他們的研究以及同期的一些其它工作表明這些模型也能廣泛地用於視覺基本元素之間關係的建模,包括物體與物體間、物體與像素間、以及像素與像素間的關係,特別是在建模像素與像素間關係上,既能與卷積操作形成互補,甚至有望能取代卷積操作,實現最基本的圖像特徵提取。
大腦和機器智能都應是通用學習機器?
首先,我們從一個很有意思的實驗講起,這個實驗將老鼠大腦里的聽覺皮層接到視覺的輸入上,經過一段時間訓練後,發現聽覺皮層也能實現視覺的感知任務。這個實驗引起我們思考一個問題,機器智能是否同樣能實現結構和學習的通用性呢?
目前的機器學習範式基本是統一的,一般遵循收集數據、進行標註、定義網絡結構、以及利用方向傳播算法訓練網絡權值的過程,但是不同任務里用到的基本模型卻是多樣的。當前計算機視覺主要被卷積網絡所主導,而自然語言處理則經歷了LSTM、GRU、卷積以及自注意等多種模型階段。那是否有一種基本模型,能解決視覺、NLP、圖結構數據感知、甚至推理等不同智能任務呢?
目前最通用的模型:關係和圖網絡
目前來看,關係網絡是最接近這一目標的一種模型。在解釋這個模型之前,我們首先對一些名詞作一些澄清,包括圖神經網絡以及自注意力機制。
![圖1:關係網絡架構](https://easyai.tech/wp-content/uploads/2022/08/577dd-2019-07-15-122842.jpg)
圖神經網絡概念上更通用一些,包括了對節點、對邊、對全局屬性的特徵表示,而自注意模型則是圖神經網絡的一種特殊實現,裏面只對節點進行了特徵表示,而邊(也就是關係)則通過key嵌入和query嵌入後的內積計算得到,是一種圖為全連接時(所有節點之間都有連接)非常經濟的模型,但表達能力又足夠強,因為任何事物和概念之間都可以通過不同的投影后(key和query)的特徵來使得兩者可比。
注意力機制里key和query的集合往往不一致,例如分別是單詞集合和圖像塊集合,或者分別是不同語言的句子,而自注意力機制則是key和query的對象為同一集合的情況。最近在NLP領域的革命,主要在於發現了「自」注意力機制在編碼同一句子單詞與單詞之間關係上的價值。而關係網絡和圖神經網絡還有自注意力機制從實現上是同樣的,字面上更關注對於節點與節點間聯繫的建模。
將關係網絡應用於基本視覺建模
考慮到關係網絡在圖結構數據和NLP序列數據建模上取得了巨大成功,很自然的一個問題是這一建模方法是否也適用於視覺里的建模。計算機視覺裏面主要涉及兩個層次的基本元素:一個是物體;一個是像素。於是我們研究了物體和物體、物體和像素以及像素和像素的關係建模問題。
![圖2:將關係網絡應用於基本視覺建模](https://easyai.tech/wp-content/uploads/2022/08/8d2ea-2019-07-15-122906.jpg)
物體與物體關係建模,第一個完全端到端的物體檢測器
物體是很多視覺感知任務的核心,在深度學習時代,單個物體的感知有了很好的進展,但如何去建模物體與物體間的關係卻一直沒有很好的工具。我們在去年CVPR上提出了一個能即插即用的物體關係模塊(Object Relation Module),簡稱ORM。物體關係模塊的建模基本上是一種自注意力機制的應用,和基本的自注意力機制的主要不同在於添加了相對幾何項,我們發現這一項對於視覺問題來說很重要,物體之間的相對位置關係能幫助對於物體本身的感知。這一模塊可以很方便地嵌入到現有的物體檢測框架(圖3所示是目前應用最廣泛的Faster R-CNN算法),去改進頭部(head)網絡,以及替換手工的去重模塊,也就是目前通常採用的非極大化抑制方法(NMS)。其中替換前者使得物體不是獨立識別的,而是一起識別的,而替換後者則幫助實現了第一個完全的端到端物體檢測系統。我們還將物體關係模塊推廣到時空維度,去解決多目標跟蹤問題。
![圖3:第一個完全端到端的物體檢測器](https://easyai.tech/wp-content/uploads/2022/08/be993-2019-07-15-122924.jpg)
物體與像素關係建模
物體與像素關係建模的一個最直接的應用是從圖像特徵里提取物體區域特徵,此前最常用的算法是RoIPooling或者RoIAlign,我們用關係網絡實現了自適應地從圖像特徵里提取區域特徵的方法,並證明這一方法比RoIAlign在物體檢測的標準數據集COCO上要好1 mAP左右。
像素與像素關係建模,替代卷積的局部關係網絡及全局上下文網絡
像素與像素關係的建模可以用來實現最基本的圖像局部特徵提取,也可以用來提取圖像的全局信息,從而作為基本圖像特徵提取網絡(例如卷積神經網絡)的補充。
1)替代卷積神經網絡的局部關係網絡
現在的基本圖像特徵提取方法幾乎都採用卷積算子,但卷積本質上是一個模板匹配(template matching)算子,效率是偏低的,例如圖4中的三個鳥頭,很簡單的變化,卻需要三個通道來去建模它。我們提出了一個局部關係層(local relation layer)來實現更高效的圖像特徵提取,它本質上還是基於關係網絡。在應用到基本的像素與像素關係建模問題時,我們發現如下幾個細節很重要:一是關係的建模要限制在局部內,只有限制在局部才能構造信息瓶頸,才能把圖像里的模式學出來;二是需要引入可學習的幾何先驗項,這一項的引入也是注意到目前最流行的卷積算子所採用的模板匹配過程就是嚴重依賴相對位置關係的建模方法;三是採用標量的key和query,在標準的關係網絡中,key和query通常是用向量表示的,採用標量的key和query能節省很多參數和計算,也因此能在有限計算量情況下建模多種關係。
與卷積相比,局部關係層概念上最大的不同是它是在根據兩個像素自己的特徵來計算像素間的可組合性,而不是用一個全局的模板來作匹配。圖4右上還顯示了學到的部分key和query圖(標量),從左到右分別是由淺到深的層,發現淺層學到了邊緣和內部的概念,深層學到了不同物體的概念。圖4右下顯示了學到的幾何先驗,從上到下分別是由淺到深的層,發現在淺層里幾何先驗比較集中和稀疏,暗示幾何先驗起很大作用,而深層里幾何先驗比較模糊,暗示key和query起更主要的作用。
![圖4:局部關係層](https://easyai.tech/wp-content/uploads/2022/08/a964a-2019-07-15-122942.jpg)
局部關係層可以用來替換卷積網絡裏面所有的空間卷積層,包括所有的3×3的卷積,以及一開始的7×7卷積,於是得到了一個完全沒有空間卷積層的網絡,我們稱為局部關係網絡(LR-Net),圖5左側是用局部關係層替代ResNet-50網絡中所有卷積層的例子,在相同計算量情況下,LR-Net相比於ResNet擁有更少的參數。圖5右側是26層LR-Net與26層帶標準卷積或depthwise卷積的ResNet在ImageNet分類上top-1準確率的比較。可以看出,在不包含任何幾何先驗的情況下,LR-Net已與ResNet相匹敵,而在添加幾何先驗項後,與標準卷積的ResNet-50相比能取得高2.7%的性能。此外,局部關係網絡在鄰域為7×7時表現最好,而對應的標準ResNet網絡則在3×3和5×5時表現更好,這表明局部關係網絡相比普通基於卷積算子的ResNet網絡能建模更大範圍的像素關係。
![圖5:局部關係層替代ResNet-50網絡中所有卷積層(左);26層的LR-Net與ResNet相同運算量下在ImageNet分類上top-1準確率的對比(右)](https://easyai.tech/wp-content/uploads/2022/08/539ff-2019-07-15-122956.jpg)
2) 非局部網絡遇上SE-Net,更高效的全局上下文網絡
非局部關係網絡在多個視覺感知任務上取得了非常好的效果,學界通常認為這得益於非局部網絡對於遠距離像素與像素間關係的建模。但我們在可視化學到的像素與像素間相似度時發現一個很不一樣的現象,對於不同的query像素點(圖中紅色點),不管query像素點在前景、或是草地、或是天空中,它們和key像素的相似度形成的attention map幾乎一模一樣。
![圖6:不同query像素點對應的attention map](https://easyai.tech/wp-content/uploads/2022/08/257bf-2019-07-15-123008.jpg)
很自然地,如果我們顯示地讓所有query像素點共享同一個attention map,是否會降低performance呢?我們實驗發現在一些重要的感知任務,例如圖像分類、物體檢測、動作識別中,這一答案是否定的。也就是說,即使讓所有query像素點共享同一個attention map,也不會降低識別的精度,而相應的計算則大幅降低,即使添加到ResNet網絡中所有的residual block後也不怎麼增加網絡整體的計算量。
進一步可以發現這樣一種簡化的非局部網絡(SNL)和2017年ImageNet比賽的冠軍算法SE-Net結構很相似,都是首先建模全局上下文信息,把HxW的圖像特徵集合起來,生成一個全局的向量,第二步都是對這一全局的向量作特徵變換,最後是變換後的全局特徵和圖像每個位置原來的特徵融合起來,於是可以抽象出來一個通用的建模全局上下文信息的框架。進一步的,在每一步裏面選擇最好的實現,於是可以得到全局上下文模塊(Global Context Block),這一網絡可以在COCO物體檢測,ImageNet圖像分類,和動作識別任務中均取得比非局部網絡和SE-Net更優的準確率,而計算量則保持基本不變或者低於非局部網絡和SE-Net。
![圖7:通用的建模全局上下文信息的框架](https://easyai.tech/wp-content/uploads/2022/08/500f9-2019-07-15-123020.jpg)
參考論文:
[1] Han Hu*, Jiayuan Gu*, Zheng Zhang*, Jifeng Dai and Yichen Wei. Relation Networks for Object Detection. In CVPR 2018. [2] Jiarui Xu, Yue Cao, Zheng Zhang and Han Hu. Spatial-Temporal Relation Networks for Multi-Object Tracking. Tech Report. [3] Jiayuan Gu, Han Hu, Liwei Wang, Yichen Wei and Jifeng Dai. Learning Region Features for Object Detection. In ECCV 2018. [4] Han Hu, Zheng Zhang, Zhenda Xie and Stephen Lin. Local Relation Networks for Image Recognition. Tech Report. [5] Yue Cao*, Jiarui Xu*, Stephen Lin, Fangyun Wei and Han Hu. GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond. Tech Report.本文轉載自公眾號 微軟研究院AI頭條,原文地址
Comments