一、?嵌入模型 Embedding Models
? ? ? ?嵌入模型是將復雜數據(如文本、圖像、音頻等)轉換為向量表示的機器學習模型
1. 核心概念
-
嵌入(Embedding):將高維、非結構化的數據映射到低維、稠密的向量空間
-
向量表示:輸出固定長度的數值向量(如256維、768維等)
-
語義保留:相似的數據在向量空間中距離相近
?
2. 嵌入模型案例
將狗向量化,每一個比較標準即是一個向量維度,例如下圖是一個二維向量
當比較標準越多,對向量的比較(相似度、區分度)也就越高,例如下圖是一個高維向量
?
3.?常見嵌入模型類型
? ? ? ?依此標準,萬物皆可向量化,例如文字、圖片、音頻、視頻、多模態數據,均可以有自己的標準實現向量化。
?
嵌入模型將萬物向量化,而向量數據庫就用于存儲、比較這些向量數據。
?
4. 向量存儲案例
?
二、 向量的比較方法
1. 與普通數據庫的差異
與普通數據庫的“精確”匹配不同,向量比的是“相似性”。
例如我想搜索“廣州”
- 普通數據庫查詢寫法只能是 ='廣州'?或者 like '%廣州%'
- 向量搜索 輸入可以是 “早茶”、“白云山”、“羊城”,返回結果依然有廣州
?
2. 暴力搜索(平坦搜索)
? ? ? ? 即逐一比較,這是唯一能真正做到精確比較方法。
? ? ? ?如果我們要求精確返回最相似的 top k個值,專業術語叫做?k-最近鄰搜索 (k-Nearest Neighbors Search, k-NN Search),然而,對于高維向量而言,這不現實也沒必要。
? ? ? ?使用近似算法犧牲少量精度換取顯著性能提升,是實際向量數據庫中最常用的實現方式,專業術語叫做?近似最近鄰搜索(Approximate Nearest Neighbors, ANN)。
?
3. 聚類搜索 IVFFlat
? ? ? ?IVFFlat 即 Inverted File with Flat Compression?是向量數據庫中常用的 ANN算法,由Facebook的FAISS團隊提出,專門用于高效處理大規模向量相似性搜索。
? ? ? ?其核心是將向量分為不同的群集,找到各個群集的中心點。這樣,只需將向量與各中心點比較,即可大致找到與待查詢向量最近的群集,然后在群集中搜索,大幅縮小查詢范圍
?
?
4. 圖搜索
?
未完待續...
?
?