Transformer 通关秘籍7:词向量的通俗理解

上一节通过词汇表将 token 文本转换为数值,也就是转换为 token ID ,这之后计算机便可以进行下一步的操作了。

但是这里我抛出一个问题:计算机在进行运算时,可以基于 token ID 进行计算吗?

你可以先思考5秒钟,然后继续往下看。

答案是不行的。原因先不说,直接举个例子。

假设有以下三个 token ,以及它们在词汇表中分别对应的 token ID 。

yaml 复制代码
dog : 100
cat : 101
run: 1

如果直接按照这个 token ID 来计算的话,很显然 cat = dog + run,这样可以翻译为:会跑的狗等于猫。

这个逻辑显然不对,虽然上面的 token 以及 token ID 是我编的,但是在真实的词汇表的 token ID 中,会很容易出现类似的问题。

因此,计算机要理解 token 之间的语义关系(比如两个单词是近义词还是反义词),以 token ID 这种简单的数值来运算是肯定不行的。

这里就需要将 token ID 做进一步的转换,使其可以更好的表达 token 之间的语义关系。

一个更好地表示方法,便是将 token ID 转换为向量,使得一个数值可以在多维空间进行表示,从而丰富其含义和特征。

这个过程便是对文本转换的第二个过程,也就是词嵌入(Embedding)。

怎么理解这个过程呢?请往下看。

什么是词嵌入向量?

首先,词嵌入的作用,是将整数(这里就理解为 token ID 就好了)转换为一个固定大小的向量。

这些转换过程可以通过模型的大规模训练来完成。转换完之后的向量可以捕获以及表达 token 之间的复杂关系,比如语义关系、语法关系等。

这些向量通常被称为嵌入向量,用多维数据进行表示,每一维都代表 token 的一些隐含特征。

举个例子,假设 cat 转换为词嵌入向量后为 [100, 200, 300]。

这里是为了举例子,用了一个仅包含3个特征(通常情况下为512个特征)的向量。其中,100 可能代表" cat 是动物",200 可能代表" cat 属于猫科",300 可能代表" cat 会跑"。

也就是说,向量中的每一个数字都代表 cat 的一种特征。如此一来,一个包含了很多特征的向量,就可以较为丰富的代表这个 token 了。

将数值转换为词嵌入向量这个过程,有很多成熟的算法(模型)可以实现,这个过程需要对大量的文本进行训练才能正确完成转换。这里的算法和模型在后面章节会介绍,这里先介绍概念。

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

词嵌入的通俗理解

看完上面,可能有些同学还不能完全理解词嵌入的含义。这里再通俗的讲解一下将一个 token 转换为向量的动机。

首先,我们作为人类是可以理解 cat 这个单词的,并且人类在理解这个单词的时候,会默认施加给这个单词很多属性:比如会跑、会爬树、会叫、粘人、会抓老鼠等等。

但是计算机不会。

一个单词拥有如此丰富的含义和属性,这绝对不是一个简单的数值可以表示的,因此,必须将一个 token 单词转换为更加丰富的数学表示。

在数学里,能够表达一个单词丰富属性的结构就是数组了,比如可以认为:

cat = [会跑、会爬树、会叫、粘人、会抓老鼠,...],也就是说 cat 是这些属性的集合,只要数组中的属性给的足够多,那么就能非常精确的将 cat 这个单词给表达出来。

因此,在数学上需要一个数组来表示一个单词( token ),这个过程就是嵌入层(Word Embedding) 做的事情。

再了解了这个过程后,另一个可能不太好理解的是:为什么这个过程叫做嵌入(Embedding)呢?

在数学或者物理科学中,"嵌入"指的是一种操作,它是将一个对象(比如一个点)放置到另外一个更高维度的空间中,同时还要保持这个对象的属性。

对应到 NLP 模型处理 token 的场景:便是将一个 token "嵌入"到了一个更高维度的空间中,并且可以在更高维度的空间中,利用多个特征来表示该 token ,并且还可以使其保持丰富的属性和含义。

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

相关推荐
超级码力6666 小时前
【Latex文件架构】Latex文件架构模板
算法·数学建模·信息可视化
穿条秋裤到处跑6 小时前
每日一道leetcode(2026.04.29):二维网格图中探测环
算法·leetcode·职场和发展
Merlos_wind7 小时前
HashMap详解
算法·哈希算法·散列表
汉克老师7 小时前
GESP2025年3月认证C++五级( 第三部分编程题(1、平均分配))
c++·算法·贪心算法·排序·gesp5级·gesp五级
Yzzz-F10 小时前
Problem - 2205D - Codeforces
算法
智者知已应修善业10 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
Halo_tjn10 小时前
Java Set集合相关知识点
java·开发语言·算法
生成论实验室11 小时前
《事件关系阴阳博弈动力学:识势应势之道》第四篇:降U动力学——认知确定度的自驱演化
人工智能·科技·神经网络·算法·架构
AI科技星11 小时前
全域数学·72分册:场计算机卷【乖乖数学】
算法·机器学习·数学建模·数据挖掘·量子计算
科研前沿12 小时前
镜像孪生VS视频孪生核心技术产品核心优势
大数据·人工智能·算法·重构·空间计算