Optimized Product Quantization 論文筆記


  • 摘要

  乘積量化(PQ)是一種有效的矢量量化方法。乘積量化器可以以非常低的存儲器/時間成本生成指數大的碼本。 PQ的本質是將高維向量空間分解為子空間的笛卡爾乘積,然后分別量化這些子空間。最佳空間分解對於PQ性能很重要,但仍然是一個未解決的問題。在本文中,我們通過最小化空間分解和量化碼本的量化失真來優化PQ。我們為這一具有挑戰性的優化問題提出了兩種新穎的方案:第一個解決方案迭代地解決了兩個更簡單的子問題;第二種解決方案基於高斯假設,並提供最優性的理論分析。我們在三個應用中評估我們的優化乘積量化器:(i)用於詳盡排序的緊湊編碼[1],(ii)為非窮舉搜索構建反向多索引[2],以及(iii)用於圖像檢索的壓縮圖像表示[ 3]。在所有應用中,我們的優化乘積量化器優於現有解決方案。

  • 簡介

  在本文中,我們將PQ表示為一個優化問題,通過尋找最佳碼字和空間分解來最小化量化失真。由於大量未知參數,這種優化問題具有挑戰性。在這項工作中,我們提出兩種解決方:在第一個解決方案中,我們迭代地解決了兩個更簡單的子問題:用固定的碼字求解空間分解,反之亦然。該解決方案是非參數的,因為它不假設關於數據分布的任何先驗信息。我們的第二個解決方案是參數解決方案,因為它假設數據遵循高斯分布。在這個假設下,我們推導出量化失真下界的分析公式。然后我們理論上證明當(i)子空間相互獨立時,這個下界被最小化,同時(ii)矢量在所有子空間中具有平衡的方差。基於這些理論,我們提出了一種簡單的特征值分配方法來有效地優化空間分解。

  我們通過實驗證明了我們三種應用中的方法的優越性

  1. 當用於窮舉搜索的緊湊編碼時,我們的方法優於PQ和其他VQ方法的幾種變體。 我們的方法也比各種最先進的二值化方法好得多。  
  2. 當用於構建倒排索引時,我們的方法通過優化其碼本來改進“反向的多索引”[2]。當我們在反向多索引和緊湊編碼的組合中采用優化的PQ時,性能可以進一步提高。10億SIFT數據集的最好的效果。
  3. 我們進一步應用我們優化的PQ壓縮圖像表示(VLAD [3]和Fisher矢量[11])進行圖像檢索。 我們的方法提供了比原始PQ編碼方法更好的檢索精度。

 

  • 優化的乘積量化

  我們使用量化失真作為目標函數來評估乘積量化器的最優性。 乘積量化器涉及將D維向量空間分解為M個子空間並計算每個子空間的子碼本。我們同時考慮子碼本和空間分解。

  我們使用正交矩陣R來表示空間分解。 注意,尺寸的任何重新排序(置換)可以由正交矩陣表示。 所以R決定將空間分解成M個等維子空間的所有自由度。

  考慮到子碼本和空間分解,我們優化了以下目標:

  

  在這個問題中,自由參數由子碼本(C1; ...; CM)和空間分解R組成。R的附加自由參數允許向量空間旋轉,從而放松對碼字的約束。 因此,與預先固定的R相比,優化的乘積量化器可以減少量化失真。

  將x分配給最近的碼字c相當於將Rx分配給最近的Rc。 為了應用優化的量化器進行編碼,我們只需要通過Rx預處理數據,其余步驟與PQ中的步驟相同。

  • 一個非參數的解決方案

  圖2顯示了我們算法的收斂性。 在實踐中,我們發現100次迭代足以用於ANN搜索。 像許多其他交替優化算法一樣,我們的算法是局部最優的,最終的解決方案取決於初始化。 在下一節中,我們提出了一個參數解決方案,當沒有給出其他先驗知識時,該解決方案可用於初始化上述迭代算法。

  • 一個參數的解決方案

  我們進一步提出另一種解決方案,假設數據遵循參數高斯分布。 該參數解決方案具有實際和理論上的優點。 首先,它是一種更簡單的方法,如果數據遵循高斯分布,則是最優的。 其次,它提供了一種初始化非參數方法的方法。 第三,它為一些其他人工神經網絡方法中兩個常用標准提供了新的理論解釋。

 


免責聲明!

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



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