2021-05-24 深度離散哈希網(wǎng)絡(luò)(中科院2017NIPS)

1. 介紹:

近年來(lái),隨著web上圖像和視頻數(shù)據(jù)的快速增長(zhǎng),哈希引起了更多的關(guān)注。對(duì)于圖像和視頻檢索來(lái)說(shuō),由于哈希帶來(lái)的低計(jì)算成本和高存儲(chǔ)效率,哈希成為最流行的技術(shù)之一。通俗講,哈希是在保留了圖像或視頻的相似度基礎(chǔ)上,用來(lái)將高維數(shù)據(jù)轉(zhuǎn)換成一串二進(jìn)制碼?,F(xiàn)有的哈希方法大致分成兩類:數(shù)據(jù)無(wú)關(guān)和數(shù)據(jù)相關(guān)。

數(shù)據(jù)無(wú)關(guān)方法依賴于隨機(jī)投射來(lái)構(gòu)造哈希函數(shù)。局部敏感哈希(LSH)是最有代表性的一種,它使用隨機(jī)線性投射來(lái)講附近的數(shù)據(jù)映射成相似的二進(jìn)制碼。LSH廣泛應(yīng)用于大規(guī)模的圖像檢索。為了推廣LSH以適應(yīng)任意的核函數(shù),核化的局部敏感哈希(KLSH)是用來(lái)處理高維核化數(shù)據(jù)的。最近幾年也提出了其他變體的LSH,例如超比特LSH,非度量LSH等。然而,與數(shù)據(jù)無(wú)關(guān)的哈希方法存在一些局限,它不使用訓(xùn)練數(shù)據(jù),學(xué)習(xí)效率低,并且需要更長(zhǎng)的哈希碼來(lái)獲取高的精度。鑒于數(shù)據(jù)無(wú)關(guān)哈希方法存在的這些局限,最近的哈希方法都是試圖利用各種基于給定數(shù)據(jù)集學(xué)習(xí)更有效哈希函數(shù)的機(jī)器學(xué)習(xí)技術(shù)。

數(shù)據(jù)相關(guān)方法是指利用訓(xùn)練數(shù)據(jù)來(lái)學(xué)習(xí)哈希函數(shù)。他們可以進(jìn)一步歸類為監(jiān)督和無(wú)監(jiān)督方法。在某些距離度量下,無(wú)監(jiān)督學(xué)習(xí)檢索鄰居。迭代量化(ITQ)就是其中無(wú)監(jiān)督散列方法的代表。其中投影矩陣通過(guò)迭代投影和根據(jù)給定的訓(xùn)練樣本進(jìn)行閾值化.為了利用數(shù)據(jù)的語(yǔ)義標(biāo)簽樣本,提出了監(jiān)督哈希算法。帶核監(jiān)督哈希(KSH)是這種類型的廣為周知的方法,它通過(guò)最小化相似對(duì)之間的漢明距離,同時(shí)最大化不同對(duì)之間的漢明距離。二進(jìn)制重構(gòu)嵌入(BRE)通過(guò)顯式最小化漢明空間中原始距離和重構(gòu)距離之間的重構(gòu)誤差來(lái)學(xué)習(xí)hash函數(shù)。保序散列法(OPH)通過(guò)保留散列碼的順序來(lái)學(xué)習(xí)散列碼基于語(yǔ)義標(biāo)簽的有監(jiān)督排序列表信息。 監(jiān)督離散散列(SDH)旨在使用離散循環(huán)坐標(biāo)下降法直接優(yōu)化二進(jìn)制散列碼。

近期,基于深度學(xué)習(xí)的散列方法被提出來(lái)同時(shí)學(xué)習(xí)圖像表示與哈希編碼,已經(jīng)表現(xiàn)出比傳統(tǒng)哈希方法更好的性能。卷積神經(jīng)網(wǎng)絡(luò)哈希(CNNH)是將深層神經(jīng)網(wǎng)絡(luò)融入哈希編碼的早期工作之一 ,它包括兩個(gè)階段來(lái)學(xué)習(xí)圖像表示和哈希碼。CNNH的一個(gè)缺點(diǎn)是,學(xué)習(xí)的圖像表示不能反饋學(xué)習(xí)更好的散列碼。為了克服CNNH網(wǎng)絡(luò)的缺點(diǎn), 在網(wǎng)絡(luò)散列(NINH)中,為了捕獲圖像的相對(duì)相似性,提出了一種三元組排序損失。圖像表示學(xué)習(xí)和散列編碼能夠在同一個(gè)組織框架內(nèi)相互促進(jìn)。深層語(yǔ)義排序哈希(DSRH)通過(guò)保留多標(biāo)簽圖像間的語(yǔ)義相似性來(lái)學(xué)習(xí)哈希函數(shù)。其他基于排名的深度散列方法近年來(lái)也有人提出。除了基于三元組排序的方法外,還有一些基于深度散列的成對(duì)標(biāo)簽的方法也被運(yùn)用。受交替方向乘子法(ADMM)的啟發(fā),研究者提出了一種新穎高效的訓(xùn)練算法,用于訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)的有監(jiān)督哈希算法,分類信息用于學(xué)習(xí)哈希碼,將二進(jìn)制約束放松為連續(xù)的,然后對(duì)得到的連續(xù)變量設(shè)置閾值到二進(jìn)制代碼。

雖然基于深度學(xué)習(xí)的圖像檢索方法已經(jīng)取得了很大的進(jìn)展,之前的深度哈希方法也存在一些局限(如語(yǔ)義信息未被充分利用)。近年來(lái)的研究試圖將整個(gè)學(xué)習(xí)過(guò)程在多任務(wù)學(xué)習(xí)框架下劃分為兩個(gè)流,哈希流用于學(xué)習(xí)哈希函數(shù),而利用分類流挖掘語(yǔ)義信息。雖然雙流框架可以提高檢索性能,但是分類流只用于學(xué)習(xí)圖像表示,它對(duì)哈希函數(shù)沒(méi)有直接影響。在本文中,我們使用CNN同時(shí)學(xué)習(xí)圖像表示和哈希函數(shù)。CNN的最后一層基于成對(duì)標(biāo)簽信息和分類信息直接輸出二進(jìn)制編碼。這項(xiàng)工作的貢獻(xiàn)總結(jié)如下:

1)我們方法的最后一層是直接輸出二進(jìn)制碼。學(xué)習(xí)的二進(jìn)制碼保留了相似關(guān)系的同時(shí)保留了標(biāo)簽的一致性。據(jù)我們所知,這是第一次深度哈希方法,利用兩對(duì)成對(duì)標(biāo)簽信息和分類信息,在一個(gè)流框架下學(xué)習(xí)哈希碼。

2)為了減小量化誤差,我們保持在優(yōu)化過(guò)程中散列碼的離散性。研究者提出了交替最小化,通過(guò)離散循環(huán)坐標(biāo)下降法來(lái)優(yōu)化目標(biāo)函數(shù) 。

3)大量的實(shí)驗(yàn)表明,我們的方法在基準(zhǔn)數(shù)據(jù)集上進(jìn)行圖像檢索優(yōu)于目前最先進(jìn)的方法,再次證明了我們提出的方法的有效性。

2. 深度監(jiān)督離散哈希

2.1 問(wèn)題定義

? ?給定N個(gè)圖像樣本

哈希編碼是學(xué)習(xí)K位二進(jìn)制碼

,其中第i列

表示第i個(gè)樣本xi的二進(jìn)制碼。二進(jìn)制代碼由哈希函數(shù)h(·)生成,可以重寫為[h1(·)、...、hc(·)]。對(duì)于圖像樣本xi,其哈希碼可以表示為bi=h(xi)=[h1(xi)、……、hc(xi)]。一般來(lái)說(shuō),哈希是為了學(xué)習(xí)哈希函數(shù),以將圖像樣本投影到一組二進(jìn)制編碼中。

2.2 相似度度量

在監(jiān)督哈希過(guò)程中,標(biāo)簽信息被給出為

其中

對(duì)應(yīng)于樣本xi,c是類別數(shù)。請(qǐng)注意,一個(gè)樣本可能屬于多個(gè)類別。給定語(yǔ)義標(biāo)簽信息,成對(duì)標(biāo)簽信息為:S={sij},sij∈{0,1},其中xi和xj語(yǔ)義相似時(shí)sij=1,xi和xj語(yǔ)義不相似時(shí)sij=0。對(duì)于兩個(gè)二進(jìn)制碼bi和bj,它們的漢明距離與內(nèi)部積h、i的關(guān)系如下:

如果兩個(gè)二進(jìn)制碼的內(nèi)積很小,它們的漢明距離就會(huì)很大,反之亦然。因此,不同哈希碼的內(nèi)積可以用來(lái)量化其相似性。給定兩兩相似關(guān)系S={sij},哈希碼的最大后驗(yàn)(MAP)估計(jì)可以表示為

方程1

其中,p(S|B)表示似然函數(shù),p(B)為先驗(yàn)分布。對(duì)于每一對(duì)圖像,p(sij|B)是給定其哈希碼B的sij的條件概率,其定義如下:

方程2

其中:

是sigmoid函數(shù),

從方程2可以看出,內(nèi)積<bi,bj>越大,p(1|bi,bj)就越大,這意味著bi和bj應(yīng)該被歸類為相似,反之亦然。因此,方程式2是哈希碼的一個(gè)合理的相似度度量。

2.3 損失函數(shù)

近年來(lái),基于深度學(xué)習(xí)的方法在目標(biāo)檢測(cè)、圖像分類、圖像分割等方面表現(xiàn)出了比傳統(tǒng)手工制作特征的優(yōu)越性能。在本部分中,我們利用CNN的最新進(jìn)展來(lái)學(xué)習(xí)哈希函數(shù)。為了與其他深度哈希方法進(jìn)行公平的比較,我們選擇了CNN-F網(wǎng)絡(luò)架構(gòu)作為我們算法的一個(gè)基本組成部分。該體系結(jié)構(gòu)在最近的作品中被廣泛用于學(xué)習(xí)哈希函數(shù)。具體地說(shuō),有兩個(gè)獨(dú)立的CNNs來(lái)學(xué)習(xí)哈希函數(shù),它們共享相同的權(quán)重。成對(duì)樣本用作這兩個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)的輸入。CNN模型由5個(gè)卷積層和2個(gè)完全連通的層組成。最后一個(gè)完全連接層中的神經(jīng)元數(shù)量等于哈希碼的數(shù)量。

考慮到相似度測(cè)度,使用以下?lián)p失函數(shù)來(lái)學(xué)習(xí)哈希碼:

方程3

方程3是負(fù)對(duì)數(shù)似然函數(shù),它使兩個(gè)相似點(diǎn)的漢明距離盡可能小,同時(shí)使兩個(gè)不同點(diǎn)的漢明距離盡可能大。雖然使用成對(duì)標(biāo)簽信息來(lái)學(xué)習(xí)方程式3中的哈希函數(shù),但標(biāo)簽信息并沒(méi)有得到充分利用。之前的大部分工作都利用了雙流多任務(wù)學(xué)習(xí)框架下的標(biāo)簽信息。分類流用于測(cè)量分類誤差,而哈希流用于學(xué)習(xí)哈希函數(shù)。我們的算法的一個(gè)基本假設(shè)是,學(xué)習(xí)到的二進(jìn)制碼應(yīng)該是理想的分類。為了直接利用標(biāo)簽信息,我們期望學(xué)習(xí)到的二進(jìn)制碼對(duì)于聯(lián)合學(xué)習(xí)到的線性分類器是最優(yōu)的。我們使用一個(gè)簡(jiǎn)單的線性分類器來(lái)建模學(xué)習(xí)的二進(jìn)制代碼和標(biāo)簽信息之間的關(guān)系:

方程4

其中W=[w1,w2,…,WK]是分類器權(quán)重,Y=[y1,y2,…,YN]是地面標(biāo)簽向量。損失函數(shù)可計(jì)算為:

方程5

是矩陣的弗洛比尼烏斯范數(shù)。結(jié)合方程式5和方程式3,我們有以下公式:


方程6

其中,μ是權(quán)衡參數(shù),ν=λμ。假設(shè)我們?yōu)榫€性分類器選擇l2損失,方程式(6)被重寫如下:

方程7

2.4 優(yōu)化

3. 實(shí)驗(yàn)

3.1 實(shí)驗(yàn)設(shè)置

3.2 實(shí)證分析

3.3?在第一個(gè)實(shí)驗(yàn)環(huán)境下的結(jié)果

3.4?在第二個(gè)實(shí)驗(yàn)裝置下的結(jié)果

3.5?利用深度學(xué)習(xí)特征與傳統(tǒng)散列方法的比較

4. 結(jié)論

5.知識(shí)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容