[CVPR 2015] Simultaneous Feature Learning and Hash Coding with Deep Neural Networks [paper]網絡
Hanjiang Lai, Yan Pan, Ye Liu, Shuicheng Yan.ide
NINH方法分爲三個步驟:(1)經過一個卷積網絡獲得中間圖像特徵;(2)經過divide-and-encode模塊獲得每張圖片的哈希編碼;(3)獲得圖像對的triplet ranking loss,再經由反向傳播更新網絡。函數
輸入爲圖像對\((I, I^-, I^+)\),其中\(I\)爲查詢圖像,\(I^-\)爲與\(I\)不類似的圖像,\(I^+\)爲與\(I\)類似的圖像。這種輸入形式能夠更好得表達類似信息「與\(I^-\)相比,圖像\(I\)與\(I^+\)更類似」。Triplet ranking hinge loss定義爲:學習
爲了便於優化,加入鬆弛技巧——將Hamming norm替換爲L2 norm。獲得新的損失函數以下:優化
損失函數關於\(F(I)、F(I^-)、F(I^+)\)的導數爲:ui
由於損失函數的求導過程很是簡單,所以能夠容易結合進神經網絡的反向傳播過程當中。編碼
Shared Sub-Network使用相同的神經網絡結構以及相同的參數獲得triplet圖像對中的每一張圖像的特徵表達。網絡結構和參數以下表所示:spa
在該部分,一種替代的策略是對於圖像\(I\)使用單獨的網絡結構和參數,而圖像\(I^-\)和\(I^+\)使用相同的網絡結構和參數。可是論文中的實驗證實,對三個圖像使用相同的網絡結構和參數的表現會因爲這種替代策略。設計
Divide-and-Encode(DAE)經過Shared Sub-Network獲得每張圖片的特徵向量後,將這個向量切片成r個部分,每一個部分再經過全鏈接層鏈接到一個節點,最後經過sigmoid函數轉化爲[0, 1]以內的值。經過上述步驟,即可以獲得一張圖片r比特的哈希編碼。在這個過程當中,由於每一個哈希編碼是由特徵向量的子部分獲得的,哈希編碼之間的冗餘性少,有利於圖像的檢索。3d
這個部分另外一種策略簡稱爲FC,將整個特徵向量經過全鏈接層直接鏈接到r個節點,再借由sigmoid函數獲得圖片的哈希編碼。顯然這種策略下,每一位哈希編碼都利用到了整個特徵向量的信息,容易形成冗餘。論文的實驗也證實了DAE的表現會因爲FC。