黃心依,曹 浩
(安徽科技學院 信息與網(wǎng)絡(luò)工程學院,安徽 滁州 233100)
圖像分類問題是計算機視覺領(lǐng)域長期關(guān)注的熱點,現(xiàn)如今,商業(yè)搜索引擎已經(jīng)使用元數(shù)據(jù)和圖像標簽來進行圖像檢索。但是,這樣產(chǎn)生的數(shù)據(jù)可能是不準確的,因此有可能導致錯誤的結(jié)果。大多數(shù)圖像分類方法是基于最優(yōu)選擇下的特征描述符的監(jiān)督學習方法。目前,通過卷積神經(jīng)網(wǎng)絡(luò)可以學習特征描述符的方法,解決了傳統(tǒng)上需要針對特定問題選擇特定描述符的問題[1],這種方法對于圖像和標簽匹配清晰的數(shù)據(jù)是很有效的,但如果類別標簽很抽象,就難以給出滿意的結(jié)果。
在實際問題中,圖像復雜、信息量大、對象類別多,因此,在訓練集中采集所有的圖像是不可能的。利用類別可以通過某些規(guī)則來解釋的原則,選取一些判別區(qū)域?qū)D像進行識別和分類是很好的思路。這些規(guī)則可以通過源數(shù)據(jù)進行挖掘,也可以以本體的形式提供給系統(tǒng)。因此,它們可以被表示為基于視覺的區(qū)域規(guī)則集。例如,如果圖像中存在電視,人們可以推斷這種圖片拍攝于室內(nèi)。抽象的類別問題一般很難在圖像中給出準確的區(qū)域標簽,而使用本體知識可以幫助訓練數(shù)據(jù)集,在訓練過程中,本體先驗知識在檢測到區(qū)別區(qū)域的基礎(chǔ)上進行推理,并將本體規(guī)則自下而上地應(yīng)用于圖像,文獻[2]就是使用知識本體來提高準確性的,但這種方法一般情況下存在局限性。
本研究中使用的是美國有線電視新聞網(wǎng)中的圖片數(shù)據(jù)集,圖1分別為不同清真寺的圖像,雖然有不同的外觀,但是卻有類似的門和門柱等,這個數(shù)據(jù)集用于大規(guī)模的圖像分類競賽[1,3-4],在之前的研究工作中,此數(shù)據(jù)集可以以無監(jiān)督的方式進行訓練[3,5-6]。針對這樣的圖像數(shù)據(jù)集,如果使用傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)直接來訓練和分類,會產(chǎn)生很大的分類誤差。同時在此數(shù)據(jù)中包含很多建筑風格,不僅數(shù)據(jù)較多、較復雜,并且在普通的分類方法上分類難度和誤差較大,因此,本研究使用這組實驗數(shù)據(jù)來證明基于知識本體的遷移學習算法在復雜的圖像分類問題上的有效性。
圖1 德里賈瑪清真寺(左)和查爾米納清真寺(右)
基于此,引入先驗本體來解決這個問題。由于要分清楚大量類別的圖像,如果將所有的圖片都加入訓練,則會增加誤差,同時,在普通卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入遷移學習思想來解決此問題。知識本體的方法本身基于大量的相關(guān)專業(yè)的背景,之后構(gòu)建算法整合和提高知識規(guī)則,比如,在歐洲建筑風格的基礎(chǔ)上,可以通過算法發(fā)現(xiàn)語義圖像的重復結(jié)構(gòu)元素的視覺部分[7],以此來將歐洲建筑分為羅馬式、哥特式和文藝復興式(巴洛克時期)。使用微調(diào)檢測器檢測形狀,就可以通過識別特定的區(qū)域來歸類它們的風格。目前的研究大部分使用單域知識(例如僅僅識別外觀門面)來進行分類,而本文算法在多個區(qū)分區(qū)域使用推理,例如,使用基于形狀和紋理的特征來檢索類似的圖像和關(guān)于印度估計的藝術(shù)形式的信息[2,8]。
同時,使用遷移學習的機器學習方法,克服分類過多的問題。為更好地提高算法的可行性,本文的訓練集和測試集包含不同的紀念配數(shù)據(jù),以更有效地展示算法對于不同類別的準確度,例如,泰姬陵、阿克巴、胡馬雍陵屬于陵墓類,在訓練時采用泰姬陵、阿克巴圖像,但測試時采用胡馬雍陵圖像進行準確率計算[9-10]。
傳統(tǒng)的數(shù)據(jù)挖掘和機器學習算法,使用先前收集的帶有標簽或未標記的訓練數(shù)據(jù)[11-13]來進行統(tǒng)計模型的建立,之后對未來數(shù)據(jù)進行預(yù)測。半監(jiān)督學習[14-17]利用大量未標記的數(shù)據(jù)和少量已標記的數(shù)據(jù),解決了標記數(shù)據(jù)太少而無法建立良好的分類器的問題。例如,文獻[18]研究了如何在有未標記數(shù)據(jù)的情況下處理類標簽的問題,文獻[19]則將樣品進行了額外測試來提高準確率。然而,它們中大多數(shù)都假設(shè)標記的數(shù)據(jù)和未標記數(shù)據(jù)的分布是相同的。而當無標簽數(shù)據(jù)與有標簽數(shù)據(jù)并不屬于同一類型時,遷移學習是解決此問題的最好方法。
遷移學習,也稱為歸納遷移、領(lǐng)域適配,其目標是將某個領(lǐng)域或任務(wù)上學習到的知識或模式應(yīng)用到不同但相關(guān)的領(lǐng)域或問題中[15]。通俗的解釋為,一個會識別老鼠和鴨子的人更容易分清“米老鼠”和“唐老鴨”,且更容易分清楚貓和狗,即希望機器可以像人一樣,當有了某領(lǐng)域的“學習能力”之后,就可以更容易地學習相關(guān)領(lǐng)域的技能。遷移學習較早的研究有J.Schmidhuber提出的“Learning how to learn”[16]。之后針對怎樣可以更好的遷移,即把源領(lǐng)域的方法更完美地遷移到目標領(lǐng)域去,有Sinno Jialin Pan等提出遷移成分分析TCA(transfer component analysis)[17]方法,專門針對domain adaptation(域適應(yīng))的問題,給出了當源域和目標域處于不同數(shù)據(jù)分布時,可以將兩個領(lǐng)域的數(shù)據(jù)一起映射到一個高維的再生核希爾伯特空間,這樣就將兩個領(lǐng)域的數(shù)據(jù)距離縮短,使得兩個領(lǐng)域的距離最小化,便于遷移。
遷移學習在監(jiān)督學習中的大量應(yīng)用,一般為源領(lǐng)域數(shù)據(jù)量較大,而目標領(lǐng)域樣本數(shù)據(jù)量較小。因此,大多采用Fine-tune(微調(diào))模型來完成,即用大樣本的源域數(shù)據(jù)訓練出一個模型,之后用目標域數(shù)據(jù)微調(diào)。此過程中最容易出現(xiàn)的問題就是過擬合問題,解決遷移學習中過擬合問題的常用方法有以下兩種:
方法1:Conservative Training(保守訓練):使用源領(lǐng)域數(shù)據(jù)訓練好的模型盡可能多地直接遷移到目標領(lǐng)域模型,保證原模型參數(shù)變化不大并使得輸出結(jié)果的概率向量很接近。
方法2:Layer Transfer(層遷移):規(guī)定源領(lǐng)域訓練好的模型的某些層參數(shù)凍結(jié)(即固定,防止抖動),將這些層的Learning rate設(shè)置為0或者很小。之后訓練剩下的層,進行微調(diào),防止過擬合。
卷積神經(jīng)網(wǎng)絡(luò)圖像識別的遷移學習一般過程如下:首先,利用相關(guān)領(lǐng)域大型數(shù)據(jù)集(如 ImageNet)等對參數(shù)進行初始化訓練,訓練好的權(quán)重具有較好的泛化性。之后,通過上述擁有較好權(quán)重的卷積神經(jīng)網(wǎng)絡(luò)的特征提取層(卷積層和下采樣層)對目標領(lǐng)域的樣本數(shù)據(jù)集進行特征提取。之后使用目標領(lǐng)域的樣本訓練特定的分類器,最后使用提取的特征輸入分類器,完成針對目標領(lǐng)域的圖像分類器的構(gòu)建。當結(jié)果不滿意時,可以對全部或者部分層進行Fine-tune(微調(diào)),來將模型調(diào)整成更加適應(yīng)目標數(shù)據(jù)集的模型。與重新訓練一個卷積神經(jīng)網(wǎng)絡(luò)相比,利用遷移學習訓練需要更小的學習率和學習時間,因為一個用巨大數(shù)量樣本訓練出的神經(jīng)網(wǎng)絡(luò)模型已很平滑,微調(diào)后即可實現(xiàn)較好結(jié)果。
在哲學中,本體論是一種關(guān)于存在的系統(tǒng)化解釋,將本體論運用到計算機領(lǐng)域中,是指對概念化對象(conceptualization)的明確表示和描述。經(jīng)典的概念是首先定義:C={D,W,R},其中,D指的是領(lǐng)域,W則指代該領(lǐng)域中相關(guān)的事物狀態(tài)(state of affairs)的集合,R是領(lǐng)域空間{D,W}上的概念關(guān)系(conceptual relation)的集合。本體論是采用某種語言對概念化的描述。20世紀90年代,本體論的研究在計算機領(lǐng)域內(nèi)日益流行,尤其是在以下領(lǐng)域內(nèi)扮演了越來越重要的角色:智能信息檢索、軟件構(gòu)建重用、知識工程以及面向?qū)ο蟮确矫?。在智能信息檢索中的“信息過載”的問題中,以O(shè)ntology技術(shù)為核心來建立領(lǐng)域語義模型,為信息源提供語義標準信息,成為一種系統(tǒng)的知識表示方法,也是系統(tǒng)集成的核心部件。而對于軟件部分,為了便于檢索,研究人員將領(lǐng)域本體的概念用在軟件構(gòu)建的組織和管理當中,通過本體集成同一的數(shù)據(jù)庫來提高軟件的開發(fā)效率。
本算法中的知識本體先驗方法,是利用本體來訓練分類器,如果分類器獨立訓練,那只能識別葉類的圖片,而如果讓分類器輸出與檢測到的特征相對應(yīng)的置信度值,就可以使用這些分數(shù)來推斷節(jié)點。在這里,知識本體具體的操作方法用圖2莫臥兒(Mughal)紀念碑來闡述。
由圖2可知,堡壘是由紅石制成的,所以紅顏色附在堡壘類上,穹頂是典型的清真寺和墳?zāi)固卣?,且陵墓和穹頂都附在墳?zāi)购颓逭嫠律?。在這種情況下,如果本體被認為是樹結(jié)構(gòu),則子節(jié)點具有多個父節(jié)點。因此,可以實現(xiàn)跨類別共享特征。大多數(shù)基于本體的方法沒有處理共享特征的功能,本體具有一個類特有的排他性的特點。然而,在本文的算法當中,考慮了跨類別的共享特征。訓練集是由紅堡泰姬陵和查爾米納組成,使用它們作為葉節(jié)點,同時為了豐富數(shù)據(jù),還增加了一些紀念碑圖像,它們有特殊區(qū)分區(qū)域(如穹頂、塔尖等),這有助于有效學習葉節(jié)點特征。根據(jù)區(qū)分區(qū)域是否存在,可以將圖像標記為1或0。
圖2 莫臥兒建筑分類實例
使用基于本體規(guī)則的類,可以讓分類器從本體規(guī)則中使用先驗知識來學習。在本文的算法中,使用本體知識為后續(xù)的分類器提供先驗知識,實現(xiàn)了一種自上而下學習的方法,以此來增強分類器的性能。
本體先驗提供了一種存在可分區(qū)域的特征值,因此基于本體先驗的遷移學習算法首先需要將先驗知識從本體轉(zhuǎn)移到分類器。
在本節(jié)中,首先會描述文獻[2]中采用的方法,同時重點介紹本文算法對此模型的改進。對于文獻[2]中的目標函數(shù),fw(x)是圖像的特征向量,Y表示葉節(jié)點的標簽,B指的是分類層的權(quán)重,也是本節(jié)中各節(jié)點的權(quán)重。為方便表示,將葉子節(jié)點從1到K進行標號,父節(jié)點從1到P進行標號,θparent(k)表示K父節(jié)點的權(quán)重向量。目標函數(shù)1如公式(3)所示,其中,分類器的權(quán)重由父節(jié)點進行規(guī)則化,即屬于同一父節(jié)點的類必須有相似的權(quán)重(本體先驗規(guī)則)。子節(jié)點權(quán)重被假定為以父節(jié)點權(quán)重為均值的高斯分布。這樣,本體知識在訓練時被轉(zhuǎn)移到分類器當中,并且自上而下進行傳輸,在此,并沒有考慮類間共享特征的情況,此外,還需要假設(shè)標簽是符合高斯分布的,第一項是平方差的綜合。子權(quán)重被初始化為高斯隨機變量,平均值為父節(jié)點權(quán)重。之后通過平均值計算θm,然后更新權(quán)重B,重復迭代知道目標函數(shù)收斂為固定值。
(1)
(2)
針對這種方法,在本文算法中已經(jīng)考慮了本體與跨類別的共享特征,子節(jié)點權(quán)重為高斯分布的綜合,這將使得葉子節(jié)點的所有父節(jié)點權(quán)重進行規(guī)則化。因此,將目標函數(shù)修改為目標函數(shù)2,通過引入父節(jié)點項的加權(quán),使得ith迭代為優(yōu)化的步驟,在20-30次迭代中求逆是耗時性價比最高且收斂的,此目標函數(shù)成為目標函數(shù)1。
(3)
(4)
在目標函數(shù)1中,第一項是誤差平方和,它隱含地假定了標簽Y遵循高斯分布,然而,當此問題是二分類問題時,即Y為1或0時,假定Y為高斯分布就是錯誤的,此時Y遵循伯努利分布,這樣使得函數(shù)給出0或者1的結(jié)果,有益于建模。同時,本文算法在輸出層用S函數(shù)代替了誤差平方和。同時,在訓練的時候采用SGD優(yōu)化方法。以上這種優(yōu)化方法為本文的目標函數(shù)2優(yōu)化算法。
Likelihood,L=∏P(Y|fw(x),B|P(B|Θ)P(Θ))
(5)
(6)
實驗選用的三個數(shù)據(jù)集均來自美國有線電視新聞網(wǎng)的數(shù)據(jù),特征向量大小為4096。在第一個實驗中,用邏輯回歸分類器對陵墓、城堡、清真寺進行分類訓練;第二個實驗中,使用預(yù)測葉矢量和實際葉標記向量的點積來計算葉節(jié)精度的方法訓練模型,第三個實驗中,使用基于多類知識本體的方法訓練模型,通過預(yù)測得分(閾值=0.8)、計算真實類別和預(yù)測標簽之間的漢明距離來計算葉節(jié)點精度。實驗結(jié)果如圖3及表1所示。
圖3 實驗結(jié)果
表1 訓練結(jié)果
對于方法1,通過預(yù)測葉矢量和實際葉標記向量的點積來計算葉節(jié)精度,為懲罰極端的分類情況,而方法2通過預(yù)測得分(閾值=0.8)、計算實際和預(yù)測標簽之間的漢明距離來計算葉節(jié)點精度,由圖3的實驗結(jié)果可以看到,傳統(tǒng)的邏輯回歸分類器的精確度是最低的,方法1一開始的精確度較傳統(tǒng)方法有優(yōu)勢,但隨著迭代次數(shù)的增加,精確度先是波動,之后大幅度的懸崖式下跌,說明該方法對應(yīng)數(shù)據(jù)的建模有很大偏差。而方法2一直保持著很好的分類結(jié)果,遠優(yōu)于其他兩種。實驗證明,針對此數(shù)據(jù),本文算法中的方法2更為有效。
基于此實驗結(jié)果,可以得出本文算法——基于遷移學習的方法比普通的簡單邏輯分類器要優(yōu)秀得多,驗證了本文在之前章節(jié)中的分析,即簡單分類器面對抽象類別問題會有精確度大量下降的問題。同時也可證明,基于對數(shù)似然函數(shù)的誤差函數(shù)遠優(yōu)于誤差平方和[20]。在實驗三中,葉節(jié)點的分類準確率可以達到75%,而實驗二中的方法性能與正則化相差太大,表明方法中假設(shè)數(shù)據(jù)為高斯分布是錯誤的。
本文提出了基于知識本體的遷移學習算法,用于解決復雜的圖像分類的問題,以美國有線電視新聞網(wǎng)的數(shù)據(jù)為例分析了本體知識使用的方法。通過嘗試使用了領(lǐng)域知識和數(shù)據(jù)驅(qū)動技術(shù)來學習概念類,之后設(shè)計了一個簡單的邏輯分類器,分類結(jié)果提升了17%,證明了此方法的有效性以及改進了之前模型的局限性。同時,本研究中的方法可以很容易地擴展到數(shù)百個類別的大規(guī)模數(shù)據(jù)問題上,同時,還可應(yīng)用于多層次的分類難題,比如使用自動編碼器和帶標簽的方法來訓練,以提高分類結(jié)果,因此,使用本文的算法思想可以進一步解決更加復雜和實際的問題。