新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 如何實(shí)現(xiàn)模擬人類視覺注意力的循環(huán)神經(jīng)網(wǎng)絡(luò)?

如何實(shí)現(xiàn)模擬人類視覺注意力的循環(huán)神經(jīng)網(wǎng)絡(luò)?

作者: 時(shí)間:2018-07-30 來源:網(wǎng)絡(luò) 收藏

我們觀察PPT的時(shí)候,面對(duì)整個(gè)場(chǎng)景,不會(huì)一下子處理全部場(chǎng)景信息,而會(huì)有選擇地分配注意力,每次關(guān)注不同的區(qū)域,然后將信息整合來得到整個(gè)的視覺印象,進(jìn)而指導(dǎo)后面的眼球運(yùn)動(dòng)。將感興趣的東西放在視野中心,每次只處理視野中的部分,忽略視野外區(qū)域,這樣做最大的好處是降低了任務(wù)的復(fù)雜度。

本文引用地址:http://m.butianyuan.cn/article/201807/384538.htm

深度學(xué)習(xí)領(lǐng)域中,處理一張大圖的時(shí)候,使用卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算量隨著圖片像素的增加而線性增加。如果參考人的視覺,有選擇地分配注意力,就能選擇性地從圖片或視頻中提取一系列的區(qū)域,每次只對(duì)提取的區(qū)域進(jìn)行處理,再逐漸地把這些信息結(jié)合起來,建立場(chǎng)景或者環(huán)境的動(dòng)態(tài)內(nèi)部表示,這就是本文所要講述的循環(huán)神經(jīng)網(wǎng)絡(luò)注意力模型。

怎么實(shí)現(xiàn)的呢?

把注意力問題當(dāng)做一系列agent決策過程,agent可以理解為智能體,這里用的是一個(gè)RNN網(wǎng)絡(luò),而這個(gè)決策過程是目標(biāo)導(dǎo)向的。簡(jiǎn)要來講,每次agent只通過一個(gè)帶寬限制的觀察環(huán)境,每一步處理一次數(shù)據(jù),再把每一步的數(shù)據(jù)隨著時(shí)間融合,選擇下一次如何配置資源;每一步會(huì)接受一個(gè)標(biāo)量的獎(jiǎng)勵(lì),這個(gè)agent的目的就是最大化標(biāo)量獎(jiǎng)勵(lì)值的總和。

下面我們來具體講解一下這個(gè)網(wǎng)絡(luò)。

如上所示,圖A是帶寬傳感器,傳感器在給定位置選取不同分辨率的圖像塊,大一點(diǎn)的圖像塊的邊長(zhǎng)是小一點(diǎn)圖像塊邊長(zhǎng)的兩倍,然后resize到和小圖像塊一樣的大小,把圖像塊組輸出到B。

圖B是glimpse network,這個(gè)網(wǎng)絡(luò)是以theta為參數(shù),兩個(gè)全連接層構(gòu)成的網(wǎng)絡(luò),將傳感器輸出的圖像塊組和對(duì)應(yīng)的位置信息以線性網(wǎng)絡(luò)的方式結(jié)合到一起,輸出gt。

圖C是循環(huán)神經(jīng)網(wǎng)絡(luò)即RNN的主體,把glimpse network輸出的gt投進(jìn)去,再和之前內(nèi)部信息ht-1結(jié)合,得到新的狀態(tài)ht,再根據(jù)ht得到新的位置lt和新的行為at,at選擇下一步配置傳感器的位置和數(shù)量,以更好的觀察環(huán)境。在配置傳感器資源的時(shí)候,agent也會(huì)受到一個(gè)獎(jiǎng)勵(lì)信號(hào)r,比如在識(shí)別中,正確分類r是1,錯(cuò)誤分類r是0,agent的目標(biāo)是最大化獎(jiǎng)勵(lì)信號(hào)r的和:

梯度的近似可以表示為:

公式(1)也叫做增強(qiáng)學(xué)習(xí)的規(guī)則,它包括運(yùn)用當(dāng)前的策略運(yùn)行agent去獲得交互序列,然后根據(jù)可以增大獎(jiǎng)勵(lì)信號(hào)的行為調(diào)整theta。它的訓(xùn)練過程就是用增強(qiáng)學(xué)習(xí)的方法學(xué)習(xí)具體任務(wù)策略。關(guān)于給定任務(wù),根據(jù)模型做出的一系列決定給出表現(xiàn)評(píng)價(jià),最大化表現(xiàn)評(píng)價(jià),對(duì)其進(jìn)行端到端的優(yōu)化。

首先為什么要用增強(qiáng)學(xué)習(xí)呢?因?yàn)閿?shù)據(jù)的狀態(tài)不是非常明確的,不是可以直接監(jiān)督或者非監(jiān)督來訓(xùn)練的,比如機(jī)器人的控制很難完全精確。

那么什么是增強(qiáng)學(xué)習(xí)呢?

增強(qiáng)學(xué)習(xí)關(guān)注的是智能體如何在環(huán)境中采取一系列行為,從而獲得最大的累積回報(bào)。RL是從環(huán)境狀態(tài)到動(dòng)作的映射的學(xué)習(xí),我們把這個(gè)映射稱為策略。通過增強(qiáng)學(xué)習(xí),一個(gè)智能體(agent)應(yīng)該知道在什么狀態(tài)下應(yīng)該采取什么行為。

假設(shè)一個(gè)智能體處于下圖(a)中所示的4x3的環(huán)境中。從初始狀態(tài)開始,它需要每個(gè)時(shí)間選擇一個(gè)行為(上、下、左、右)。在智能體到達(dá)標(biāo)有+1或-1的目標(biāo)狀態(tài)時(shí)與環(huán)境的交互終止。如果環(huán)境是確定的,很容易得到一個(gè)解:[上,上,右,右,右]??上е悄荏w的行動(dòng)不是可靠的(類似現(xiàn)實(shí)中對(duì)機(jī)器人的控制不可能完全精確),環(huán)境不一定沿這個(gè)解發(fā)展。下圖(b)是一個(gè)環(huán)境轉(zhuǎn)移模型的示意,每一步行動(dòng)以0.8的概率達(dá)到預(yù)期,0.2的概率會(huì)垂直于運(yùn)動(dòng)方向移動(dòng),撞到(a)圖中黑色模塊后會(huì)無法移動(dòng)。兩個(gè)終止?fàn)顟B(tài)分別有+1和-1的回報(bào),其他狀態(tài)有-0.4的回報(bào)?,F(xiàn)在智能體要解決的是通過增強(qiáng)學(xué)習(xí)(不斷的試錯(cuò)、反饋、學(xué)習(xí))找到最優(yōu)的策略(得到最大的回報(bào))。

上述問題可以看作為一個(gè)馬爾科夫決策過程,最終的目標(biāo)是通過一步步?jīng)Q策使整體的回報(bào)函數(shù)期望最優(yōu)。

提到馬爾科夫,大家通常會(huì)立刻想起馬爾可夫鏈(Markov Chain)以及機(jī)器學(xué)習(xí)中更加常用的隱式馬爾可夫模型(Hidden Markov Model, HMM)。它們都具有共同的特性便是馬爾可夫性:當(dāng)一個(gè)隨機(jī)過程在給定現(xiàn)在狀態(tài)及所有過去狀態(tài)情況下,未來狀態(tài)的條件概率分布僅依賴于當(dāng)前狀態(tài);換句話說,在給定現(xiàn)在狀態(tài)時(shí),它與過去狀態(tài)是條件獨(dú)立的,那么此隨機(jī)過程即具有馬爾可夫性質(zhì)。具有馬爾可夫性質(zhì)的過程通常稱之為馬爾可夫過程。

馬爾可夫決策過程(Markov Decision Process),其也具有馬爾可夫性,與上面不同的是MDP考慮了動(dòng)作,即系統(tǒng)下個(gè)狀態(tài)不僅和當(dāng)前的狀態(tài)有關(guān),也和當(dāng)前采取的動(dòng)作有關(guān)。

一個(gè)馬爾科夫決策過程(Markov Decision Processes, MDP)有五個(gè)關(guān)鍵元素組成{S,A,{Psa},γ,R},其中:

這個(gè)就是馬爾科夫決策過程。講完馬爾科夫決策之后我們回過頭回顧一下訓(xùn)練的過程:每次agent只通過一個(gè)帶寬限制的傳感器觀察環(huán)境,每一步處理一次傳感器數(shù)據(jù),再把每一步的數(shù)據(jù)隨著時(shí)間融合,選擇下一次如何配置傳感器資源;每一步會(huì)接受一個(gè)標(biāo)量的獎(jiǎng)勵(lì),這個(gè)agent的目的就是最大化標(biāo)量獎(jiǎng)勵(lì)值的總和。

注意力模型的效果如何

把注意力模型和全連接網(wǎng)絡(luò)以及卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行比較,實(shí)驗(yàn)證明了模型可以從多個(gè)glimpse結(jié)合的信息中成功學(xué)習(xí),并且學(xué)習(xí)的效果優(yōu)于卷積神經(jīng)網(wǎng)絡(luò)。

由于注意力模型可以關(guān)注圖像相關(guān)部分,忽視無關(guān)部分,所以能夠在在有干擾的情況下識(shí)別,識(shí)別效果也是比其他網(wǎng)絡(luò)要好的。下面這個(gè)圖表現(xiàn)的是注意力的路徑,表明網(wǎng)絡(luò)可以避免計(jì)算不重要的部分,直接探索感興趣的部分。

基于循環(huán)神經(jīng)網(wǎng)絡(luò)的注意力模型比較有特色的地方就在于:

● 提高計(jì)算效率,處理比較大的圖片的時(shí)候非常好用;

● 阻塞狀態(tài)下也能識(shí)別。

我們講了半天,一個(gè)重要的概念沒有講,下面來講講循環(huán)神經(jīng)網(wǎng)絡(luò)RNN。

我們做卷積神經(jīng)網(wǎng)絡(luò)的時(shí)候樣本的順序并不受到關(guān)注,而對(duì)于自然語言處理,語音識(shí)別,手寫字符識(shí)別來說,樣本出現(xiàn)的時(shí)間順序是非常重要的,RNNs出現(xiàn)的目的是來處理時(shí)間序列數(shù)據(jù)。

這個(gè)網(wǎng)絡(luò)最直觀的印象是什么呢,就是線多。在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型中,是從輸入層到隱含層再到輸出層,層與層之間是全連接的,每層的節(jié)點(diǎn)之間是無連接的。但是這種普通的神經(jīng)網(wǎng)絡(luò)對(duì)于很多問題卻沒有辦法。例如,要預(yù)測(cè)句子的下一個(gè)單詞,一般需要用到前面的單詞,因?yàn)橐粋€(gè)句子中前后單詞并不是獨(dú)立的。RNNs之所以稱為循環(huán)神經(jīng)網(wǎng)路,即一個(gè)序列當(dāng)前的輸出與前面的輸出也有關(guān),網(wǎng)絡(luò)會(huì)對(duì)前面的信息進(jìn)行記憶并應(yīng)用于當(dāng)前輸出的計(jì)算中,具體的表現(xiàn)形式為即隱藏層之間的節(jié)點(diǎn)不再無連接而是有連接的,并且隱藏層的輸入不僅包括輸入層的輸出還包括上一時(shí)刻隱藏層的輸出。理論上,RNNs能夠?qū)θ魏伍L(zhǎng)度的序列數(shù)據(jù)進(jìn)行處理。但是在實(shí)踐中,為了降低復(fù)雜性往往假設(shè)當(dāng)前的狀態(tài)只與前面的幾個(gè)狀態(tài)相關(guān),下圖便是一個(gè)典型的RNNs:

T時(shí)刻的輸出是該時(shí)刻的輸入和所有歷史共同的結(jié)果,這就達(dá)到了對(duì)時(shí)間序列建模的目的。RNN可以看成一個(gè)在時(shí)間上傳遞的神經(jīng)網(wǎng)絡(luò),它的深度是時(shí)間的長(zhǎng)度。對(duì)于t時(shí)刻來說,它產(chǎn)生的梯度在時(shí)間軸上向歷史傳播幾層之后就消失了,根本就無法影響太遙遠(yuǎn)的過去。因此,之前說“所有歷史”共同作用只是理想的情況,在實(shí)際中,這種影響也就只能維持若干個(gè)時(shí)間戳。

為了解決時(shí)間上的梯度消失,機(jī)器學(xué)習(xí)領(lǐng)域發(fā)展出了長(zhǎng)短時(shí)記憶單元LSTM,通過門的開關(guān)實(shí)現(xiàn)時(shí)間上記憶功能,并防止梯度消失。

RNN還可以用在生成圖像描述之中,用CNN網(wǎng)絡(luò)做識(shí)別和分類,用RNN網(wǎng)絡(luò)產(chǎn)生描述語句,這就是李飛飛的實(shí)驗(yàn)室所研究的內(nèi)容。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉