概念理解

如果用学术型的语言描述,Embedding嵌入是一种将高维数据映射到低维空间的方法,以便更好地表示和处理数据。它通过学习数据的内在结构和模式,将数据转化为有意义的向量表示,使得计算机可以更有效地理解和利用数据。

通俗讲,Embedding就是把某类数据,比如一句话、一张图、一个声音文件,转换成一个向量。就是一个映射、转化而已。

比如图片搜索中经常用到的ResNet50模型,给一个图片路径,返回一个向量值。

实例

一个以图搜图应用的基本实现思路是:

1. 所有图片都通过ResNet50获取到其向量值,并存入向量数据库
2. 把要搜索的图片也通过ResNet50获取其向量值
3. 在向量库搜索与第2步中向量值相似度最高的其它图片向量,从而得到相似的图片

向量数据库目前有很多,faiss, milvus等等,向量数据库与传统关系数据库的最大区别就是字段类型除了int string之类,还可以是向量类型,向量类型支持按相似度搜索。

这个技术的关键点在于Embedding嵌入模型:如果能在向量中携带图片的关键信息。