彭姣麗 李凌云 孫 興 駱又麟 肖柏元
(湖南環(huán)境生物職業(yè)技術(shù)學(xué)院,湖南 衡陽 421000)
自動生成圖像描述(Image Captioning)[1]可以是在理解圖像的基礎(chǔ)上,根據(jù)輸入圖像的內(nèi)容自動生成相應(yīng)的描述性語句,這種描述性語句為文本形式,其本質(zhì)是輔助計算機理解圖像。圖像描述的早期研究主要集中在提取低級特征上,例如對圖像邊緣、拐角和光流進行特征提取。隨著具有高質(zhì)量標(biāo)注的大規(guī)模圖像數(shù)據(jù)集和大幅度提高運算速度的硬件創(chuàng)新圖像處理器出現(xiàn),深度神經(jīng)網(wǎng)絡(luò)重新進入人們的視野[2]。在深度神經(jīng)網(wǎng)絡(luò)的相關(guān)方法中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)解決了計算機視覺領(lǐng)域中的許多問題,而循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)和長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)被廣泛應(yīng)用于序列學(xué)習(xí),例如機器翻譯和圖像描述等[3]。
與人工智能領(lǐng)域的其他算法相比,深度學(xué)習(xí)有很好的特征學(xué)習(xí)能力,在圖像識別、文本分類、圖像描述和故障檢測等領(lǐng)域中都得到了廣泛應(yīng)用,具有較高的研究價值,受到社會各個領(lǐng)域?qū)<?、學(xué)者的青睞[4]。因此,將深度學(xué)習(xí)技術(shù)應(yīng)用到自動生成圖像描述問題中,具有非常重要的研究價值和應(yīng)用價值。
感知機可以接收多個輸入信號,最后輸出1 個信號。輸入信號被送往神經(jīng)元,分別乘以固定的權(quán)重,以計算送過來的信號總和,通過判斷總和是否超過某個界限值來判斷是否輸出。感知機的模型如圖1 所示。
圖1 感知機模型
感知機接收2 個輸入信號(x1、x2),輸出信號為y,如公式(1)所示。
b可以控制神經(jīng)元激活的容易程度,w1和w2可以控制各個信號的重要程度。
1 個由3 層神經(jīng)元組成的神經(jīng)網(wǎng)絡(luò)模型如圖2 所示[5]。最左側(cè)為輸入層,輸入層中神經(jīng)元的個數(shù)由輸入數(shù)據(jù)的維度決定。中間為隱藏層,隱藏層通過輸入層來接收信息,經(jīng)過計算后將有用信息傳遞給輸出層,隱藏層的層數(shù)以及神經(jīng)元的個數(shù)不是固定的,在不同的分類中會根據(jù)需求進行設(shè)置。最右邊為輸出層,輸出層是輸出來自隱藏層的信息,得出最后的分類結(jié)果,輸出層的神經(jīng)元個數(shù)由分類類別的數(shù)量決定。
圖2 3 層神經(jīng)網(wǎng)絡(luò)模型
在圖2 中,輸入層(第零層)有2 個神經(jīng)元,第一隱藏層(第一層)有3 個神經(jīng)元,第二隱藏層(第二層)有2 個神經(jīng)元,輸出層(第三層)有2 個神經(jīng)元。
1.2.1 從輸入層到第一隱藏層的信號傳遞
a(1)1表示從輸入層到第一隱藏層的信號傳遞,a(1)1的值分為2 個部分:1) 權(quán)重與輸入的乘積的和。2) 偏置。如公式(2)所示。
以此類推,a(1)2、a(1)3的計算方法也是類似的。第一個隱藏層的加權(quán)和如公式(3)所示。
式中:A(1)為第一隱藏層的輸入信號;X為輸入層的輸入信號;W(1)為第一隱藏層的權(quán)重;B(1)為第一隱藏層的偏置。
A(1)、X、B(1)和W(1)的矩陣如公式(4)~公式(7)所示。
式中:、和分別為第一隱藏層的第一個、第二個和第三個輸入信號;x1、x2分別為輸入層的第一個、第二個輸入信號;、和分別為第一隱藏層的第一個、第二個和第三個偏置;為輸入層的第一個神經(jīng)元x1到第一隱藏層的第一個神經(jīng)元a1的權(quán)重;為輸入層的第二個神經(jīng)元x2到第一隱藏層的第一個神經(jīng)元a1的權(quán)重;為輸入層的第一個神經(jīng)元x1到第一隱藏層的第二個神經(jīng)元a2的權(quán)重;為輸入層的第二個神經(jīng)元x2到第一隱藏層的第二個神經(jīng)元a2的權(quán)重;為輸入層的第一個神經(jīng)元x1到第一隱藏層的第三個神經(jīng)元a3的權(quán)重;為輸入層的第二個神經(jīng)元x2到第一隱藏層的第三個神經(jīng)元a3的權(quán)重。
1.2.2 從第一隱藏層到第二隱藏層的信號傳遞
與前一層的計算類似,先將a(2)1轉(zhuǎn)化為公式(8)。
以此類推,a(2)2的計算方法也是類似的。第一隱藏層的加權(quán)和如公式(9)所示。
式中:A(2)為第二隱藏層的輸入信號;Z(1)為第一隱藏層的輸入信號;W(2)為第二隱藏層的權(quán)重;B(2)為第二隱藏層的偏置。
1.2.3 從第二隱藏層到輸出層的信號傳遞
與前2 個步驟的不同點:第二隱藏層到輸出層不再使用sigmoid 函數(shù),而是使用softmax 函數(shù)。與前一層的計算類似,先將a(3)1轉(zhuǎn)化為公式(10)。
以此類推,a(3)2的計算方法也是類似的。第一隱藏層的加權(quán)和如公式(11)所示。
式中:A(3)為輸出層的輸入信號;Z(2)為第二隱藏層的輸入信號;W(3)為輸出層的權(quán)重;B(3)為輸出層的偏置。
輸出層同樣會使用激活函數(shù)對直接得到的輸出信號進行轉(zhuǎn)換,該文研究的自動生成圖像描述屬于多分類問題,因此該文采用softmax 函數(shù)作為隱藏層輸出信號的激活函數(shù)。softmax函數(shù)輸出的是大于0 且小于1 的實數(shù),其輸出值的總和為1。因為有了這個性質(zhì),所以才可以把softmax 函數(shù)的輸出解釋為概率,輸出yk的概率如公式(12)所示。
式中:ak為第k個輸入信號;ai為第i個輸入信號。
在多種深度學(xué)習(xí)的網(wǎng)絡(luò)框架中,應(yīng)用廣泛的框架有卷積神經(jīng)網(wǎng)絡(luò)(CNN),一般情況下,CNN 專門用來處理具有網(wǎng)格狀拓撲結(jié)構(gòu)的數(shù)據(jù),例如圖像。
卷積神經(jīng)網(wǎng)絡(luò)的基本原理就是通過學(xué)習(xí)多個能夠提取輸入數(shù)據(jù)特征的濾波器逐層卷積遲緩,從而發(fā)現(xiàn)并逐級提取隱藏的拓撲結(jié)構(gòu)特征。卷積神經(jīng)網(wǎng)絡(luò)的實質(zhì)是隨著網(wǎng)絡(luò)結(jié)構(gòu)的加深,提取到的特征由表象逐漸變得抽象,最終獲得帶有數(shù)據(jù)平移、旋轉(zhuǎn)及縮放不變性的特征表示。CNN 通常包括卷積層、池化層和全連接層,卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖3 所示。
圖3 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖
1.3.1 卷積層
卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心組成部分,其主要功能是網(wǎng)絡(luò)計算。卷積層就是在2 個矩陣之間進行點積運算,其中一個由1 組可以學(xué)習(xí)參數(shù)組成的矩陣稱為卷積核,另一個矩陣是感受野區(qū)域。卷積核在空間上要比原始圖像更小以及更深。說明如果圖像由3 個通道組成(例如RGB 通道),那么卷積核的高度和寬度在空間上都會很小,但是深度會擴展到3 個通道。卷積操作如公式(13)所示。
式中:l為卷積的層數(shù);*為卷積運算;k為卷積核;b為偏置;Mj為輸入的局部感受野;xlj為第l層的第j個卷積核的輸出特征圖;f()為激活函數(shù);xil-1為第l-1層的第i個卷積核的輸出特征圖;klij為第l層中第i個卷積核對第l-1 層第j個特征圖的權(quán)重;blj為第l層中第j個卷積核的偏置。
1.3.2 池化層
池化層與卷積層相連(位于卷積層后),與卷積層交替出現(xiàn)。池化就是將一定范圍內(nèi)的像素經(jīng)過池化壓縮為單個像素,不僅會降低圖片的尺寸,而且還盡可能地保留了有用信息。常用的池化方法一般包括平均值池化和最大值池化。平均值池化是求取局部鄰域內(nèi)的特征點的平均值,而最大值池化是選取局部鄰域內(nèi)特征點的最大值。圖像經(jīng)過池化操作后,分辨率降低,網(wǎng)絡(luò)的訓(xùn)練參數(shù)減少,從而有效地避免或者減少網(wǎng)絡(luò)出現(xiàn)過擬合現(xiàn)象。此外,下采樣提取到的特征泛化能力強,且具有平移、形變不變性。池化操作如公式(14)所示。
式中:βlj為第l層的第j個卷積核的輸出特征圖的參數(shù);down()為池化函數(shù);bjl為第l層中第j個卷積核的偏置。
1.3.3 全連接層
全連接層在整個網(wǎng)絡(luò)中起到分類器的作用,對經(jīng)過多次卷積運算后高度抽象化的特征向量進行整合并映射到樣本標(biāo)記空間,從而得到每個類別的分類概率。由于softmax 函數(shù)的更新方法與神經(jīng)網(wǎng)絡(luò)相似,因此在分類任務(wù)中一般使用softmax 函數(shù)來歸一化輸出預(yù)測概率,以實現(xiàn)分類的目標(biāo)。softmax函數(shù)的數(shù)學(xué)表達式為公式(12)。
為了避免RNN 在處理長序列數(shù)據(jù)時容易出現(xiàn)梯度消失和梯度爆炸的問題,對傳統(tǒng)RNN 進行改進,提出了長短期記憶網(wǎng)絡(luò),以改善長序列時出現(xiàn)的信息缺失問題。LSTM 主要是提出了3 種控制門結(jié)構(gòu)(輸人門、遺忘門和輸出門),實現(xiàn)了對記憶單元存儲歷史進行增加和去除的功能。忘記長序列中的無用信息,以存儲需要記住的距離較遠的有用信息,從而更好地控制和發(fā)現(xiàn)序列數(shù)據(jù)的長時依賴性。LSTM 基本單元結(jié)構(gòu)如圖4 所示。
圖4 LSTM 基本單元結(jié)構(gòu)圖
1.4.1 輸入門
輸入門可以控制輸入節(jié)點的信息,其包括2 個部分,第一個部分使用digmoid 激活函數(shù)來確定需要輸入的新信息,第二個部分使用tanh 激活函數(shù)控制存放在單元中的新信息。輸入門的輸出it和候選信息gt如公式(15)、公式(16)所示。
式中:Ui、Wi和bi分別為輸入門i在t時刻輸入向量的權(quán)重、在t-1 時刻輸出向量的權(quán)重和輸入門i的偏置;Ug、Wg和bg分別為候選信息g在t時刻輸入向量的權(quán)重、在t-1 時刻輸出向量的權(quán)重和候選信息g的偏置;σ為sigmoid 激活函數(shù);tanh 為激活函數(shù)。
1.4.2 遺忘門
遺忘門可以控制當(dāng)前LSTM 單元的丟棄信息。使用sigmoid 激活函數(shù)產(chǎn)生1 個0~1 的函數(shù)值,當(dāng)函數(shù)值越?。丛浇咏?)時,說明當(dāng)前節(jié)點包括的有用信息越少,因此傳遞較少的信息到下一時刻。相反,當(dāng)函數(shù)值越大(即越接近1)時,說明當(dāng)前節(jié)點包括的有用信息越多,因此傳遞更多的信息到下一時刻。遺忘門ft如公式(17)所示。
式中:Uf、Wf和bf分別為遺忘門f在t時刻輸入向量的權(quán)重、在t-1 時刻輸出向量的權(quán)重和遺忘門f的偏置。
1.4.3 記憶單元
記憶單元可以保護該單元的狀態(tài)信息,實現(xiàn)狀態(tài)更新,記憶單元ct如公式(18)所示。
式中:⊙為哈達瑪積。
1.4.4 輸出門
輸出門可以控制輸出節(jié)點的信息。首先,利用sigmoid函數(shù)確定輸出信息,得到初始輸出值ot。其次,使用tanh 函數(shù)將ct固定在-1~1 內(nèi)。最后,與初始值ot進行逐點相乘,得到LSTM 單元的輸出。因此,ht是由ot和記憶單元ct共同決定的,ot、ht如公式(19)、公式(20)所示。
式中:Uo、Wo和bo分別為輸出門o在t時刻輸入向量的權(quán)重、在t-1 時刻輸出向量的權(quán)重和輸出門o的偏置。
自動生成圖像描述方法的發(fā)展經(jīng)歷了3 個階段:基于檢索的自動生成圖像描述、基于模板的自動生成圖像描述和基于編碼器-解碼器的自動生成圖像描述[6]。
該文采用的CNN-LSTM 網(wǎng)絡(luò)模型屬于基于編碼器-解碼器的自動生成圖像描述模型,在該模型框架中,將輸入的需要描述的圖像視為源語言中的“句子”,使用編碼器-解碼器模型將輸入“翻譯”變?yōu)檩敵龅膶?yīng)的描述性句子[7]。Kiros R 等[8]將編碼器-解碼器框架引入圖像描述生成領(lǐng)域,提出了聯(lián)合的圖像-文本嵌入模型和多模態(tài)神經(jīng)語言模型,采用卷積神經(jīng)網(wǎng)絡(luò)(CNN)編碼視覺數(shù)據(jù),采用循環(huán)神經(jīng)網(wǎng)絡(luò)編碼文本數(shù)據(jù),再通過優(yōu)化排序損失函數(shù)將編碼的視覺數(shù)據(jù)映射到循環(huán)神經(jīng)網(wǎng)絡(luò)隱藏狀態(tài)所屬的嵌入空間,在嵌入空間中通過神經(jīng)語言模型對視覺特征進行解碼,從而可以逐詞生成句子。該文按照NIC 模型的編碼器-解碼器結(jié)構(gòu)來構(gòu)造圖像標(biāo)注模型框架(如圖5 所示),將可變長度的輸入編碼為固定維度的向量,再將其解碼為所需要的輸出語句。
圖5 基于CNN-LSTM 的自動生成圖像描述模型
自動生成圖像描述的實現(xiàn)步驟如下:1) 數(shù)據(jù)集的預(yù)處理。自動生成圖像描述CNN-LSTM 網(wǎng)絡(luò)模型的試驗基于Fick8k、Flick30k 和MSCOCO 這3 個包括圖像和英文標(biāo)注的數(shù)據(jù)集,它們也是圖像標(biāo)注任務(wù)最常用的基準(zhǔn)數(shù)據(jù)集[9]。在數(shù)據(jù)集的預(yù)處理階段,分配訓(xùn)練集、驗證集和測試集的圖片數(shù)量,為下面的特征提取和句子生成做準(zhǔn)備。2) 特征提取。當(dāng)執(zhí)行特征提取時,使用深度卷積神經(jīng)網(wǎng)絡(luò)將圖片嵌入為固定長度的向量。3) 句子生成階段。該階段將特征提取階段得到的固定長度的特征向量作為輸入,單詞序列將通過模型一個接一個生成并組合成對圖像有意義的描述。
數(shù)據(jù)集如下:1) Flickr8k 數(shù)據(jù)集。該數(shù)據(jù)集包括從Flickr網(wǎng)站上獲取的80 000 張圖像,該數(shù)據(jù)集中的圖像主要包括人和動物,每張圖像都有5 個人工標(biāo)注。2) Flickr30k 數(shù)據(jù)集。該數(shù)據(jù)集是從Flickr8k 擴展得到的數(shù)據(jù)集,包括31 783張帶標(biāo)注的圖像,該數(shù)據(jù)集中的圖像主要涉及日?;顒雍褪录械娜祟?。3) MSCOCO 數(shù)據(jù)集。該數(shù)據(jù)集是通過收集自然環(huán)境中具有共同對象的復(fù)雜日常場景的圖像而創(chuàng)建的,為與其他研究保持一致,該文采用MSCOCO2014 版本數(shù)據(jù)集,每張圖像都對應(yīng)5~7 個人工標(biāo)注句子,人工標(biāo)注句子的平均長度為10.36 個單詞。該試驗使用的數(shù)據(jù)集統(tǒng)計信息見表1。
表1 試驗數(shù)據(jù)集
在Fick8k、Flick30k 和MSCOCO 數(shù)據(jù)集對神經(jīng)圖像標(biāo)注模型(NIC)和卷積神經(jīng)網(wǎng)絡(luò)-長短期記憶網(wǎng)絡(luò)模型(CNN-LSTM)進行訓(xùn)練和測試,并對數(shù)據(jù)集的結(jié)果進行分析。為了驗證該試驗?zāi)P蜕蓤D像描述的質(zhì)量,采用最廣泛的評估圖像描述的評價指標(biāo)——雙語替換評測(Bilingual Evaluation Understudy,BLEU)。
BLEU 可以評估生成的句子與參考句子的匹配程度,使用n-gram 方法對各種度量進行平均,n-gram 是常用于計算語言學(xué)的概率語言模型(完全匹配為1,完全不匹配為0)。n-gram 匹配的是n個單詞長度的元組的相似度,匹配結(jié)果與單詞順序無關(guān),匹配越多,生成的描述越接近數(shù)據(jù)集中的可參考描述。BLEU由懲罰因子BP與修正的n-gram 統(tǒng)計量精度pn的幾何平均值相乘得到,pn、BP和BLEU如公式(21)、公式(22)和公式(23)所示。
式中:si={si1,si2,…,sim}為給定的標(biāo)準(zhǔn)文本句子;ci為生成的描述文本句子;hk(ci)為第k組長度為n的詞組在生成的描述文本句子中出現(xiàn)的次數(shù);hk(sij)為第k組長度為n的詞組在給定的標(biāo)準(zhǔn)文本句子中出現(xiàn)的次數(shù);lc、ls分別為給定的標(biāo)準(zhǔn)文本和生成的描述文本的長度;pn為n-gram的精確度。
通常根據(jù)BLEU來判斷生成圖像描述文本的質(zhì)量:BLEU越大,表示其生成的描述文本與給定的標(biāo)準(zhǔn)文本意義越接近,也說明生成的描述越好。
當(dāng)把N設(shè)為1、2、3 和4 時,使用NIC 模型和CNNLSTM 模型分別在Fick8k、Flick30k 和MSCOCO 進行BLEU評價[10]。Fick8k 數(shù)據(jù)集上的試驗結(jié)果如圖6 所示,F(xiàn)lick30k數(shù)據(jù)集上的試驗結(jié)果如圖7 所示,MSCOCO 數(shù)據(jù)集上的試驗結(jié)果如圖8 所示。
圖6 Fick8k 數(shù)據(jù)集上的試驗結(jié)果
圖7 Fick30k 數(shù)據(jù)集上的試驗結(jié)果
圖8 MSCOCO 數(shù)據(jù)集上的試驗結(jié)果
該文研究了使用CNN-LSTM 模型自動生成圖像描述,試驗結(jié)果也驗證了該方法的可行性。為了驗證CNN-LSTM 模型的高效性和準(zhǔn)確性,將它與NIC 模型進行對比,由對比結(jié)果可知,基于CNN-LSTM 模型自動生成圖像描述的方法的正確率高,能更有效地提取完整的視覺語義信息,從而使圖像描述與人工描述更接近,輔助計算機更全面地理解圖像。