呂冬健,王春立
大連海事大學 信息科學技術學院,遼寧 大連 116026
細粒度圖像識別已經被廣泛地研究了多年[1-3]。細粒度圖像識別技術非常適合于多媒體信息讀取和內容分析,例如細粒度圖片搜索[4]、服裝搜索及推薦[5]、食物識別[6]、動物識別[7]、地標分類[8]等。根據研究重點的不同,細粒度識別可以劃分為表示學習、部分一致性模型和對數據的強調三大類。第一類通過構造隱性的強大特征表示,例如雙線性池化或壓縮線性池化[9],對于細粒度圖像識別的提升非常大。第二類通過讓特征局部化來有效地處理較大的類內差異和細微的類間差異。第三類研究數據集圖片尺寸的重要性[10]。通過使用更大圖片的數據集在多種細粒度數據集上得到了較好的結果。
其中第二類的對齊方法自動地找到具有辨識力的部位并且對齊這些部位。非監督模板學習[9]尋找物體的相同幾何模型部位用于細粒度圖像識別。在對齊類別任務[11-12]中圖片首先被分割然后物體根據不同部位提取的特征粗略地對齊。模型通過分割和部位局部化更新結果。最后,每個部位的特征被提取并用于分類。通過將發現的關鍵點對應到圖片中的關鍵點,低級特征和高級特征被整合用于分類[13]。
從細粒度圖片分類中得到的重要的啟示是物體的局部特征在辨別物體類別中起到重要的作用。例如狗的頭部特征在區別不同種類的狗中起到重要作用。受這一現象的啟發,大部分的細粒度圖片識別的方法[9,14]是首先定位目標物體或物體局部的位置,然后提取分類的特征。局部方法[14]主要使用非監督方式去識別物體的大體位置,其他方法[9]使用邊界框或局部注釋。但這些方式都存在一定的局限性:首先人為定義的局部區域并不一定對于分類任務是最優解,其次手工將物體裁剪并定義邊界框是非常費時費力的,很難用于實踐,而定義圖片標簽卻容易得多。最后,非監督方式會生成大量的候選區域,處理這些候選區域會消耗大量計算資源。
受人類注意力啟發,循環視覺注意力模型(recurrent visual attention model,RAM)被提出并運用在目標識別中[1]。RAM是一個遞歸選擇機制的深度循環神經結構,它模仿人類視覺系統,能夠抑制圖片中不相關部分,并從復雜的環境中提取有辨識力的特征。其中神經網絡通過注意力控制圖片中局部區域的位置。視覺注意力模型是一種特殊類型的反饋神經網絡[15]。反饋神經網絡是一種使用高級特征去提取低級特征的特殊循環神經網絡。反饋神經網絡使用自頂向下和自底向上的方法計算網絡中間層[16]。最近,將注意力模塊融入網絡中以提高網絡的性能開始成為趨勢,并在自然語言處理和圖像處理方面取得了良好的效果[17]。Ba等人[18]利用RAM識別圖片中的多個物體。因為細粒圖片通常需要將局部區域之間進行比較,Sermanet等人[19]將RAM應用到細粒度圖片識別。除了細粒圖片識別,注意力模型也被應用在不同的機器學習領域中包括機器翻譯[17]、圖像捕捉[20]、圖片問題回答[21]和視頻活動識別。這顯著提高了識別準確率[15],尤其是對細粒度物體的識別[16-17]。RAM也能夠在有限的計算資源下處理高分辨率的圖片,通過學習并確定重點關注的目標區域,使模型能夠在有限資源下關注最有效的信息[22]。
除了注意力之外,當觀察不同的物體時,人類會動態地選擇注意力區域的大小。區域的大小取決于被觀察的物體和所在的背景。這樣的視覺注意力機制自然地勝任細粒度圖片分類任務。因此許多基于視覺注意力的模型在近幾年內被提出[14]。然而,這些視覺注意力模型很難一次性找到多個視覺辨識區域。并且注意到類間差別通常存在于物體的局部區域,例如鳥的嘴和腿。由于尺寸太小現有的模型很難將它們進行定位。因此,通過模型自主學習找到這些區域對于提升視覺注意力模型的準確度是有幫助的。受此啟發,本文提出可變尺寸循環注意力模型(variable size recurrent attention model,VSRAM)。在每一個時間步,模型不只生成下次注意位置坐標,同時還生成下次注意力尺寸。這使得VSRAM擁有更大的靈活性并且減少了計算的區域從而節省了計算資源。
循環注意力模型又稱為部分可觀察的馬爾可夫決策過程(partially observable Markov decision process,POMDP)。在每一個時間步中,模型作為代理通過環境的觀察執行一個動作并得到獎勵。代理控制如何行動并且會影響環境的狀態。在RAM中,動作對應于注意力的位置。觀測是在圖片中截取的局部(部分可觀察)區域。獎勵是衡量截取圖片區域的質量。學習的目標是找到最佳的策略來通過環境的觀察生成注意力使得積累的獎勵最大。
循環注意力模型定義輸入圖片x和總共注意次數T。在每個時間步t∈{1,2,…,T} ,模型在位置lt-1截取一個局部區域φ(x,lt-1),其中lt-1是在上一個時間步中計算出來的。之后模型的循環神經網絡更新內部狀態ht:

式中,ht的參數是θh。模型之后分成兩支。一支是位置網絡fl(ht,θl)控制位置的生成,參數是θl;另一支是基準網絡fb(ht,θb),負責判斷位置生成的質量,參數是θb。在訓練過程中,位置網絡根據策略π(lt|fl(ht,θl) )生成注意力位置。圖1表示RAM的推理過程。

圖1 循環注意力模型Fig.1 Recurrent attention model
目前在RAM中截取局部區域的策略是固定局部區域的尺寸,完全通過注意力關注圖片的不同局部區域來完成圖像識別功能。
VSRAM模型的結構主要包括6個部分:特征提取網絡、視覺注意力網絡、位置網絡、尺寸網絡、基準網絡和分類網絡。特征提取網絡主要作用是將原圖截取指定的位置和尺寸后的圖片作為輸入圖片輸入到特征提取網絡中,其中位置lt和尺寸st是上一個時間步中生成的。本實驗采用在ImageNet上預訓練模型的VGG16作為特征提取器。視覺注意力網絡采用隱藏狀態大小為512的LSTM,輸入圖片特征向量gt和上一次的隱藏狀態ht-1,輸出本次隱藏狀態ht。位置網絡、尺寸網絡、基準網絡和分類網絡都是全連接網絡。輸入ht輸出對應的位置lt、尺寸st、基準bt,如果是最后一次則輸出最后的分類結果。
在推理中,模型根據上一時間步中生成的注意力位置lt和尺寸st從當前圖片中截取出局部區域作為輸入圖片輸入到位置網絡fl(ht,θl)和尺寸網絡fs(ht,θs)中,并根據各自的策略π(lt|fl(ht,θl))和π(st|fs(ht,θs) )生成注意力位置lt+1和尺寸st+1。

圖2為模型的示意圖。跟圖1相比,在每個時間步中根據當前生成的隱藏狀態ht生成下次輸入圖片的尺寸st+1。當視野中出現目標物體時,期望模型能夠自動調整注意力區域的位置和尺寸,使模型能夠在幾次注意力中盡可能多的獲取物體的特征,并且截取盡可能少的注意力區域,從而提高識別的準確度,節省計算資源。

圖2 改進后的循環注意力模型Fig.2 Improved recurrent attention model
VSRAM是一個遞歸選擇機制的深度循環神經網絡,其中每一次遞歸的網絡稱為結構。循環神經網絡模型和非循環神經網絡模型的區別是在推理中循環神經網絡模型結構同時依賴于輸入x和參數θ。因為每次的輸入尺寸s不同,所以結構S也不同。而非循環神經網絡模型的結構S只由參數θ決定,跟輸入x無關。
在每次循環的結構S中給定一個輸入圖片x,輸入當前結構S中的RAM模型中生成隱藏狀態ht,根據ht生成的下一次輸入位置l和尺寸s,由尺寸決定下一次循環的結構S,因此選擇計算結構S的概率是P( )
S|x,θ,當結構S的模型空間被定義后,這個概率可以使用神經網絡來估計。在訓練過程中網絡結構的損失函數是因此整體的損失期望是:

期望的第一項與強化算法[23]相同,使模型的損失越來越小。第二項是固定結構神經網絡的標準梯度。
在實驗中,直接計算L對于θ的梯度是非常困難的,因為在訓練中需要估計的結構有太多可能性。因此首先生成一組結構的數據,然后使用蒙特卡洛模擬[23]近似的計算梯度,M為VSRAM的遞歸次數,St為第i次遞歸的結構:

盡管公式(4)中的損失可以直接被優化,但使用獎勵函數R可以減少判別器的方差[15]。給定訓練集圖片和標簽(xn,yn)n=1,2,…,N,N為數據集中圖片的總數。通過計算如下梯度逐漸優化可變尺寸循環注意力模型網絡參數:

其中,θ={θf,θl,θa,θc}分別是循環神經網絡、注意力位置網絡、注意力尺寸網絡和分類網絡的參數。
對比公式(4)、公式(5)在第一項中使用獎勵函數R取代給定結構Ls的損失。
公式(6)是結構S的生成策略:

公式(7)給出了在T(n)次時間步中第n次的積累折扣獎勵:

折扣因子γ控制著對做出正確分類和注意次數的取舍,在訓練時分別訓練兩個模型使用不同的折扣因子(0.97和0.93)以作為對比。
rnt是第t次的獎勵,如等式(8)所示:

其中,rp為正確率獎勵。如果模型輸出結果正確則獎勵rp設為1,否則為0;rs為尺寸獎勵,尺寸獎勵rs的設置如等式(9)所示:

其中,si為輸入圖片的尺寸,st為模型生成的尺寸。模型生成尺寸的平方與尺寸獎勵成反比,這樣設置使模型趨向于選擇n次遞歸中總面積最小的策略。由于給與模型正獎勵rnt會導致模型無限趨向于選擇小尺寸而忽略正確率,因此本文使用負獎勵的獎勵rnt設置方式(即錯誤識別扣1分,如果正確識別,總面積小的扣分少,總面積大的扣分多,但是正確識別扣分少于錯誤識別的扣分)。這樣設置可以使模型在保證正確率的前提下選擇生成總面積最小的尺寸策略。
使用三個經典的數據集評估VSRAM模型的性能:MNIST、Stanford Car和CUB-200-2001數據集。這三個數據集的統計信息如表1所示。這些數據集的示例圖片如圖3所示。MNIST數據集是機器學習領域中非常經典的一個數據集,由60 000個訓練樣本和10 000個測試樣本組成,每個樣本都是一張28×28像素的灰度手寫數字圖片。Stanford Cars數據集包含16 185張圖片和196個汽車類別。類別注釋包括上市時間、生產廠商、型號。例如:2012 Tesla Model S和2012 BMW M3 coupe。CUB-200-2001包含11 778張圖片和200種鳥類別。其中訓練集有5 994張,測試集有5 794張。它提供豐富的注解,包括圖片標簽、物體邊界框、屬性注釋和關鍵部位區域。這些數據集在每一張圖片中都包含了邊界框,CUB-200-2001還包含了關鍵部位信息但是本實驗中并未使用。從這些示例圖片中可以看出圖片內容比較復雜,并且有背景聚集,因此圖片分類任務比較具有挑戰性。

表1 數據集的統計信息Table 1 Dataset statistics

圖3 數據集的示例圖片Fig.3 Example from dataset
所有圖片首先標準化為尺寸256×256,然后在其中隨機截取尺寸為224×224的圖片作為輸入圖片輸入到特征提取網絡中。特征提取網絡采用在ImageNet預訓練的VGG16模型進行微調,其中VGG16只采用特征提取部分而不使用全連接層的分類部分。輸入圖片經過特征提取網絡后輸出1×1的特征向量。位置坐標和尺寸經過全連接層網絡后得到的特征向量與圖片特征向量合并后輸入視覺注意力模型。視覺注意力模型采用LSTM,并且設置隱藏層為512。基準網絡、位置網絡、尺寸網絡和分類網絡都為全連接網絡。
模型使用ADAM優化算法訓練200個epoch,初始學習率設為0.003,當大于20個epoch準確率沒有提升時,學習率降為原來的0.1。批處理大小設為64。雖然數據集提供了邊界框和局部注釋,本實驗過程中并沒有使用。
計算時間:本實驗基于PyTorch。計算時間主要取決于輸入圖片的分辨率和主干網絡結構,由于本實驗中每個批處理中的輸入圖片均不一樣,所以在提取圖片特征時一次只能處理一張圖片,因此處理速度比較慢。使用VGG16特征提取器處理一張圖片的平均時間是35.36 ms。3步RAM耗時106.09 ms,因為需要循環3次也就是使用VGG16提取3次特征。
MNIST:訓練兩個使用不同的折扣因子的VSRAM模型。一個使用較小的折扣因子(discount factor)為0.93,另一個使用較大的折扣因子為0.97。較小的折扣因子鼓勵模型看中短期的利益,在當前時間步獲取較大的獎勵。較大的折扣因子看中長遠的利益,在幾個時間步獲得總的最大利益。因此第一個模型趨向于在單次時間步中選擇較大的局部區域,而第二個模型趨向于在多次時間步中選擇出不同的較小局部區域,并且總面積最小。
表2總結了不同模型在MNIST數據集上的表現。在相同的步數下,VSRAM比RAM的準確率更高。比如,VSRAM-1用3步達到了1.45%的錯誤率而RAM用了4步得到1.54%的錯誤率。同樣的,VSRAM-2用5步達到1.23%的錯誤率而RAM用5步達到1.34%的錯誤率。

表2 在MNIST數據集上的相關對比Table 2 Comparison to related work on MNIST
CUB-200-2011:本文在CUB-200-2011數據集上與各種已公布的方法進行對比,結果如表3所示。通過觀察可以看出雙線性CNN(84.1%~84.2%),Spatial Transformer Network(84.1%)和雙線性池化網絡(84.2%)等方法的準確率基本相近。

表3 在CUB-200-2011數據集上與各種已公布的方法進行對比Table 3 Comparison to related work on CUB-200-2011 dataset %
另外,經過仔細微調的50層殘差網絡的準確率是84.5%,超過了絕大多數的方法。通過增加3步的循環注意力模型(RAM)可以達到85.3%,將殘差網絡的基準提高了0.8個百分點。VSRAM的應用提升了RAM的性能,到達RAM相同的準確率只需要用2步。
Stanford Cars:本文同樣在Stanford Cars數據集上做了延伸對比,結果如表4所示。經過微調的50層殘差網絡在測試集上達到了92.3%的準確率,超過了大部分的模型。這表明沒有任何修改或額外邊界框注釋的深層網絡可以成為細粒度識別的首選模型。

表4 在Stanford Cars數據集上與各種已公布的方法進行對比Table 4 Comparison to related work on Stanford Cars dataset %
將3步RAM應用在殘差網絡使模型準確率提升到92.9%。VSRAM同樣只用2步達到和RAM同樣的準確率。同時可以觀察到增加RAM模型的準確率提升并不大。
圖4為3步VSRAM在Stanford Cars數據集下的效果示意圖??梢钥闯瞿P涂梢栽诿恳粋€時間步中自動尋找圖中最有辨識度的局部區域,并且盡可能合理地分配每個時間步的局部區域尺寸從而保證3次局部區域面積的總和最小。

圖4 3步VSRAM注意力區域示意圖Fig.4 Example of three steps VSRAM attention areas
本文提出一種使用強化學習在推斷時動態調節輸入圖片尺寸簡單新穎的方法。將該方法應用在循環注意力模型中并展示了在細粒度圖像識別中的效果。相信該方法在將循環神經網絡融合到圖像識別中的研究有一定的積極影響。未來可以進行更復雜模型的研究,并將模型應用到更復雜的任務中,比如GAN等。