System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算,尤其涉及一種向量檢索方法及裝置。
技術介紹
1、向量檢索技術廣泛應用于人工智能(artificial?intelligence,ai)場景中,具體的,可先通過特征提取手段,把外界采集到的數據(比如圖片、視頻、音頻、文本等)進行分析和處理,得到每個數據對應的特征向量,然后將這些特征向量存儲于特征庫中。進一步的,根據特征庫中的這些特征向量,創建特征庫的索引。在需要檢索某個特征向量時,可根據創建好的該特征庫的索引在特征庫中執行檢索。
2、基于倒排文件系統(inverted?file?system,ivf)的向量檢索是目前較為常見的向量檢索技術之一,具體的,可根據特征庫中特征向量建立特征庫的索引(即ivf),并在向量檢索時根據ivf從特征庫中檢索出某個特征向量。
3、但是基于ivf檢索的過程中,存在計算量大、檢索速度慢的問題。且隨著數據量不斷的增大,基于ivf檢索的速度可能無法滿足業務需求。
技術實現思路
1、本申請提供一種向量檢索方法及裝置,用于解決現有的基于ivf建立的索引應用于向量檢索過程時,存在的計算量大、檢索速度慢的問題。
2、第一方面,本申請提供一種向量檢索方法,該方法具體可以由計算設備執行,或者由計算設備中的處理器執行。該方法包括:獲取待查詢向量;從索引庫中查找與待查詢向量對應的第一索引,其中,索引庫中包括多個索引,每個索引對應一個第一簇,第一簇包括多個第二簇,每個索引記錄了第一簇中心向量、及第一簇中多個第二簇分別對應的多個
3、上述技術方案中,索引庫中包括多個第一簇分別對應的索引,每個索引記錄了第一簇中心向量、及多個第二簇中心向量。相應的,在進行向量檢索時,計算設備可先從索引庫中,選擇待查詢向量對應的第一索引;再從第一索引包括的多個第二簇中心向量中,選擇待查詢向量對應的第二簇中心向量;進而從該選擇出的第二簇中心向量對應的第二簇中選擇待查詢向量相關的目標特征向量,如此,通過多級向量檢索確定出目標特征向量,有助于降低檢索的計算量,加快檢索速度。
4、在一種可能的實現方式中,從索引庫中查找與待查詢向量對應的第一索引,包括:將待查詢向量與索引庫中的多個索引記錄的第一簇中心向量做比較,比較結果滿足第一預設條件的為第一索引。
5、在一種可能的實現方式中,待查詢向量為m維,m為正整數,第二簇中的特征向量為n維,n為正整數且n小于m;從第二簇所包括的多個特征向量中查找與待查詢向量相關的目標特征向量,包括:將待查詢向量由m維降維至n維,即得到降維之后的n維待查詢向量;確定待查詢向量(即n維待查詢向量)分別與第二簇中的多個特征向量(即n維特征向量)之間的相似度;根據相似度,從多個特征向量中選擇目標特征向量。
6、上述技術方案中,計算設備可先對m維特征向量進行降維處理得到的n維特征向量,再存儲該降維處理之后的n維特征向量,如此有助于減少特征向量占用的存儲空間。進一步的,在檢索過程中,計算設備可先對m維待查詢向量進行降維處理得到的n維待查詢向量,從而根據n維待查詢向量分別與多個n維特征向量之間的相似度,從多個n維特征向量中選擇目標特征向量,有助于減少檢索過程中的計算量,進一步提高檢索速度。
7、在一種可能的實現方式中,確定x個第一簇中心向量,以x個第一簇中心向量中的每個第一簇中心向量為中心將特征庫中的特征向量聚類為x個第一簇;對于x個第一簇中的每個第一簇,從中選出y個第二簇中心向量,并將第一簇中的特征向量以y個第二簇中心向量為中心聚類為y個第二簇;針對每個第一簇,生成一個索引,索引用于記錄第一簇中心向量及第一簇中心向量對應的第二簇中心向量。其中,每個第一簇包括的第二簇的數量y相同或不同。其中,x、y均為正整數。
8、上述技術方案中,通過對特征庫中特征向量進行多級聚類,確定第一簇的索引,該第一簇的索引可應用于向量檢索過程中,有助于降低檢索的計算量,加快檢索速度。
9、在一種可能的實現方式中,確定x個第一簇中心向量,具體可以是,對特征庫中預設比例的特征向量(可稱為訓練樣本)進行聚類,得到x個第一簇,并根據每個第一簇中包含的特征向量,確定這個第一簇對應的第一簇中心向量。進一步的,以x個第一簇中心向量中的每個第一簇中心向量為中心,將特征庫中的剩余特征向量聚類至該x個第一簇中。
10、在一種可能的實現方式中,確定y個第二簇中心向量,具體可以是,對第一簇中預設比例的特征向量進行聚類,得到y個第二簇,并根據每個第二簇中包含的特征向量,確定這個第二簇對應的第二簇中心向量。進一步的,以y個第二簇中心向量中的每個第二簇中心向量為中心,將第一簇中的剩余特征向量聚類至y個第二簇中。
11、在一種可能的實現方式中,在將第一簇中的特征向量以y個第二簇中心向量為中心聚類為y個第二簇后,方法還包括:從y個第二簇中選擇第三簇,第三簇中的特征向量的數量小于閾值;確定與第三簇的第二簇中心向量最接近的第二簇中心向量;將第三簇的特征向量合并至所確定的第二簇中心向量對應的第二簇中。
12、上述技術方案中,在將第一簇中多個特征向量進行聚類得到第一簇中的多個第二簇之后,還可動態調整該得到多個第二簇,即將包含特征向量的數量較少的第二簇,合并至與之最接近的包含特征向量的數量較多的第二簇中,避免在查詢第二簇中心向量對應的第二簇時,查詢到(或召回)特征數量較少的第二簇,有助于提高確定出的第二簇的精度。
13、在一種可能的實現方式中,以x個第一簇中心向量中的每個第一簇中心向量為中心將特征庫中的特征向量聚類為x個第一簇之后,還包括:對特征庫中每個特征向量執行:從x個第一簇中,選擇特征向量對應的冗余簇,特征向量與特征向量對應的冗余簇的簇中心向量的相似度符合預設冗余條件;根據特征庫中每個特征向量與各自特征向量對應冗余簇的簇中心向量的相似度,從多個特征向量中選擇需要冗余存儲的冗余特征向量,以使得冗余特征向量對應的冗余簇中包括冗余特征向量。
14、上述技術方案中,將冗余特征向量進行冗余存儲,從而可通過多個第二簇獲取到(或召回)該冗余特征向量,有助于提高獲取到(或召回)該冗余特征向量的概率。
15、在一種可能的實現方式中,第二簇中特征向量為m維特征向量,m為正整數;方法還包括:對第二簇中每個m維特征向量進行降維處理,得到m維特征向量對應的n維特征向量,n為正整數且小于m;存儲第二簇中每個m維特征向量對應的n維特征向量。
16、上述技術方案中,先對m維特征向量進行降維處理,得到m維特征向量對應的n維特征向量,從而有助于減少特征向量存儲所占用的存儲空間。且在向量檢索過程中,有本文檔來自技高網...
【技術保護點】
1.一種向量檢索方法,其特征在于,包括:
2.如權利要求1所述的方法,其特征在于,所述每個索引對應一個第一簇,所述第一簇包括第一簇中心向量,所述第一簇對應的特征向量以所述第一簇中心向量聚類,所述第一簇包括所述多個第二簇,所述從索引庫中查找與所述待查詢向量對應的第一索引,包括:
3.如權利要求1所述的方法,其特征在于,所述待查詢向量為M維,M為正整數,所述第二簇中的特征向量為N維,N為正整數且N小于M;所述從所述第二簇所包括的多個特征向量中查找與所述待查詢向量相關的目標特征向量,包括:
4.如權利要求1-3中任一項所述的方法,其特征在于,還包括:
5.如權利要求4所述的方法,其特征在于,在將所述第一簇中的特征向量以所述Y個第二簇中心向量為中心聚類為Y個第二簇后,所述方法還包括:
6.一種向量檢索裝置,其特征在于,包括處理器,所述處理器與存儲器相連,所述存儲器用于存儲計算機程序,所述處理器在執行所述存儲器中存儲的計算機程序時用于:
7.如權利要求6所述的裝置,其特征在于,所述每個索引對應一個第一簇,所述第一簇包括
8.如權利要求6所述的裝置,其特征在于,所述待查詢向量為M維,M為正整數,所述第二簇中的特征向量為N維,N為正整數且N小于M;所述處理器在從所述第二簇所包括的多個特征向量中查找與所述待查詢向量相關的目標特征向量時,具體用于:
9.如權利要求6-8中任一項所述的裝置,其特征在于,所述處理器還用于:
10.如權利要求9所述的裝置,其特征在于,所述處理器在將所述第一簇中的特征向量以所述Y個第二簇中心向量為中心聚類為Y個第二簇后,還用于:
11.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質中存儲有計算機程序或指令,當所述計算機程序或指令被向量檢索裝置執行時,實現如權利要求1至5中任一項所述的方法。
12.一種芯片,其特征在于,包括至少一個處理器和接口;所述接口,用于為所述至少一個處理器提供程序指令或者數據;所述至少一個處理器用于執行所述程序行指令,以實現如權利要求1至5中任一項所述的方法。
...【技術特征摘要】
1.一種向量檢索方法,其特征在于,包括:
2.如權利要求1所述的方法,其特征在于,所述每個索引對應一個第一簇,所述第一簇包括第一簇中心向量,所述第一簇對應的特征向量以所述第一簇中心向量聚類,所述第一簇包括所述多個第二簇,所述從索引庫中查找與所述待查詢向量對應的第一索引,包括:
3.如權利要求1所述的方法,其特征在于,所述待查詢向量為m維,m為正整數,所述第二簇中的特征向量為n維,n為正整數且n小于m;所述從所述第二簇所包括的多個特征向量中查找與所述待查詢向量相關的目標特征向量,包括:
4.如權利要求1-3中任一項所述的方法,其特征在于,還包括:
5.如權利要求4所述的方法,其特征在于,在將所述第一簇中的特征向量以所述y個第二簇中心向量為中心聚類為y個第二簇后,所述方法還包括:
6.一種向量檢索裝置,其特征在于,包括處理器,所述處理器與存儲器相連,所述存儲器用于存儲計算機程序,所述處理器在執行所述存儲器中存儲的計算機程序時用于:
7.如權利要求6所述的裝置,其特征在于,所述每個索引對應一個第一簇,所述第一簇包括第一簇中心向量,所述...
【專利技術屬性】
技術研發人員:馬婧婷,付爍,薛代豪,王兵,張夢陽,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。