大模型连载8:词向量如何表示近义词?

余弦相似度和欧式距离

既然我们将 token 都转换到了高维的数学空间中,那么在高维数学空间中,如何来衡量两个 token (高维空间中为向量)的含义是相似的,还是相反的呢?

比如,在人类的认知中,狗和猫可以认为是一对近义词(这是相比于其他词比如"跑"而言的)。而在数学上,衡量两者是近义词的方法便是认为"两个向量更接近或者更相似"。

这种数学意义上的"向量更接近 ",可以称之为"向量的距离更小",更进一步讲,称为多维空间中"两个向量的欧氏距离更小"。

在三维几何上中,表示为两个点之间的距离,可以通过平方根来进行计算:

而在高维空间中,则可以使用余弦相似度来计算。比如在 GPT-4模型中,官方就推荐使用余弦相似度来衡量两个向量的距离。

GPT-4 中的余弦相似度和欧氏距离的关系

当然这里有些细节还要说明一下,以免大家产生误导。

首先,欧氏距离和余弦相似度的含义和计算公式是不一样的,那么在 GPT-4 的词嵌入空间中,为什么可以使用余弦相似度来衡量两个向量之间的距离(欧式距离)呢?

先看下两者的概念:

余弦相似度:衡量的是向量在方向上的相似程度,而不是它们的大小。它是通过计算两个向量的点积然后除以它们的模长得到的,余弦相似度的公式如下:

cos_similarity = (A · B) / (||A|| * ||B||)

欧氏距离:衡量的是多维空间中两点之间的直线距离。在几何上,它是两点坐标差的平方和的平方根。欧氏距离对向量的长度和方向都敏感。

在 GPT-4 的嵌入空间中,嵌入向量都被标准化到长度1,也就是说所有的向量都是单位向量,在这种情况下,余弦相似度和欧氏距离之间存在一个有趣的关系:

  • 点积:由于向量长度为1,余弦相似度就等于向量的点积,这样做不仅理解简单,还可以加速余弦相似度的计算。
  • 欧氏距离:在标准化了的向量空间中,欧氏距离的平方是两个单位向量之差的平方和。由于所有向量的长度相同,这实际上就可以认为是两个向量在方向上的差异的一种衡量。

因为 GPT-4 的高维向量空间,将向量都做了标准化,因此,在词嵌入空间中,尽管余弦相似度和欧氏距离的计算结果在数值上不一致,但它们却都可以产生相同的顺序排名,两种指标仍然可以一起指示哪些向量更相似或更不同。

比如计算猫和狗的余弦相似度为 0.9, 欧式距离为 9.9,猫和"跑"的余弦相似度为0.1, 欧式距离为 2.0,鱼和跑的余弦相似度为 0.01, 欧式距离为 0.9。

虽然两种计算方法得到的数值不同,但是排名是相同的。两者都可以指示谁与谁更接近,谁与谁更相反,或没有关联。

这就是为什么在 GPT-4 的嵌入空间中,推荐使用余弦相似度的原因:一是因为它计算更高效,二是因为它的计算结果和欧式距离一样,具有相同的顺序排名。

总结一下本节

  1. 在进行文本处理之前,文本转换为词嵌入向量是必须的,并且要转换为具有多个维度的高维向量,以此来衡量文本的语义。
  2. 在GPT-4的词嵌入空间中,推荐使用余弦相似度来衡量向量的"距离",这是因为 GPT-4 把嵌入向量标准化到了1,从而使得余弦相似度与欧氏距离在衡量向量相似性上具有一样的排名。
  3. 在其他的场景下,也可以使用余弦相似度这一指标来衡量向量的相似性。比如衡量两个文本或图像是否相似,直接计算其余弦相似度,也是一种简单有效的办法。

参考:

^维基百科余弦相似度: en.wikipedia.org/wiki/Cosine...

查看全部 AI 知识库内容,点击链接:董章鱼的公开 AI 空间

相关推荐
计算机魔术师7 小时前
Karpathy:用语音与LLM长谈可提升理解效率
人工智能·ai编程
我的xiaodoujiao7 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
DFT计算杂谈8 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
qetfw8 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
甲维斯8 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
周末程序猿8 小时前
图解 120 个大语言模型(LLM)核心概念(61-90)
人工智能
科技圈快迅8 小时前
游戏投影仪和普通投影仪区别是什么?2026游戏投影仪测评
人工智能
爱刷碗的苏泓舒8 小时前
PPP-AR 中的参考星选取:数学原理、评价指标与切换处理
算法·gnss·模糊度固定·ppp-ar·星间单差·参考星·卫星端偏差
zhumin7268 小时前
舆情聚类与政府投诉联动分析:基于时间序列的社会治理框架
机器学习·数据挖掘·聚类