← Back to blog

为什么需要Embedding?

#llm

神经网络无法直接处理像文本、音频、视频这样未经处理的原始数据格式。Embedding的核心目的正是将这些人类可以理解的非数值型、类别化的数据转换为神经网络可以理解并进行数学运算的密集向量(Dense Vector)表示。通过这种方式,离散的对象就被转化为了计算机能够轻易处理的连续“数”(即多维数组或向量)。

至于这里提到的“离散”与“连续”的概念,可以从以下几个层面来深入理解:

为什么说文字等原始数据是离散的(Discrete)? 在数学和计算机科学中,“离散”指的是事物是独立的、分离的、非连续的。文本本质上属于类别化(Categorical)的数据。 举个例子,词汇表中的每个单词(比如“苹果”和“橘子”)都是一个个独立的符号。在原始文本形态下,你无法在“苹果”和“橘子”之间找到一个平滑过渡的“中间词”,也无法直接对它们进行数学上的加减乘除。它们彼此之间没有固有的数值大小关系,这种界限分明、非此即彼的特性就是“离散”。因为这种离散特性,它们与深度学习所依赖的数学运算是不兼容的。

为什么说向量空间是连续的(Continuous)? “连续”意味着数值可以有无限的细分,能够进行平滑的过渡和微调。 当我们将离散的词语映射为连续值向量(Continuous-valued vectors)后,每个词就变成了多维空间中的一个坐标点(由一系列浮点数组成,例如 [0.3374, -0.1778, 0.9178])。这个向量空间之所以被称为连续的,主要有以下几个核心原因和优势:

  1. 支持数学运算与关系度量:在连续空间中,我们可以计算两个向量之间的点积(Dot product),以此来量化两个概念之间的相似度或对齐程度。例如,在连续的向量空间中,代表相似概念的词语(如不同种类的鸟)在空间中的聚集距离,会比毫不相关的词语(如国家和城市)更近。
  2. 支持反向传播与模型优化:资料中特别强调,连续的向量表示是必不可少的,因为像GPT这样的大型语言模型是使用反向传播算法(Backpropagation)训练的深度神经网络。反向传播依赖于计算梯度(导数),这就要求数据空间必须是平滑且连续的。只有在连续空间中,模型才能在训练过程中通过极其微小的数值调整来不断优化这些向量的权重,从而让网络学会数据的内在规律。