[AAAI 2014] Supervised Hashing via Image Representation Learning [paper] [code]
Rongkai Xia , Yan Pan, Hanjiang Lai, Cong Liu, Shuicheng Yan.
1. Overcome
之前的哈希方法,大都使用手工的圖像特征(如GIST等)作為圖像的特征表達, 但是這些手工特征是采用無監督的方式提取的,難以很好得保存原始圖片的語義信息。而深度深度神經網絡可以很好得表達圖像特征信息,因此作者便提出了基於深度的哈希檢索方法——CNNH。
2. Contribute
- 第一個采用深度神經網絡解決哈希檢索問題;
- 采用coordinate descent method學習數據集的近似哈希編碼,效率高,計算速度快;
- 在學習哈希函數的同時可以得到圖像的特征表達。
3. Algorithm
論文中,作者提出了一種監督哈希方法——CNNH,可以同時學習到圖像的特征表達以及哈希函數。
CNNH具有兩個階段,Stage 1將相似矩陣分解為低維的哈希矩陣H,得到每個樣本對應的哈希編碼。但是這個過程並沒有學習到哈希函數,因此無法對新的圖像進行哈希編碼;Stage 2利用Stage 1得到的哈希編碼,以及每個樣本對應的類別標簽作為ground-truth來訓練網絡,從而得到哈希函數。假設Stage 1的哈希編碼有r個比特位,樣本的類別數有c個,那么網絡輸出層的節點就共有(r + c)個輸出節點。
CNNH的輸入為原始的圖片信息,假設網絡已經訓練完畢后,對於一張新的測試圖片,CNNH輸出層的前r個節點就是該圖片所對應的哈希編碼,后c個節點則表示了圖片的類別信息。
Stage 1
根據類別標簽獲得相似矩陣S,根據KSH中的結論,\(H_{i·}\)和\(H_{j·}\)的漢明距離與內積$H_{i·}H_{j·}^T $是一一對應的,因此可以得到如下目標優化函數:

其中,為了解決優化問題,令\(H ∈ [−1,1]^{n×q}\)>。
之后,通過coordinate descent method方法每次單獨對\(H_{i,j}\)進行更新。為了確保每次更新的\(H_{ij}\)不超過[-1, 1]的范圍,對更新步長d加入以下操作。這個操作確保了在對\(H_{ij}\)更新時,值不會超過[-1, 1],如果d小於\(H_{ij}\)與邊界的距離,則取d,如果大於則取-1或1。

算法流程如下:

Stage 2
Stage 2利用Stage 1得到的哈希編碼,以及每個樣本對應的類別標簽作為ground-truth來訓練神經網絡。
CNNH網絡具有三個卷積層,分別有32, 64, 128 filters。輸出層有(r + c)個節點,其中r為哈希編碼的比特數,c為數據集的類別數。類別標簽的引入使得網絡具有了遷移學習的能力,能夠更好得學習到圖像的特征表達。在訓練完畢后,全連接層所對應的值就是每張圖片的特征向量。