深度哈希-文獻閱讀


文獻一

文獻:Lai H, Pan Y, Liu Y, et al. Simultaneous feature learning and hash coding with deep neural networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3270-3278.

參考博客:https://blog.csdn.net/zijin0802034/article/details/52905137

 

1、Abstract

對於已存在的哈希方法:手工特征+二值編碼。缺點是特征向量與編碼方式可能不兼容。

所以我們提出了一種有監督的哈希方法,在網絡中直接生成二值碼,不用分步進行。

我們提出的網絡結構主要包含三個網絡模塊

  1. 輸入三元組共享網絡結構,提取特征向量;
  2. 使用divide-and-encode模塊切分圖像的特征為q個branch,每一個branch對應1bit;
  3. 設計一個新的損失函數(a triplet ranking loss)。

2、The Proposed Approach

  哈希學習的目標是:學習一個映射$F:I\rightarrow \left \{ 0,1 \right \}^{q}$,將image $I$映射為一個$q$比特的二值碼,使$I$與$I^{+}$的二值碼距離更近,$I$與$I^{-}$的二值碼距離更遠。

  本文設計的深度哈希架構如下:

  輸入:三元組。$I^{+}$是與$I$相似的圖像,$I^{-}$是與$I$不相似的圖像。

  步驟:共享卷積層,提取圖像特征,特征輸入divide-and-encode module,將特征向量分塊生成二值碼,針對目標函數進行迭代,訓練網絡。

  Contributions

  1. 共享卷積層,提取特征向量;
  2. 使用divide-and-encode模塊切分圖像的特征為q個branch,每一個branch對應1bit;
  3. 設計一個新的損失函數(a triplet ranking loss)。

  

  以下分步介紹每一個contribution。

 

2.1 Triplet Ranking Loss and Optimization

  設計一個新的損失函數。

  原來的損失函數:

  $\left \| . \right \|_{H}$代表漢明距離,為了使損失函數可導以便於反向傳播訓練網絡,用$l_{2}$范數代替漢明距離:

 

2.2 Shared Sub-Network with Stacked Convolution Layers

  共享卷積層,提取特征向量。

  網絡參數如圖所示:

  作者在別人網絡結構的基礎上進行修改,在原始網絡的每一個convolution層后面添加了$1\times 1$的卷積層,相當於對卷積層的輸出作一個線性變換。並且把傳統網絡的最后一層的全連接層改為平均池化層。網絡的輸入是$256\times 256$的大小的圖像。輸入是圖像三元組,三張圖片共享網絡的參數,得到三個維度相同圖像特征三元組$\left (x,x^{+},x^{-} \right )$。

 

2.3 Divide-and-Encode Module

  使用divide-and-encode模塊切分圖像的特征為qbranch,每一個branch對應1bit

  之前的deep hash方法就是直接拿圖像的feature通過一個全連接層,然后用sigmoid函數進行激活,得到$q$ bits的hash code,如圖2中b所示。

  作者提出的方法:如果需要得到$q$ bits的hash code。網絡應該輸出$50q$長度的特征,然后將$50q$的特征平均划分為$q$個slice,每一個slice通過一個全連接層,接下來使用sigmoid激活函數限制輸入在[0,1]之內,得到1bit。$q$個slice總共得到$q$比特的hash code。如圖2的a所示。

  好處:減少比特碼之間的冗余,實驗證明這種分塊編碼的方法比使用全連接層效果要好。

  對於每一個50維的slice $x^{(i)}$,經過全連接層變為1維。

  $W_{i}$是權重矩陣。令$c=fc_{i}(x^{(i)})$,通過如下定義的sigmoid函數保證輸出在[0,1]之間;經過sigmoid函數以后,作者又添加了分段閾值函數函數,令$s=sigmoid(c)\epsilon [0,1]$

   因為上述的網絡只能產生實數值的hash code,網絡產生的hash code還需要使用sgn函數進行量化,所以提前進行閾值處理能夠減小量化時候的誤差。

  一幅圖片得到最終的二進制hash code如圖4所示:

 文獻二

 文獻:Jiang Q Y, Li W J. Deep cross-modal hashing[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 3232-3240.

 

 1、Abstract

  因為cross-modal hashing的低存儲成本和快速的查詢能力,被廣泛用於多媒體的相似度檢索中。本論文提出了一個deep cross-modal hashing(DCMH),首次將feature learning和hash-code learning結合到同一個框架中。

  Contributions:

  1. DCMH是一個端到端的深度學習框架,每個模態對應一個特征學習網絡。
  2. 哈希碼問題本質上是一個離散的學習問題,為了使其連續,現有跨模態哈希方法會將離散問題松弛為連續問題,可能會降低哈希碼的准確性。本文提出的DCMH方法直接學習離散哈希碼
  3. 使用圖像-文本真實數據集對模型進行的實驗表明,DCMH可以勝過其他baseline,以實現跨模態檢索應用程序中最先進的性能。

2、Problem Definition

  訓練集有n個樣本,每個樣本具有兩種特征形式:圖像+文本。

  圖像模態:$X=\left \{ x_{i} \right \}_{i=1}^{n}$,$ x_{i}$可能是特征或原始像素。

  文本模態:$Y=\left \{ y_{i} \right \}_{i=1}^{n}$,$ y_{i}$是關於$ x_{i}$相關的標簽信息。

  跨模態相似度矩陣$S$,$S_{ij}=1$表示$ x_{i}$和$ y_{i}$是相似的。

 

  我們的目的是學習兩個散列函數:$b_{i}^{x}=h^{x}(x_{i})\in \left \{ -1,+1 \right \}^{c}$和$b_{i}^{y}=h^{y}(y_{i})\in \left \{ -1,+1 \right \}^{c}$。$c$為二進制代碼的長度。假如$S_{ij}=1$,那么兩哈希碼的距離也要近。

 

3、Deep Cross-Modal Hashing

  DCMH模型如圖1所示,包含兩個部分:特征提取和哈希碼的生成。

  特征提取包含兩個深度神經網絡,一個用於圖像模態,一個用於文本模態。

  圖像模態的深度神經網絡如table 1所示,由五層卷積層和三層全連接層組成。

  文本模態的深度神經網絡如table 2所示,首先利用詞袋模型(BOW)將文本表示為向量,再輸入全連接層。

 

  經過上面的特征學習會得到圖像和文本的哈希碼。

  DCMH是有監督學習,其目標數函數是三個目標的結合:最大化似然函數、二值碼和輸出特征的距離盡可能小、哈希碼的兩種狀態碼盡可能平均,目標函數定義如下:

 

  以上公式中第一項是最小化負對數似然,等價於最大化似然,可以保留$S$中的圖像特征表示$F$和文本特征表示$G$的跨模態相似性,$F_{i*}$和$G_{*j}$之間的相似性在$S_{ij}=1$是很大,在$S_{ij}=0$時很小。

  似然函數的定義如下:

 

  以上公式中第二項的作用是最小化哈希碼和特征的距離,我們希望學習到的哈希碼與網絡學習到的特征盡可能相似,這樣哈希碼就可以更精准的表示特征。通過優化該項,可以得到$B^{(x)}=sign(F)$和$B^{(y)}=sign(G)$,$F$和$G$是$B^{(x)}$和$B^{(y)}$的連續替代。

  以上公式中第三項的作用是使哈希碼取值的概率相等,更具體地說,所有訓練點上每個比特的+1和-1的數量應該幾乎相同,這能夠使每位二值碼提供的信息最大化。

  最后多次實驗,發現如果兩個模態同一個類的訓練樣本的binary code設置為一致,會取得更好的效果。所以我們只訓練$B^{(x)}=B^{(y)}$的點,即$B=B^{(x)}=B^{(y)}$,所以上面的目標函數可以簡化為:

 

  注意我們只訓練$B^{(x)}=B^{(y)}$的點,但是在其他情況下,比如說查詢的情況下,我們還是要為每一個圖像提取兩種模態的特征。

4、Learning

  采取了一種交叉學習的策略:需要訓練的參數有$\theta _{x}$, $\theta _{y}$和$B$,我們每次只訓練一個參數,其他參數固定。

 

  當固定$\theta _{y}$和$B$時,對$\theta _{x}$進行優化:

  當固定$\theta _{x}$和$B$時,對$\theta _{y}$進行優化:

  當固定$\theta _{x}$和$\theta _{y}$時,對$B$進行優化:

 

5、Experiment

  數據集:

 

  實驗一:如下圖,“I——>T”表示查詢是圖像的情況而數據庫是文本,“T——>I”表示查詢是文本而數據庫是圖像的情況,我們可以發現DCMH可以超越所有其他通過手工制作的特征方法的基線。

  跨模態與多模態的概念是不同的,跨模態指用一種模態查詢另外一種模態的數據,多模態是指結合多種模態的特征查詢同一種模態的數據。

 

 基於深度網絡提取特征的實驗結果:

總結

  基於神經網絡的圖像檢索論文看到現在主要改進方向有兩個。一個是特征提取網絡,一個是設計損失函數。

  特征提取網絡可以結合產生哈希值的網絡共用一個損失函數,一步到位。

  損失函數主要考慮哈希碼的影響。

  論文設計的體系結構都非常的類似。

  以上是我一些非常淺顯的認識,還會繼續看論文,找到一些新穎的想法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM