Transformer 通关秘籍9:词向量的数值实际上是特征

在前面的文章中,大概花费了几节的篇幅,详细介绍了 token 以及词嵌入向量的概念。到这里,你应该可以理解了:在计算机的眼里,所有的文本首先都要经过分词转换为 token ,然后再使用词嵌入算法将 token 转换为词向量。

如果还有不理解的相关内容,可以返回前述几节再详细阅读一下,或者在本节下留言。

本节将通过一个例子,来帮你更加通俗的理解词嵌入向量代表的含义:实际上,词向量中的数值,代表的是单词的语义在各个维度上的特征。

这里有一个全程一站式的 Transformer 讲解和实战辅导,带你从零手写一个可对话的大模型,点击链接查看详情从零手写大模型实战

一个例子来理解特征

本例子来源于 Jay Alammar 的博客,我在原文基础上进行了精简和提炼。

不知道你是否做过性格测试。

在很多类似的测试中,都会有许多道题来让你回答,然后从多个维度、多个方面衡量你的潜力或特质,然后给出分值,最后综合来评判你是一个什么样的人。

假设一个叫 Jay 的人做完性格测试,在"你是属于内向还是外向?"这项测试中得到了 38 分。这里满分为 100,分数越高,说明人越外向,分数越低,说明人越内向,38 分的得分结果如下。

为了抹平多项测试间的分值差异,这里将所有得分的数据归一化到 -1,1 之间。归一化后内外向得分为 -0.4 分,越靠近负1说明越内向,越靠近正1说明越外向。

此时很明显,说明 Jay 这个人偏内向。但也仅此而已,我们从 -0.4 这个分数看不出 Jay 有其他什么品质,仅仅知道他偏内向而已。

这个时候,如果再增加一个测试项目的得分,假设 Jay 在另一个测试项目中得分为 0.8 分。

此时,根据这两个测试项目的数据,我们知道 Jay 这个人在第一个性格(性格#1: 内外向)中得分 -0.4,他偏内向。在第二个性格中得分0.8。

虽然这里没指明第二个性格具体代表的是什么(比如你可以理解为"是否任劳任怨加班?",0.8 分说明他是一个加班狂),但至少我们对 Jay 的认识又增加了一些。

假设,现在 Jay 在上班途中被车撞了,公司需要一个人来顶替他的工作内容,有两个候选人(Person #1 和 Person #2),他们在这两项测试中的得分如下:

根据这两个人的得分,你更倾向于让谁来代替 Jay 呢?

你可能会说,看样子 Person#1 和 Jay 在两项上的得分更相近,两人具有更类似的特质,可以让 Person#1来代替 Jay 。

是的,在数学模型上,衡量两个人的性格数据(这里是向量)是否相似,可以使用余弦相似度(见8、词向量如何表示近义词?)的方法,这个在上一节介绍过了。

通过计算,可以的得到余弦相似度数值为:

很明显,Person #1 获选,因为他和 Jay 的余弦相似度更高。

上述每一项(Trait #1, Trait #2)的得分都代表了这个人在某一项测试中的特质或潜力,或者说是这个人在某性格维度上的特征值。

但是 2 个特征还不足以完全代表一个人,因此我们可以将特征数量继续增加:

继续计算余弦相似度

通过计算,仍然得到 Person #1 与 Jay 更相似的结论。

至此,Person #1 获选,说明Person #1 和 Jay 更相似,更容易获得这份工作。

如果把上述例子中的得分组成的向量看做是词嵌入向量的话,那么其中的数值,便是代表一个单词在各个维度特征的得分值。

比如在上一节中提到的,猫(cat)可以是以下特征的集合:

cat = 会跑(1)、会爬树(0.9)、会叫(1.0)、粘人(0.6)、会抓老鼠(0.6),会游泳(-0.9),会喷火(-1.0)...

足够多的维度,便可以更加精确的表示猫(cat)这个单词。

所以,词嵌入向量代表的就是单词语义的特征集合,这一点很重要,在后面介绍 Encoder-Decoder 模型时,你会发现中间的 Context 也可以这么理解。本节理解到这层意思就可以了。

我创建了一个《小而精的AI学习圈》知识星球,星球上有几十万字原创高质量的技术专栏分享,同时你也可以在星球向我提问。 点击这里,我们星球见! >>>
点击这里查看所有 AI 技术专栏

相关推荐
ZhengEnCi2 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
秋天的怀念_David3 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Pniubi3 小时前
力扣283移动零(双指针法)
算法·leetcode·职场和发展
hhb_6183 小时前
大模型落地三重优化实战
人工智能·算法·机器学习
云和数据.ChenGuang4 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
2601_970703835 小时前
工业除湿机租赁:把一份租金合同拆开看
大数据·数据结构·算法·数据库架构·推荐算法
心中有你02145 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
ZhengEnCi6 小时前
同样的模型,为什么本地和云 API 差别那么大:量化精度、聊天模板与采样参数的三大元凶
人工智能·算法·llm
Flynn Liang6 小时前
RAG 答非所问/幻觉怎么破?Spring AI QuestionAnswerAdvisor 召回优化实战(TopK/重排/混合检索)
人工智能·算法·spring·rag·幻觉·springai
liminla!7 小时前
SQL 从入门到进阶:语法速查与实战练习(完整优化版)
数据库·sql·算法