AI领域的语义空间是什么?
写在前面:
本文将从简单的二维空间来逐渐展开问题,带您理解语义空间。
距离和体型:
这里尝试用距离和体型这两个尺度来理解语义空间,先说的是低维情况,后面在尝试理解高维的情况。
比如,在二维空间的x,y坐标系,如果横纵坐标表示的是距离,例如A(10,15)这个点分别表示距离x轴和y轴的距离是15米和10米,那么显然这个点是和B(11,15)这个点是很近(欧氏距离小)的。在向量表示上,这两个向量的余弦相似度也非常高。这里的“距离x轴的距离和距离y轴的距离”,就是每个点的“属性或者说特征”。于是我们得出了这样的结论:因为二者“特征/属性非常接近”,(从欧氏距离或者余弦相似度的角度来看),所以这两个点在二维空间的分布上是非常接近的。(特征数据-->关于特征的结论)
类似的,如果(160,60)这个数据代表某人的身高和体重,对于两组数据(162,62)(160,60),我们可以自然的得出这样的结论:这两个人的“体型非常相似”。因为这两组数据如果放在二维空间,不论是从欧氏距离还是余弦相似度的角度来看,这两组数据所代表的点/向量是非常接近的。这里的“身高和体重就是某个人的特征”(特征数据-->关于特征的结论)
从上面的两个例子,我们可以总结出这样的规律,如果两组数据在对应维度的空间是“相近的”,(这里的相近,一般的衡量方式就是欧式距离或者余弦相似度这类计算方法,在高维空间,往往就是采用转成向量,计算余弦相似度的方案)那么这两组数据所代表的实例,在现实中具有类似的特征。毕竟,在计算科学领域,事物的特征总是会尽可能的用冰冷的数据来衡量。我们只是反过来,用数据判断事物之间的特征。
在AI领域,经常需要处理高维数据,或者多特征的情况。上面的两个例子都是假设二维空间的情况,某个点也只有两个特征。但现实中,比如物体他可以有很多特征(距离x轴距离,距离y轴距离,颜色,质量,密度...)每个特征都会使用数据来衡量,那么当两个物体在这些特征数所对应的高维空间“非常近时”,我们就认为这两个物体的特征非常类似,也即他们可能具有近似的颜色,质量,密度...
这里的不论是高维还是前面的二维空间,都可以认为是一种语义空间。比如在距离的例子中,x-y这个二维空间中的向量就能够表达某个点的位置信息。尤其对于高维空间,是非常抽象的。在AI领域,却又经常使用到这一概念。因为AI中模型的训练往往需要使用大量的复杂数据。
总结:语义空间是一个用数学方式来表征和度量“含义”的抽象空间。我们可以通过数据在语义空间中的位置,来判断这组数据所对应的实例在现实中和其他实例的相似情况。
如果两组数据在语义空间非常接近,那么这两组数据所代表的实例,就认为具有类似的特征。
这里用MLLM中的模态编码器举例,简单介绍一下:
模态编码器:
本质上就是将图片、音频、文字等数据进行向量化编码,经过模态编码器后,具有相同语义的原始数据类型(图像,文字,音频等),他们各自对应的向量在语义空间会非常的接近。
这就像一个翻译一样:假设图片,文字,音频这三种数据传达的内容都是“一个友好信息”,经过编码后,他们都被映射为一个表示“友好信息”的向量(这个向量就是一个高维的,在语义空间中的高维向量)。模态编码器的出现,解决了不同类型数据之间的“沟通”问题。本质上就是将不同类型的数据转变成相同类型的数据。