1. 程式人生 > >Slow down, Keep learning and Enjoy life

Slow down, Keep learning and Enjoy life

1. 什麼是Attention機制?

其實我沒有找到attention的具體定義,但在計算機視覺的相關應用中大概可以分為兩種:

1)學習權重分佈:輸入資料或特徵圖上的不同部分對應的專注度不同,對此Jason Zhao在知乎回答中概括得很好,大體如下:
- 這個加權可以是保留所有分量均做加權(即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。

2) 任務聚焦:通過將任務分解,設計不同的網路結構(或分支)專注於不同的子任務,重新分配網路的學習能力,從而降低原始任務的難度,使網路更加容易訓練。

2. Attention機制應用在了哪些地方?

針對於1部分中的attention的兩大方式,這裡主要關注其在視覺的相關應用中。

2.1 方式一:學習權重分佈

&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將越來越聚焦目標上的細微的有區分性的部分。當然這裡有一個問題,那就是精細尺度只能聚焦到最顯著的部位(如鳥頭),但其他部分(如羽毛、鳥爪)就關注不到了。
這裡寫圖片描述


這裡寫圖片描述

&2. (影象分類)Fei Wang, etc. (SenseTime Group Limited). Residual Attention Network for Image Classification,CVPR2017

本文是在分類網路中,增加了Attention module。這個模組是由兩支組成,一支是傳統的卷積操作,另一支是兩個下采樣加兩個上取樣的操作,目的是獲取更大的感受野,充當attention map。因為是分類問題,所以高層資訊更加重要,這裡通過attention map提高底層特徵的感受野,突出對分類更有利的特徵。相當於變相地增大的網路的深度。
這裡寫圖片描述

&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。視覺化效果感覺非常有意思。
這裡寫圖片描述

&4.(Image Caption看圖說話)Kelvin Xu,etc. Show, Attend and Tell: Neural Image Caption Generation with Visual Attention,ICML2015
因為不做NLP,所以這個論文技術細節並沒有看懂。大意是對一個影象進行描述時,生成不同的單詞時,其重點關注的影象位置是不同的,視覺化效果不錯。
這裡寫圖片描述

2.2 方式二:任務聚焦/解耦

&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不反傳。相當於,深層的網路能得到一個船頭/船尾的大概位置,然後淺層網路只需要關注這些大概位置,然後預測出精細的位置,影象中的其他部分(如船身、海洋和陸地)都不關注,從而降低了學習的難度。
這裡寫圖片描述

3.感想

總的來說,我覺得attention這個概念很有趣,使用attention也可以做出一些有意思的工作。相比於方式一,個人更喜歡方式二任務解耦,因為其對所解決的任務本身有更深刻的認識。當然上述介紹的論文,主要是關於high-level的任務,還沒看到attention在low-level的任務中的應用(也可能是自己查得不全),當然如何應用,這值得思考。

參考資料

相關推薦

Slow down, Keep learning and Enjoy life

1. 什麼是Attention機制? 其實我沒有找到attention的具體定義,但在計算機視覺的相關應用中大概可以分為兩種: 1)學習權重分佈:輸入資料或特徵圖上的不同部分對應的專注度不同,對此Jason Zhao在知乎回答中概括得很好,大體如下: -

Keep Thinking And Learning

背景     最近有個簡單的需求,離線資料探勘得出的標籤需要支援online的查詢,查詢場景比較簡單,支援按照單個id或者多個id批量查詢,tp99需要在200ms,批量的時候id 集合的大小不會超過1000,平均下來不會超過200的樣子。這種場景直接上ES相對來說比較省事

Unsupervised Learning and Text Mining of Emotion Terms Using R

true nio sha heatmap this trac tel examples sed Unsupervised learning refers to data science approaches that involve learning without a p

理解一下generative learning and discriminative learning algorithm

mode pro 理解 finall predict rim fin new clas Given a training set, an algorithm like logistic regression or the perceptron algorithm (basi

2018-08-20再啟程--Keep Learning, Keep Coding!

文章 運維 cnblogs 一個 加油! 架構 雅思 odin 組織 說好的堅持呢 堅持果然不是誰都能做到的,更不是說說就可以事當初的熱情高漲,把自己想的太厲害了,結果證明自己不過如此! 昨天群裏推薦了一個博客園的文章,一個堅持了300多篇的大佬。我為什麽堅持寫博客共勉

UVALive - 7041 The Problem to Slow Down You (回文樹)

ifdef sign space blank eps for str ini pri https://vjudge.net/problem/UVALive-7041 題意 給出兩個僅包含小寫字符的字符串 A 和 B ; 求:對於 A 中的每個回文子串,B 中和該子串相同

讀《Tooth-Marked Tongue Recgnition Using Multiple Instance Learning and CNN Features》

本人 組會彙報的一篇關於齒痕舌判定的文章,貼上PPT 涉及多示例學習和神經網路方面知識。                    

15.Relational inductive biases, deep learning, and graph networks

關係歸納偏置、深度學習、圖網路 摘要 人工智慧(AI)最近經歷了一次復興,在視覺、語言、控制和決策等關鍵領域取得了重大進展。這在一定程度上要歸因於廉價的資料和廉價的計算資源,因為這些資源符合深度學習的自然優勢。然而,在不同的壓力下發展起來的人類智力的許多決定性特徵,仍然是當前方法無法實現的。

Anle138b Slows Down the Onset and Progression of Parkinson’s Disease

www.inhandnetworks.com In a mouse model of Parkinson’s disease, animals treated with Anle138b were found to form significantly fewer synuclein a

論文筆記 Multiomdal Learning and Reasoning for Visual Question Answering (NIPS 2017)

文章的主要貢獻點如下:值得學習的是,文章的寫作挺好的。 文章的一個主要思想就是modular neural network,通過學習關於question與image的多模態(multimodal)與多方面(multifaceted)的表徵,在VQA1.與VQA2.0上取得不錯效果。

1.Intro to Deep Learning and Computer Vision

Intro 這是Kaggle深度學習教育課程的第一課。 在本課程結束後,您將瞭解卷積。 卷積是計算機視覺(以及許多其他應用程式)中深度學習模型的基本構建塊。 之後,我們將很快開始使用世界一流的深度學習模型。 Lesson [1] from IPython.displ

機器學習(Machine Learning and Data Mining)CS 5751——Lab1作業記錄

Activity3 繪製散點圖矩陣,顯示屬性之間的相關性: mpg,hp,disp,drat,wt,qsec。 使用散點圖,評論哪些屬性對具有最高的相關性。 plot(mtcars$wt, mtcars$mpg, main="WT vs. MPG", xla

Slow down

2018年10月31日 17:07:47 八家鋪子 閱讀數:3 個人分類: c++

Machine Learning is Fun! Part 3: Deep Learning and Convolutional Neural Networks

We can train this kind of neural network in a few minutes on a modern laptop. When it’s done, we’ll have a neural network that can recognize pictures of “8

Machine Learning is Fun Part 5: Language Translation with Deep Learning and the Magic of Sequences

Making Computers TranslateSo how do we program a computer to translate human language?The simplest approach is to replace every word in a sentence with the

Keep Learning】學習Spark、CarbonData 、Alluxio等,且為其Contributor,Github為:https://github.com/xubo245。歡迎微信聯絡601450868!

學習Spark、CarbonData 、Alluxio等,且為其Contributor,Github為:https://github.com/xubo245。歡迎微信聯絡601450868!...

【譯】Relational inductive biases, deep learning, and graph network(未完成)

關係歸納偏置、深度學習、圖網路 摘要   人工智慧(AI)最近經歷了一次復興,在視覺、語言、控制和決策等關鍵領域取得了重大進展。這在一定程度上要歸因於廉價的資料和廉價的計算資源,因為這些資源符合深度學習的自然優勢。然而,在不同的壓力下發展起來的人類智力的許多決定性特徵,仍然是當前方法

Keep Learning(學習Spark、CarbonData 、Alluxio等,且為其Contributor,Github為:https://github.com/xubo245。歡迎微信聯絡601450868!)

學習Spark、CarbonData 、Alluxio等,且為其Contributor,Github為:https://github.com/xubo245。歡迎微信聯絡601450868!...

We Need a Cyber Arms Control Treaty to Keep Hospitals and Power Grids Safe from Hackers

This story is for Medium members.Continue with FacebookContinue with GoogleMedium curates expert stories from leading publishers exclusively for members (w

bcr vidcast 112: Machine learning and how we will deal with it

Welcome to the Better Communication Results vidcast, edition 112. In today's edition, we find: SAP Analytics Cloud has published a useful intro to AI. Au