火山向量数据库 VikingDB 是基于火山引擎的云基础设施搭建,用于生产、存储、索引和分析来自机器学习模型产生的海量向量数据的数据库系统。该数据库内置多种火山引擎自研索引算法,并沉淀字节多业务线大规模、多场景实践经验,支持百亿级向量检索规模,可广泛应用于智能问答、智能搜索、推荐系统和数据去重等领域。
非结构化数据是指数据结构不规则、没有统一的预定义数据模型、不方便用数据库二维逻辑表来表现的数据,包括图片、视频、音频、自然语言等。非结构化数据可以通过各种人工智能(AI)或机器学习(ML)模型转化为向量数据。
向量是指在数学中具有一定大小和方向的量,文本、图片、音视频等非结构化数据, 通过机器学习/深度学习模型 Embedding 提取出来的“特征” 用数学中的向量来表示。
特征向量是包含事物重要特征的向量。大家比较熟知的一个特征向量是 RGB(红-绿-蓝)色彩,每种颜色都可以通过对红(R)、绿(G)、蓝(B)三种颜色的比例来得到,这样一个特征向量可以描述为:颜色 = [红,绿,蓝]。对于一个像素点,我们可以用数组 [255, 255, 255] 表示白色,用数组 [0, 0, 0] 表示黑色,这里 [255, 255, 255]、[0, 0, 0] 可以认为是该像素点的特征向量。
通过深度学习神经网络提取非结构化数据里的内容和语义,把图片、视频等变成特征向量,这个过程叫Embedding。
相似度检索是指将目标对象与数据库中数据进行比对,并召回最相似的结果。同理,向量相似度检索是一种基于向量空间模型的检索方法,用于计算和比较两个向量之间的相似度,返回最相似的向量数据。如果两条向量十分相似,意味着他们所代表的源数据(例如图片)也十分相似。向量数据库 VikingDB支持的向量相似度检索算法如下表所示。
向量相似度检索算法 | 算法说明 |
---|---|
内积(ip) | 全称是 Inner Product,内积,该算法基于向量的内积,即两个元素的对应元素相乘并求和的结果计算相似度,内积值越大相似度越高。 |
欧几里得距离(L2) | 欧几里得距离,它计算两个向量的欧几里得空间距离,欧式距离越小相似度越高。 |
余弦相似度(cosine) | 余弦相似度(Cosine Similarity),也称为余弦距离(Cosine Distance),用于计算两个高维向量的夹角余弦值从而衡量向量相似度,夹角余弦值越小表示两向量的夹角越大,则两个向量差异越大。 |