|
引言:在機(jī)器翻譯(Machine Translation)或者自然語言處理(Natural Language Processing)領(lǐng)域,以前都是使用數(shù)理統(tǒng)計(jì)的方法來進(jìn)行分析和處理。近些年來,隨著 AlphaGo 的興起,除了在游戲AI領(lǐng)域,深度學(xué)習(xí)在計(jì)算機(jī)視覺領(lǐng)域,機(jī)器翻譯和自然語言處理領(lǐng)域也有著巨大的用武之地。在 2014 年,隨著深度學(xué)習(xí)的進(jìn)一步發(fā)展,seq2seq 的訓(xùn)練模式和翻譯模式已經(jīng)開始進(jìn)入人們的視野。除此之外,在端到端的訓(xùn)練方法中,除了需要海量的業(yè)務(wù)數(shù)據(jù)之外,在網(wǎng)絡(luò)結(jié)構(gòu)中加入一些重要的模塊也是非常必要的。在此情形下,基于循環(huán)神經(jīng)網(wǎng)咯(Recurrent Neural Network)的注意力機(jī)制(Attention Mechanism)進(jìn)入了人們的視野。除了之前提到的機(jī)器翻譯和自然語言處理領(lǐng)域之外,計(jì)算機(jī)視覺中的注意力機(jī)制也是十分有趣的,本文將會(huì)簡(jiǎn)要介紹一下計(jì)算機(jī)視覺領(lǐng)域中的注意力方法。在此事先聲明一下,筆者并不是從事這幾個(gè)領(lǐng)域的,可能在撰寫文章的過程中會(huì)有些理解不到位的地方,請(qǐng)各位讀者指出其中的不足。 注意力機(jī)制 顧名思義,注意力機(jī)制是本質(zhì)上是為了模仿人類觀察物品的方式。通常來說,人們?cè)诳匆粡垐D片的時(shí)候,除了從整體把握一幅圖片之外,也會(huì)更加關(guān)注圖片的某個(gè)局部信息,例如局部桌子的位置,商品的種類等等。在翻譯領(lǐng)域,每次人們翻譯一段話的時(shí)候,通常都是從句子入手,但是在閱讀整個(gè)句子的時(shí)候,肯定就需要關(guān)注詞語本身的信息,以及詞語前后關(guān)系的信息和上下文的信息。在自然語言處理方向,如果要進(jìn)行情感分類的話,在某個(gè)句子里面,肯定會(huì)涉及到表達(dá)情感的詞語,包括但不限于“高興”,“沮喪”,“開心”等關(guān)鍵詞。而這些句子里面的其他詞語,則是上下文的關(guān)系,并不是它們沒有用,而是它們所起的作用沒有那些表達(dá)情感的關(guān)鍵詞大。 在以上描述下,注意力機(jī)制其實(shí)包含兩個(gè)部分:
通常來說,在機(jī)器翻譯或者自然語言處理領(lǐng)域,人們閱讀和理解一句話或者一段話其實(shí)是有著一定的先后順序的,并且按照語言學(xué)的語法規(guī)則來進(jìn)行閱讀理解。在圖片分類領(lǐng)域,人們看一幅圖也是按照先整體再局部,或者先局部再整體來看的。再看局部的時(shí)候,尤其是手寫的手機(jī)號(hào),門牌號(hào)等信息,都是有先后順序的。為了模擬人腦的思維方式和理解模式,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在處理這種具有明顯先后順序的問題上有著獨(dú)特的優(yōu)勢(shì),因此,Attention 機(jī)制通常都會(huì)應(yīng)用在循環(huán)神經(jīng)網(wǎng)絡(luò)上面。 雖然,按照上面的描述,機(jī)器翻譯,自然語言處理,計(jì)算機(jī)視覺領(lǐng)域的注意力機(jī)制差不多,但是其實(shí)仔細(xì)推敲起來,這三者的注意力機(jī)制是有明顯區(qū)別的。
在這種情況下,機(jī)器翻譯和自然語言處理領(lǐng)域使用基于 RNN 的 Attention 機(jī)制就變得相對(duì)自然,而計(jì)算機(jī)視覺領(lǐng)域領(lǐng)域則需要必要的改造才能夠使用 Attention 機(jī)制。 基于 RNN 的注意力機(jī)制 通常來說,RNN 等深度神經(jīng)網(wǎng)絡(luò)可以進(jìn)行端到端的訓(xùn)練和預(yù)測(cè),在機(jī)器翻譯領(lǐng)域和或者文本識(shí)別領(lǐng)域有著獨(dú)特的優(yōu)勢(shì)。對(duì)于端到端的 RNN 來說,有一個(gè)更簡(jiǎn)潔的名字叫做 sequence to sequence,簡(jiǎn)寫就是 seq2seq。顧名思義,輸入層是一句話,輸出層是另外一句話,中間層包括編碼和解碼兩個(gè)步驟。 而基于 RNN 的注意力機(jī)制指的是,對(duì)于 seq2seq 的諸多問題,在輸入層和輸出層之間,也就是詞語(Items)與詞語之間,存在著某種隱含的聯(lián)系。例如:“中國” -> “China”,“Excellent” -> “優(yōu)秀的”。在這種情況下,每次進(jìn)行機(jī)器翻譯的時(shí)候,模型需要了解當(dāng)前更加關(guān)注某個(gè)詞語或者某幾個(gè)詞語,只有這樣才能夠在整句話中進(jìn)行必要的提煉。在這些初步的思考下,基于 RNN 的 Attention 機(jī)制就是:
注意力機(jī)制的種類 從初步的調(diào)研情況來看,注意力機(jī)制有兩種方法,一種是基于強(qiáng)化學(xué)習(xí)(Reinforcement Learning)來做的,另外一種是基于梯度下降(Gradient Decent)來做的。強(qiáng)化學(xué)習(xí)的機(jī)制是通過收益函數(shù)(Reward)來激勵(lì),讓模型更加關(guān)注到某個(gè)局部的細(xì)節(jié)。梯度下降法是通過目標(biāo)函數(shù)以及相應(yīng)的優(yōu)化函數(shù)來做的。無論是 NLP 還是 CV 領(lǐng)域,都可以考慮這些方法來添加注意力機(jī)制。 計(jì)算機(jī)視覺領(lǐng)域的 Attention 部分論文整理 下面將會(huì)簡(jiǎn)單的介紹幾篇近期閱讀的計(jì)算機(jī)視覺領(lǐng)域的關(guān)于注意力機(jī)制的文章。 Look Closer to See Better:Recurrent Attention Convolutional Neural Network for Fine-grained Image Recognition 在圖像識(shí)別領(lǐng)域,通常都會(huì)遇到給圖片中的鳥類進(jìn)行分類,包括種類的識(shí)別,屬性的識(shí)別等內(nèi)容。為了區(qū)分不同的鳥,除了從整體來對(duì)圖片把握之外,更加關(guān)注的是一個(gè)局部的信息,也就是鳥的樣子,包括頭部,身體,腳,顏色等內(nèi)容。至于周邊信息,例如花花草草之類的,則顯得沒有那么重要,它們只能作為一些參照物。因?yàn)椴煌镍B類會(huì)停留在樹木上,草地上,關(guān)注樹木和草地的信息對(duì)鳥類的識(shí)別并不能夠起到至關(guān)重要的作用。所以,在圖像識(shí)別領(lǐng)域引入注意力機(jī)制就是一個(gè)非常關(guān)鍵的技術(shù),讓深度學(xué)習(xí)模型更加關(guān)注某個(gè)局部的信息。 在這篇文章里面,作者們提出了一個(gè)基于 CNN 的注意力機(jī)制,叫做 recurrent attention convolutional neural network(RA-CNN),該模型遞歸地分析局部信息,從局部的信息中提取必要的特征。同時(shí),在 RA-CNN 中的子網(wǎng)絡(luò)(sub-network)中存在分類結(jié)構(gòu),也就是說從不同區(qū)域的圖片里面,都能夠得到一個(gè)對(duì)鳥類種類劃分的概率。除此之外,還引入了 attention 機(jī)制,讓整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)不僅關(guān)注整體信息,還關(guān)注局部信息,也就是所謂的 Attention Proposal Sub-Network(APN)。這個(gè) APN 結(jié)構(gòu)是從整個(gè)圖片(full-image)出發(fā),迭代式地生成子區(qū)域,并且對(duì)這些子區(qū)域進(jìn)行必要的預(yù)測(cè),并將子區(qū)域所得到的預(yù)測(cè)結(jié)果進(jìn)行必要的整合,從而得到整張圖片的分類預(yù)測(cè)概率。 RA-CNN 的特點(diǎn)是進(jìn)行一個(gè)端到端的優(yōu)化,并不需要提前標(biāo)注 box,區(qū)域等信息就能夠進(jìn)行鳥類的識(shí)別和圖像種類的劃分。在數(shù)據(jù)集上面,該論文不僅在鳥類數(shù)據(jù)集(CUB Birds)上面進(jìn)行了實(shí)驗(yàn),也在狗類識(shí)別(Stanford Dogs)和車輛識(shí)別(Stanford Cars)上進(jìn)行了實(shí)驗(yàn),并且都取得了不錯(cuò)的效果。 從深度學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu)來看,RA-CNN 的輸入時(shí)是整幅圖片(Full Image),輸出的時(shí)候就是分類的概率。而提取圖片特征的方法通常來說都是使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)的結(jié)構(gòu),然后把 Attention 機(jī)制加入到整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中。從下圖來看,一開始,整幅圖片從上方輸入,然后判斷出一個(gè)分類概率;然后中間層輸出一個(gè)坐標(biāo)值和尺寸大小,其中坐標(biāo)值表示的是子圖的中心點(diǎn),尺寸大小表示子圖的尺寸。在這種基礎(chǔ)上,下一幅子圖就是從坐標(biāo)值和尺寸大小得到的圖片,第二個(gè)網(wǎng)絡(luò)就是在這種基礎(chǔ)上構(gòu)建的;再迭代持續(xù)放大圖片,從而不停地聚焦在圖片中的某些關(guān)鍵位置。不同尺寸的圖片都能夠輸出不同的分類概率,再將其分類概率進(jìn)行必要的融合,最終的到對(duì)整幅圖片的鳥類識(shí)別概率。 因此,在整篇論文中,有幾個(gè)關(guān)鍵點(diǎn)需要注意:
只要獲得了這些指標(biāo),就可以把整個(gè) RA-CNN 網(wǎng)絡(luò)搭建起來。
RA-CNN 的實(shí)驗(yàn)效果如下:
Multiple Granularity Descriptors for Fine-grained Categorization 這篇文中同樣做了鳥類的分類工作,與 RA-CNN 不同之處在于它使用了層次的結(jié)構(gòu),因?yàn)轼B類的區(qū)分是按照一定的層次關(guān)系來進(jìn)行的,粗糙來看,有科 -> 屬 -> 種三個(gè)層次結(jié)構(gòu)。
因此,在設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)的過程中,需要有并行的網(wǎng)絡(luò)結(jié)構(gòu),分別對(duì)應(yīng)科,屬,種三個(gè)層次。從前往后的順序是檢測(cè)網(wǎng)絡(luò)(Detection Network),區(qū)域發(fā)現(xiàn)(Region Discovery),描述網(wǎng)絡(luò)(Description Network)。并行的結(jié)構(gòu)是 Family-grained CNN + Family-grained Descriptor,Genus-grained CNN + Genus-grained Descriptor,Species-grained CNN + Species-grained Descriptor。而在區(qū)域發(fā)現(xiàn)的地方,作者使用了 energy 的思想,讓神經(jīng)網(wǎng)絡(luò)分別聚焦在圖片中的不同部分,最終的到鳥類的預(yù)測(cè)結(jié)果。
Recurrent Models of Visual Attention 在計(jì)算機(jī)視覺中引入注意力機(jī)制,DeepMind 的這篇文章 recurrent models of visual attention 發(fā)表于 2014 年。在這篇文章中,作者使用了基于強(qiáng)化學(xué)習(xí)方法的注意力機(jī)制,并且使用收益函數(shù)來進(jìn)行模型的訓(xùn)練。從網(wǎng)絡(luò)結(jié)構(gòu)來看,不僅從整體來觀察圖片,也從局部來提取必要的信息。
整體來看,其網(wǎng)絡(luò)結(jié)構(gòu)是 RNN,上一個(gè)階段得到的信息和坐標(biāo)會(huì)被傳遞到下一個(gè)階段。這個(gè)網(wǎng)絡(luò)只在最后一步進(jìn)行分類的概率判斷,這是與 RA-CNN 不同之處。這是為了模擬人類看物品的方式,人類并非會(huì)一直把注意力放在整張圖片上,而是按照某種潛在的順序?qū)D像進(jìn)行掃描。Recurrent Models of Visual Attention 本質(zhì)上是把圖片按照某種時(shí)間序列的形式進(jìn)行輸入,一次處理原始圖片的一部分信息,并且在處理信息的過程中,需要根據(jù)過去的信息和任務(wù)選擇下一個(gè)合適的位置進(jìn)行處理。這樣就可以不需要進(jìn)行事先的位置標(biāo)記和物品定位了。
Multiple Object Recognition with Visual Attention
在門牌識(shí)別里面,該網(wǎng)絡(luò)是按照從左到右的順序來進(jìn)行圖片掃描的,這與人類識(shí)別物品的方式極其相似。除了門牌識(shí)別之外,該論文也對(duì)手寫字體進(jìn)行了識(shí)別,同樣取得了不錯(cuò)的效果。
實(shí)驗(yàn)效果如下:
總結(jié) 本篇 文章初步介紹了計(jì)算機(jī)視覺中的 Attention 機(jī)制,除了這些方法之外,應(yīng)該還有一些更巧妙的方法,希望各位讀者多多指教。 參考文獻(xiàn)
|
|
|