Embedding(嵌入)

1. 嵌入的定义与本质

1.1 什么是嵌入?

嵌入(Embedding) 是一种将离散的、高维的、符号化数据(如单词、图像、用户ID等)映射到低维连续向量空间的技术。这些向量(称为嵌入向量)能够捕捉数据的语义、结构或特征,使得机器学习模型可以高效处理和理解数据。

形式化定义
给定一个离散数据集合 VVV(如词汇表、图像集),嵌入是一个函数 f:V→Rdf: V \to \mathbb{R}^df:VRd,将每个数据点 x∈Vx \in VxV 映射到一个 ddd 维实数向量 f(x)f(x)f(x),其中 ddd 通常远小于原始数据的维度。

1.2 通俗比喻

想象一个巨大的“概念宇宙”,每个单词、图像或用户是一颗星星,彼此之间的距离反映它们的相似性。嵌入就像一个“维度压缩器”,将这些星星从高维的、稀疏的宇宙投影到一个低维的、稠密的平面(比如 2D 或 300D)。在这个平面中,相似的事物(如“猫”和“狗”)靠得很近,而不相关的事物(如“猫”和“桌子”)距离较远。计算机通过这些向量间的几何关系(距离、角度)来理解和计算数据的语义。

1.3 嵌入的核心目标

  • 降维:将高维稀疏表示(如 one-hot 编码)转化为低维稠密向量,降低计算和存储成本。
  • 语义捕捉:嵌入向量在向量空间中的位置和关系反映数据的语义或特征。
  • 泛化能力:通过嵌入,模型可以处理未见过的数据(例如新词、未标记图像)。
  • 任务支持:嵌入向量作为特征输入,支持分类、回归、生成等任务。

2. 嵌入的数学与理论基础

为了更深入理解嵌入,我们需要从数学和理论角度剖析其工作原理。

2.1 离散表示的局限性

以自然语言处理(NLP)为例,假设有一个词汇表 V={ w1,w2,…,w∣V∣}V = \{w_1, w_2, \dots, w_{|V|}\}V={ w1,w2,,wV},最简单的表示方法是 one-hot 编码

  • 每个词 wiw_iwi 用一个 ∣V∣|V|V 维向量表示,只有第 iii 位为 1,其余为 0。
  • 例如,词汇表 V={ 苹果,橙子,香蕉}V = \{\text{苹果}, \text{橙子}, \text{香蕉}\}V={ 苹果,橙子,香蕉},则:
    • 苹果 = [1,0,0][1, 0, 0][1,0,0]
    • 橙子 = [0,1,0][0, 1, 0][0,1,0]
    • 香蕉 = [0,0,1][0, 0, 1][0,0,1]

问题

  1. 高维稀疏:当 ∣V∣|V|V 很大(如 10 万),向量维度极高,存储和计算成本巨大。
  2. 语义缺失:one-hot 向量之间正交(内积为 0),无法反映“苹果”和“橙子”都是水果的相似性。
  3. 泛化能力差:无法处理未见词(Out-Of-Vocabulary, OOV)。

2.2 嵌入的数学表达

嵌入通过一个可学习的映射函数将离散数据转化为低维向量:
Embedding(x)=W⋅x\text{Embedding}(x) = W \cdot xEmbedding(x)=Wx
其中:

  • x∈{ 0,1}∣V∣x \in \{0, 1\}^{|V|}x{ 0,1}V 是输入数据的 one-hot 向量。
  • W∈R∣V∣×dW \in \mathbb{R}^{|V| \times d}WR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱看烟花的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值