1. 程式人生 > >幾篇不錯的注意力機制文獻

幾篇不錯的注意力機制文獻

注意力機制

幾篇不錯的注意力文獻

  • 在計算機視覺領域,注意力機制有各種不同形式的實現,可以大致分為soft attention和hard attention[1]。Soft attention的典型例子是stn[3],Residual Attention Network[5]和Two-level Attention[2],這種注意力機制是可微的,可以通過反向傳播訓練。而Hard attention 需要預測關注的區域,通常使用強化學習來訓練,例子見[1]中列舉的參考文獻。

  • [2]中集成了三種類型的attention: 提供候選patch的bottom-up, 依據object篩選相關patch的object-level top-down和定位區分性部件的part-level top-down。

  • [5]這篇文章寫得很不錯,值得細讀。提出了一種Residual attention network,是attention module的堆疊。在每個module中均使用bottom-up top-down結構(參考Stacked hourglass networks[7])。The bottom-up top-down structure mimics the fast feedforward and feedback attention process。利用殘差機制使得網路深度可以進一步擴充套件。網路結構如下圖:
    ![Alt text](./1539087067712.pn

  • [6]提出了SENet,這個模型獲得了ImageNet 2017競賽 Image Classification任務的冠軍。可以看做是channel維度的attention (gating),參見作者本人的分享:

    CVPR | ImageNet冠軍模型SE-Net詳解!
    SE block如下圖:
    Alt text

  • [4]提出了一種Deep Attention Selective Network (dasNet)。在訓練完成後,通過強化學習(Separable Natural Evolution Strategies)來動態改變attention。具體來說,attention調整的是每個conv filter的權重(和SENet一樣有木有,都是channel維度)。policy是一個neural network,RL部分的演算法如下:

Alt text

  • 其中每次while迴圈代表一次SNES迭代,M表示訓練好的CNN,u和Sigma是policy引數對應的分佈超參,p是取樣p個policy引數,n是隨機抽取n張圖片。具體看文章,演算法解釋的很清楚。

  • 最後人體姿態估計[8]等領域也有一些很有趣的文章,後面有必要再細看。值得一提的是,本文介紹的大多數attention (gating) 技巧都可以直接加入現有的網路架構,通過合理設計初始化和訓練步驟也可以利用現有網路的預訓練引數。這大大擴充套件了這些技巧的適用範圍。

Zhao B, Wu X, Feng J, et al. Diversified visual attention networks
for fine-grained object classification[J]. arXiv preprint
arXiv:1606.08572, 2016.
Xiao T, Xu Y, Yang K, et al. The application of two-level attention models in deep convolutional neural network for fine-grained image classification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 842-850.
Jaderberg M, Simonyan K, Zisserman A. Spatial transformer networks[C]//Advances in Neural Information Processing Systems. 2015: 2017-2025.
Stollenga M F, Masci J, Gomez F, et al. Deep networks with internal selective attention through feedback connections[C]//Advances in Neural Information Processing Systems. 2014: 3545-3553.
Wang F, Jiang M, Qian C, et al. Residual Attention Network for Image Classification[J]. arXiv preprint arXiv:1704.06904, 2017.
Hu J, Shen L, Sun G. Squeeze-and-Excitation Networks[J]. arXiv preprint arXiv:1709.01507, 2017.
Newell A, Yang K, Deng J. Stacked hourglass networks for human pose estimation[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 483-499.
Chu X, Yang W, Ouyang W, et al. Multi-context attention for human pose estimation[J]. arXiv preprint arXiv:1702.07432, 2017.


作者:Wayne2019
來源:CSDN
原文:https://blog.csdn.net/Wayne2019/article/details/78488142?utm_source=copy
版權宣告:本文為博主原創文章,轉載請附上博文連結!

Attention機制的理解

  1. 學習權重分佈:輸入資料或特徵圖上的不同部分對應的專注度不同
  • 這個加權可以是保留所有分量均做加權(即soft attention);也可以是在分佈中以某種取樣策略選取部分分量(即hard attention),此時常用RL來做。
  • 這個加權可以作用在原圖上,也就是《Recurrent Model of Visual Attention》(RAM)和《Multiple Object Recognition with Visual Attention》(DRAM);也可以作用在特徵圖上,如後續的好多文章(例如image caption中的《 Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》)。
  • 這個加權可以作用在空間尺度上,給不同空間區域加權;也可以作用在channel尺度上,給不同通道特徵加權;甚至特徵圖上每個元素加權。
  • 這個加權還可以作用在不同時刻歷史特徵上,如Machine Translation。
  1. 任務聚焦:通過將任務分解,設計不同的網路結構(或分支)專注於不同的子任務,重新分配網路的學習能力,從而降低原始任務的難度,使網路更加容易訓練。

Attention機制應用相關文獻

方式一:學習權重分佈

  1. (精細分類)Jianlong Fu, Heliang Zheng, Tao Mei (Microsoft Research), Look Closer to See Better: Recurrent Attention Convolutional Neural Network for Fine-grained Image Recognition, CVPR2017
    在關注的每一個目標尺度上,都採用一個分類的網路和一個產生attention proposal 的網路(APN)。本文最有趣的就是這個APN。這個APN由兩個全連線層構成,輸出3個引數表示方框的位置,接下來的尺度的分類網路只在這個新產生的方框影象中提特徵進行分類。怎麼訓練呢?本文定義了一個叫做rank Loss,用這個loss來訓練APN,並強迫finer的尺度得到的分類結果要比上一個尺度的好,從而使APN更提取出更有利於精細分類的目標區域性出來。通過交替迭代訓練,APN將越來越聚焦目標上的細微的有區分性的部分。當然這裡有一個問題,那就是精細尺度只能聚焦到最顯著的部位(如鳥頭),但其他部分(如羽毛、鳥爪)就關注不到了。
    Alt text
    Alt text
  2. (影象分類)Fei Wang, etc. (SenseTime Group Limited). Residual Attention Network for Image Classification,CVPR2017
    本文是在分類網路中,增加了Attention module。這個模組是由兩支組成,一支是傳統的卷積操作,另一支是兩個下采樣加兩個上取樣的操作,目的是獲取更大的感受野,充當attention map。因為是分類問題,所以高層資訊更加重要,這裡通過attention map提高底層特徵的感受野,突出對分類更有利的特徵。相當於變相地增大的網路的深度。

Alt text
3. (影象分割)Liang-Chieh Chen,etc. (UCLA) Attention to Scale: Scale-aware Semantic Image Segmentation, CVPPR2016(權重視覺化效果有點意思)
通過對輸入圖片的尺度進行放縮,構造多尺度。傳統的方法是使用average-pooling或max-pooling對不同尺度的特徵進行融合,而本文通過構造Attention model(由兩個卷積層構成)從而自動地去學不同尺度的權重,進行融合(效果提升1到2個點吧,不同的資料集不一樣)。從論文中的權重視覺化的結果,能發現大尺寸輸入上,對應網路關注於small-scale objects,而在稍微小一點的尺寸輸入上,網路就關注於middle-scale,小尺寸輸入則關注background contextual information。視覺化效果感覺非常有意思。
Alt text
4. (Image Caption看圖說話)Kelvin Xu,etc. Show, Attend and Tell: Neural Image Caption Generation with Visual Attention,ICML2015
大意是對一個影象進行描述時,生成不同的單詞時,其重點關注的影象位置是不同的,視覺化效果不錯。
Alt text

方式二:任務聚焦/解耦

  1. (Instance Segmentation)Kaiming He, etc. Mask R-CNN
    Kaiming大神在Mask R-CNN中,將segment branch的損失函式由softmax loss換成了binary sigmoid loss。即是,將分類和分割任務進行解耦,當box branch已經分好類時,segment branch 就不用再關注類別,只需要關注分割,從而使網路更加容易訓練。具體到訓練中,假設分狗、貓、馬三類,segment branch會得到3個mask,當訓練樣本是狗類,那麼這個類別的loss才會被反傳,貓類和馬類對應的mask都不用管。也就是說,生成狗mask的那部分網路連線(卷積核)只需要聚焦於狗類的樣本,然後將屬於狗的畫素目標凸顯出來出來,訓練其他類別時不會對這些連線權重進行更新。通過這個任務解耦,分割的結果得到了很大的提升(5%-7%)。Kaiming大神在文中也指出,當只輸出一個mask時,分割結果只是略差,從而進一步說明了將分類和分割解耦的作用

  2. (影象分割)Lin etc. Fully Convolutional Network with Task Partitioning for Inshore Ship Detection in Optical Remote Sensing Images
    針對靠岸艦船,本文通過任務解耦的方法來處理。因為高層特徵表達能力強,分類更準,但定位不準;底層低位準,但分類不準。為了應對這一問題,本文利用一個深層網路得到一個粗糙的分割結果圖(船頭/船尾、船身、海洋和陸地分別是一類)即Attention Map;利用一個淺層網路得到船頭/船尾預測圖,位置比較準,但是有很多虛景。訓練中,使用Attention Map對淺層網路的loss進行引導,只反傳在粗的船頭/船尾位置上的loss,其他地方的loss不反傳。相當於,深層的網路能得到一個船頭/船尾的大概位置,然後淺層網路只需要關注這些大概位置,然後預測出精細的位置,影象中的其他部分(如船身、海洋和陸地)都不關注,從而降低了學習的難度。

Alt text

參考資料

知乎問題:目前主流的attention方法都有哪些?
知乎問題:Attention based model 是什麼,它解決了什麼問題?
知乎專欄總結:計算機視覺中的注意力機制
CSDN部落格總結:Attention Model(mechanism) 的 套路
CSDN專欄:從2017年頂會論文看 Attention Model
CSDN專欄:模型彙總24 - 深度學習中Attention Mechanism詳細介紹:原理、分類及應用


作者:WeisongZhao
來源:CSDN
原文:https://blog.csdn.net/weixin_41923961/article/details/81516589?utm_source=copy
版權宣告:本文為博主原創文章,轉載請附上博文連結!