本發(fā)明涉及一種基于稀疏神經(jīng)網(wǎng)絡(luò)的圖像檢索文本方法。
背景技術(shù):
傳統(tǒng)的信息檢索是單模態(tài)數(shù)據(jù)之間的檢索,然而,隨著大數(shù)據(jù)時代的到來,多模態(tài)數(shù)據(jù)增長迅速,單模態(tài)檢索已無法滿足人們的需要。因而,跨媒體檢索(如圖像檢索文本)應(yīng)運而生,并且正在成為信息檢索的新趨勢。
圖像檢索文本最大的挑戰(zhàn)就是二者之間的異構(gòu)鴻溝。最通用的解決方法為子空間學(xué)習(xí)方法,典型相關(guān)分析(CCA)使用相關(guān)系數(shù)作為測量標(biāo)準(zhǔn),在保持圖像和文本的相關(guān)性達最大的前提下,將圖像和文本投影到一個同維子空間,從而實現(xiàn)圖像和文本在同一空間檢索的任務(wù),類似的方法還有,偏最小二乘(PLS)和雙線性差值(BLM)等,他們都屬于無監(jiān)督的方法;進一步的加入語義信息的有監(jiān)督子空間學(xué)習(xí)方法,三視圖典型相關(guān)分析(Three-View CCA)同時優(yōu)化圖像和文本之間的子空間和二者的投影與語義之間的相關(guān)性,使之達到最大,此外還有,聯(lián)合特征選擇和子空間學(xué)習(xí)方法(JFSSL),廣義多視圖分析(GMA)等。
近年,深度學(xué)習(xí)技術(shù)在多個領(lǐng)域取得突破性進展,也在跨媒體檢索中得到了廣泛應(yīng)用,深度典型相關(guān)分析(Deep Canonical Correlation Analysis)使用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)一個復(fù)雜的非線性投影,使得投影后的圖像和文本之間的數(shù)據(jù)相關(guān)性最大;端到端的典型相關(guān)分析(End-to-end CCA)使用兩路神經(jīng)網(wǎng)絡(luò)同時優(yōu)化圖像和文本之間的相關(guān)性,最終使得二者之間的相關(guān)性最大。
然而,上述方法均具有以下缺點:
一方面,這些方法假設(shè)圖像和文本之間可以學(xué)習(xí)到一個有效的同構(gòu)子空間,但對于許多真實應(yīng)用,可能一幅圖像上并非所有內(nèi)容都與其文本描述有關(guān),這些不相關(guān)的內(nèi)容就會影響二者之間建立的同構(gòu)子空間的有效性,甚至無法找到一個同構(gòu)子空間;另一方面,子空間學(xué)習(xí)方法主要努力在于找到圖像和文本之間的相關(guān)性,語義信息在其中起到的作用不大。
而語義信息非常有利于檢索方法學(xué)習(xí)到有用的劃分信息,因此,如何更好地利用語義信息,將圖像和文本投影到語義空間,是目前研究的一個重點和難點。
技術(shù)實現(xiàn)要素:
本發(fā)明為了解決上述問題,提出了一種基于稀疏神經(jīng)網(wǎng)絡(luò)的圖像檢索文本方法,本發(fā)明模仿人類視覺機制,將圖像和文本的底層特征輸入神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)輸出為二者的語義理解,方法跨越了圖像和文本底層特征與高層語義之間的語義鴻溝。
本發(fā)明為了解決現(xiàn)有技術(shù)中不相關(guān)的內(nèi)容就會影響二者之間建立的同構(gòu)子空間的有效性,通過構(gòu)建兩個獨立的神經(jīng)網(wǎng)絡(luò),將圖像和文本投影到二者共同的語義空間,充分利用了二者的語義信息,并將稀疏編碼的思想引入傳統(tǒng)的反向傳播神經(jīng)網(wǎng)絡(luò),稀疏的限制強制網(wǎng)絡(luò)去學(xué)習(xí)有用的信息,所以能提高檢索準(zhǔn)確度。
為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種基于稀疏神經(jīng)網(wǎng)絡(luò)的圖像檢索文本方法,構(gòu)建兩個獨立的稀疏神經(jīng)網(wǎng)絡(luò)模型,然后分別把圖像和文本的底層特征輸入到稀疏神經(jīng)網(wǎng)絡(luò)模型中,將兩個稀疏神經(jīng)網(wǎng)絡(luò)模型的輸出作為圖像和文本的語義理解,并將其視為圖像和文本的語義空間,在此語義空間中進行圖像檢索文本操作,并根據(jù)檢索結(jié)果排序,檢索出與查詢圖像最匹配的文本。
進一步的,對兩個獨立的稀疏神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練。
進一步的,與查詢圖像最匹配的文本為語義空間內(nèi)距離圖像距離最近的檢索文本。
進一步的,具體包括以下步驟:
(1)獲取圖像和文本的底層特征,構(gòu)建圖像的訓(xùn)練樣本、測試樣本以及文本的訓(xùn)練樣本和測試樣本;
(2)構(gòu)建獨立的稀疏神經(jīng)網(wǎng)絡(luò)模型,利用其訓(xùn)練圖像訓(xùn)練樣本,構(gòu)建另一獨立稀疏神經(jīng)網(wǎng)絡(luò)模型利用其訓(xùn)練文本訓(xùn)練樣本;
(3)將圖像的測試樣本輸入其對應(yīng)的訓(xùn)練好的稀疏神經(jīng)網(wǎng)絡(luò)模型,得到其網(wǎng)絡(luò)輸出,將文本的測試樣本輸入其對應(yīng)的訓(xùn)練好的稀疏神經(jīng)網(wǎng)絡(luò)模型,得到其網(wǎng)絡(luò)輸出;
(4)利用圖像與文本的網(wǎng)絡(luò)輸出,分別表示查詢圖像和帶檢索文本,求查詢圖像與所有待檢所文本兩兩之間的距離,確定最匹配的文本。
所述步驟(1)中,圖像的訓(xùn)練樣本和測試樣本采用多倍交叉驗證,將所有數(shù)據(jù)隨機均勻分成多份,每次選取一組作為測試數(shù)據(jù),其余的作為訓(xùn)練數(shù)據(jù),實驗重復(fù)多次,同樣的,文本的訓(xùn)練樣本和測試樣本也采用多倍交叉驗證,圖像和文本選取的訓(xùn)練樣本和測試樣本應(yīng)一一對應(yīng)。
所述步驟(2)中,訓(xùn)練的具體過程包括:
(2-1)隨機地初始化權(quán)重矩陣;
(2-2)將圖像訓(xùn)練樣本輸入稀疏神經(jīng)網(wǎng)絡(luò)模型,網(wǎng)絡(luò)正向傳播,分別計算網(wǎng)絡(luò)的隱藏層節(jié)點和輸出層節(jié)點的輸出值;
(2-3)網(wǎng)絡(luò)誤差反向傳播,對于稀疏神經(jīng)網(wǎng)絡(luò)模型的輸出層節(jié)點和隱藏層節(jié)點,計算其誤差項;
(2-4)根據(jù)誤差項更新每一個權(quán)重值;
(2-5)重復(fù)步驟(2-2)-(2-4),直到滿足迭代結(jié)束條件,訓(xùn)練完畢。
所述步驟(2-5)中,迭代結(jié)束條件為達到設(shè)定的迭代次數(shù)。
所述步驟(3)中,訓(xùn)練的具體過程包括:
(3-1)隨機地初始化權(quán)重矩陣;
(3-2)將文本訓(xùn)練樣本輸入稀疏神經(jīng)網(wǎng)絡(luò)模型,網(wǎng)絡(luò)正向傳播,分別計算網(wǎng)絡(luò)的隱藏層節(jié)點和輸出層節(jié)點的輸出值;
(3-3)網(wǎng)絡(luò)誤差反向傳播,對于稀疏神經(jīng)網(wǎng)絡(luò)模型的輸出層節(jié)點和隱藏層節(jié)點,計算其誤差項;
(3-4)根據(jù)誤差項更新每一個權(quán)重值;
(3-5)重復(fù)步驟(3-2)-(3-4),直到滿足迭代結(jié)束條件,訓(xùn)練完畢。
所述步驟(3-5)中,迭代結(jié)束條件為達到設(shè)定的迭代次數(shù)。
所述步驟(4)中,求查詢圖像與所有待檢所文本兩兩之間的距離,將所求距離進行排序,確定距離最小的為與查詢圖像最匹配的文本。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
本發(fā)明模仿人類視覺機制,將圖像和文本的底層特征輸入神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)輸出為二者的語義理解,本發(fā)明將圖像和文本投影到二者共同的語義空間,充分利用了二者的語義信息,并將稀疏編碼的思想引入傳統(tǒng)的反向傳播神經(jīng)網(wǎng)絡(luò),稀疏的限制強制網(wǎng)絡(luò)去學(xué)習(xí)有用的信息,所以能提高檢索準(zhǔn)確度。
附圖說明
構(gòu)成本申請的一部分的說明書附圖用來提供對本申請的進一步理解,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。
圖1為訓(xùn)練稀疏神經(jīng)網(wǎng)絡(luò)的流程圖;
圖2為圖像檢索文總過程的示意圖。
具體實施方式:
下面結(jié)合附圖與實施例對本發(fā)明作進一步說明。
應(yīng)該指出,以下詳細說明都是例示性的,旨在對本申請?zhí)峁┻M一步的說明。除非另有指明,本文使用的所有技術(shù)和科學(xué)術(shù)語具有與本申請所屬技術(shù)領(lǐng)域的普通技術(shù)人員通常理解的相同含義。
需要注意的是,這里所使用的術(shù)語僅是為了描述具體實施方式,而非意圖限制根據(jù)本申請的示例性實施方式。如在這里所使用的,除非上下文另外明確指出,否則單數(shù)形式也意圖包括復(fù)數(shù)形式,此外,還應(yīng)當(dāng)理解的是,當(dāng)在本說明書中使用術(shù)語“包含”和/或“包括”時,其指明存在特征、步驟、操作、器件、組件和/或它們的組合。
正如背景技術(shù)所介紹的,現(xiàn)有技術(shù)中存在語義信息在檢索過程中作用不大,以及不相關(guān)的內(nèi)容就會影響二者之間建立的同構(gòu)子空間的有效性的缺點,本發(fā)明為了解決上述問題,提供了一種基于稀疏神經(jīng)網(wǎng)絡(luò)的圖像檢索文本方法。模仿人類視覺機制,將圖像和文本的底層特征輸入神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)輸出為二者的語義理解,方法跨越了圖像和文本底層特征與高層語義之間的語義鴻溝。首先,構(gòu)建兩個獨立的神經(jīng)網(wǎng)絡(luò),然后分別把圖像和文本的底層特征輸入兩個神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)的輸出即圖像和文本的語義理解,并將其視為二者的語義空間,最后在語義空間中進行圖像檢索文本的過程,并根據(jù)檢索結(jié)果排序,檢索出與查詢圖像最匹配的文本。本發(fā)明將圖像和文本投影到二者共同的語義空間,充分利用了二者的語義信息,并將稀疏編碼的思想引入傳統(tǒng)的反向傳播神經(jīng)網(wǎng)絡(luò),稀疏的限制強制網(wǎng)絡(luò)去學(xué)習(xí)有用的信息,所以能提高檢索準(zhǔn)確度。并通過實驗證明了本發(fā)明的有效性。
本申請的一種典型的實施方式中,一種基于稀疏神經(jīng)網(wǎng)絡(luò)的圖像檢索文本方法,包括以下步驟:
步驟1:獲取圖像和文本的底層特征:其中每一個圖像樣本記為圖像維數(shù)為p,n為圖像樣本個數(shù),每一個文本樣本記為xiT{i=1,2,…,n};
文本維數(shù)為q,n為文本樣本個數(shù),XT=[x1T,x2T,…,xnT],圖像和文本的標(biāo)記矩陣為Y=[y1,y2,…,yn],并將其分為訓(xùn)練樣本XtrI,XtrT和測試樣本XteI,XteT;
采用5倍交叉驗證,將所有數(shù)據(jù)隨機均勻分成5份,每次選取一組作為測試數(shù)據(jù),其余的作為訓(xùn)練數(shù)據(jù),實驗重復(fù)5次,同樣的,文本的訓(xùn)練樣本和測試樣本也采用5倍交叉驗證,圖像和文本選取的訓(xùn)練樣本和測試樣本應(yīng)一一對應(yīng)。
如圖1所示,步驟2:訓(xùn)練圖像的稀疏神經(jīng)網(wǎng)絡(luò)模型,具體方法為:
(1)隨機地初始化權(quán)重矩陣WI;
(2)將圖像訓(xùn)練樣本輸入網(wǎng)絡(luò),網(wǎng)絡(luò)正向傳播:
對于網(wǎng)絡(luò)的隱藏層節(jié)點h,計算它的輸出ohI和平均激活值
其中,xhiI是隱藏層節(jié)點h的第i個輸入值,whiI是與之對應(yīng)的權(quán)重值,mI是隱藏層節(jié)點個數(shù),σ是Sigmoid函數(shù),
對于網(wǎng)絡(luò)的輸出層節(jié)點k,計算它的輸出okI:
wkhI是輸出層節(jié)點k的第h個輸入值,xkhI是與之對應(yīng)的權(quán)重值;
(3)網(wǎng)絡(luò)誤差反向傳播:
對于網(wǎng)絡(luò)的輸出層節(jié)點k,計算它的誤差項δkI:
δkI←okI(1-okI)(tkI-okI)
其中,tkI是網(wǎng)絡(luò)的目標(biāo)輸出,
對于網(wǎng)絡(luò)的隱藏層節(jié)點j,計算它的誤差項δjI:
其中,β控制稀疏懲罰項,p是稀疏目標(biāo)值;
(4)更新每一個權(quán)重值wjiI:
wjiI←wjiI+ΔwjiI
其中,ΔwjiI=ηδjIxjiI;
η是一個常量參數(shù),控制權(quán)重更新速度,xjiI是節(jié)點j的第i個輸入值;
(5)過程(2)(3)(4)迭代進行多次,至此,圖像的稀疏神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練完畢;
步驟3:訓(xùn)練文本的稀疏神經(jīng)網(wǎng)絡(luò)模型,具體方法為:
(1)隨機地初始化權(quán)重矩陣WT;
(2)將文本訓(xùn)練樣本輸入網(wǎng)絡(luò),網(wǎng)絡(luò)正向傳播:
對于網(wǎng)絡(luò)的隱藏層節(jié)點h,計算它的輸出ohT和平均激活值
其中,xhiT是隱藏層節(jié)點h的第i個輸入值,whiT是與之對應(yīng)的權(quán)重值,mT是隱藏層節(jié)點個數(shù),σ是Sigmoid函數(shù),
對于網(wǎng)絡(luò)的輸出層節(jié)點k,計算它的輸出okT:
wkhT是輸出層節(jié)點k的第h個輸入值,xkhT是與之對應(yīng)的權(quán)重值;
(3)網(wǎng)絡(luò)誤差反向傳播:
對于網(wǎng)絡(luò)的輸出層節(jié)點k,計算它的誤差項δkT:
δkT←okT(1-okT)(tkT-okT)
其中,tkT是網(wǎng)絡(luò)的目標(biāo)輸出,
對于網(wǎng)絡(luò)的隱藏層節(jié)點j,計算它的誤差項δjT:
其中,β控制稀疏懲罰項,p是稀疏目標(biāo)值;
(4)更新每一個權(quán)重值wjiT:
wjiT←wjiT+ΔwjiT
其中,ΔwjiT=ηδjTxjiT;
η是一個常量參數(shù),控制權(quán)重更新速度,xjiT是節(jié)點j的第i個輸入值;
(5)過程(2)(3)(4)迭代進行多次,至此,文本的稀疏神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練完畢;
步驟4:將圖像的測試樣本輸入其訓(xùn)練好的網(wǎng)絡(luò)模型,得到其網(wǎng)絡(luò)輸出將文本的測試樣本輸入其訓(xùn)練好的網(wǎng)絡(luò)模型,得到其網(wǎng)絡(luò)輸出一個查詢圖像就可以表示為siI∈SI{i=1,2,…nte},待檢索文本可以表示為stT∈ST{t=1,2,…nte},然后求查詢圖像與所有待檢所文本兩兩之間的距離,將所求距離由小到大排序,距離最小的即為與查詢圖像最匹配的文本。
以Wiki圖像文本數(shù)據(jù)集和NUS-WIDE圖像文本數(shù)據(jù)集中的圖像本文數(shù)據(jù)進行驗證,檢索準(zhǔn)確率如表1所示。
表1Wiki數(shù)據(jù)集和NUS-WIDE數(shù)據(jù)集上16種圖像檢索文本的方法對圖像檢索文本的檢索正確率(MAP)比較
可以看出,本發(fā)明模仿人類視覺機制,將圖像和文本的底層特征輸入神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)輸出為二者的語義理解,本發(fā)明將圖像和文本投影到二者共同的語義空間,充分利用了二者的語義信息,并將稀疏編碼的思想引入傳統(tǒng)的反向傳播神經(jīng)網(wǎng)絡(luò),稀疏的限制強制網(wǎng)絡(luò)去學(xué)習(xí)有用的信息,能提高檢索準(zhǔn)確度。
以上所述僅為本申請的優(yōu)選實施例而已,并不用于限制本申請,對于本領(lǐng)域的技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的保護范圍之內(nèi)。
上述雖然結(jié)合附圖對本發(fā)明的具體實施方式進行了描述,但并非對本發(fā)明保護范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護范圍以內(nèi)。