距离向量算法_阿里北大:深度哈希算法最新综述
來源:我愛計算機視覺
編輯:安然
圖靈聯邦編輯部出品
最近鄰搜索(Nearest neighbor search)是指在數據庫中查找與查詢數據距離最近的數據點,是計算機視覺、推薦系統、機器學習等領域的基本問題。
比如在基于內容的圖像檢索中,在計算完查詢圖像特征向量后,需要在成千上萬甚至幾十億的數據庫圖像特征向量中查找距離最小的Top n 幅圖像,作為結果返回給用戶。
Facebook的FAISS是這一領域重要的開源庫:
https://github.com/facebookresearch/faiss
這個過程必須考慮計算和存儲效率,而使用哈希算法將特征向量二值化,把問題轉化為二值向量再進行比較是使用最廣泛的方法。隨著深度學習在該領域的應用,深度哈希算法取得了比傳統方法更好的結果。
昨日,阿里巴巴達摩院與北京大學的研究學者發布了一篇論文A Survey on Deep Hashing Methods,參考了138篇近幾年的文獻,對使用深度學習的哈希方法進行了全面的綜述,非常值得該領域的朋友參考。
哈希方法既然是將原浮點型向量轉化為0-1二值向量,使得原空間中兩數據點與二值向量空間數據點的距離盡量相似,作者就按照在深度哈希方法中損失函數里相似性保留方法對算法進行了分類。
主要分五類:
1. 成對相似性保留(pairwise similarity preserving)
在計算Loss時,以保留兩個數據項之間距離相似性為目標,這一類別下包含Product loss minimization、Difference loss minimization、 Likelihood loss minimization方法。
2. 多對相似性保留(multiwise similarity preserving)
在計算Loss時,以保留多于兩個數據項之間距離相似性為目標,三元組損失函數(triplet loss)是這一方向最常見的。
Deep Neural Network Hashing、Deep Regularized Similarity Comparison Hashing、Deep Triplet Supervised Hashing、Deep Semantic Ranking-based Hashing 是這一類中代表性方法。
3. 隱式相似性保留(implicit similarity preserving)
在Loss函數設計時,沒有顯式的使用成對或多對的相似性信息保留,但他們依然利用了其間的相似關系,比如利用互信息。
Hashing with Mutual Information、Hashing as Tie-Aware Learning to Rank、Angular Deep Supervised Hashing是這一類代表性方法。
4. 面向分類的深度哈希(Classification-oriented deep hashing)
Loss函數設計時,利用分類信息而非距離相似性信息,哈希碼是與數據的類別標簽相關的,這一類中遷移學習和特征提取是主流方法。
Deep Binary Hashing、Supervised Semantics-preserving Deep Hashing、Very Deep Supervised Hashing、SUBIC、Mutual Linear Regression-based Discrete Hashing、Central Similarity Hashing、Hadamard Codebook Based Deep Hash是這一類的代表性方法。
5. 量化(quantization)
使用量化方法進行深度監督哈希的方法。
Deep Quantization Network、Deep Triplet Quantization、Deep Visual-semantic Quantization、Deep Product Quantization、Deep Spherical Quantization、Similarity Preserving Deep Asymmetric Quantization 是這一方向的代表性方法。
論文還討論了該領域的一些新方向:
作者指出MNIST、CIDAR-10、ImageNet、NUS-WIDE、COCO是該領域常用數據集。
作者列出了部分算法在CIFAR-10、NUS-WIDE數據集上的結果:
由此結果作者總結:
論文地址:
https://arxiv.org/abs/2003.03369
總結
以上是生活随笔為你收集整理的距离向量算法_阿里北大:深度哈希算法最新综述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将本地代码备份到Github publi
- 下一篇: iOS AutoLayout使用技巧