推荐系统[九]项目技术细节讲解z3:向量检索技术与ANN搜索算法[KD树、Annoy、LSH局部哈希、PQ乘积量化、IVFPQ倒排乘积量化、HNSW层级图搜索等],超级详细技术原理讲解

2023-03-10 09:25:01 浏览数 (2)

1.向量定义应用

1.1 物皆可embedding

如何表达一个物品/元素?

在现实世界中,我们认识和理解一个事物,总是会想办法捕捉它的一些特质或者属性。比如路边一朵红色的野花,那么仅从颜色这个维度,我们可以使用离散的0,1来表达。如 【1,0,0】

但仅从颜色描述是不够的,还有花的种类,气味,高度,用途等等。把所有的属性枚举出来,排列好位置,元素对应属性的位置点亮,那么一朵沁人心脾的红色梅花 = 【1,0,0,1,0,0,1,0】

上面分别就是 one-hot 与multi-hot的编码标识,在传统机器学习中比较常见。但这样会遇到几个问题:

  • 真实世界,物品描述的属性维度特别多,且值非常稀疏。(几十上百万个维度也是正常的)
  • 物品的属性无法完整枚举到。(很多肉眼看不到的属性)
  • 物品的属性包含离散和连续(比如价格属性可能就是连续的)

embedding 是 使用连续数值向量对元素的一种低维度表达(从可能几十万维度降低到n维度,n一般为 128,256等较低的数值)

可参考:

0 人点赞