热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >大白话!神经网络Embedding的原理及作用

大白话!神经网络Embedding的原理及作用

来源:互联网 更新时间:2026-07-28 15:20

人工智能的奥义是:“万物皆可Embedding” --花哥

不知道你有没有发现,在学习各种算法模型的时候,尤其是深度学习那一套,嵌入(Embedding)几乎无处不在。这玩意儿可以说是人工智能最基础、也最不可或缺的功能之一。说白了,

机器学习模型只认数字,不认文字、图片或者任何抽象符号

——你要让模型理解“苹果”或者一张照片,必须先把它转成一堆数字。

常用的转化方式有三种:

One-hot编码、整数编码、嵌入(Embedding)

。咱们简单捋一下:

  • One-hot编码

    :简单粗暴,每个特征用一个长长的0/1向量表示。但特征一多,维度就爆炸了,而且它学不到词语之间的关联——比如“苹果”和“橘子”在One-hot空间里完全是两个孤立的世界。
  • 整数编码

    :直接用数字1、2、3……给每个词编号。方便是方便,但数字本身有大小含义(比如3比2大),这会给模型带来误导——难道“苹果”(编号3)就比“橘子”(编号2)更“大”吗?显然不合理。
  • 嵌入的方法

    :这才是真正好用的路子。它通过学习得到一个低维、稠密的向量,把每个词或图像映射到一个几何空间里。常用的框架有Word2Vec(基于浅窗口)、fasttext(同样浅窗口)、GloVe(矩阵分解+窗口)等。

    在表示学习之后,语义相似的词汇会在向量空间中靠得很近。

    就像下面这张图展示的:同类物品聚集,不同类分开。

好,那咱们今天就一起聊聊,嵌入到底是什么、它的原理和作用又是什么。

什么是嵌入?

嵌入,简单说就是把某个数据对象表示成一个向量,而且这个向量的几何属性(比如位置、距离)能够编码该数据对象的某些特征。

听起来有点抽象,但其实没那么复杂。先得补一点(很少的)数学知识。向量这个东西,可以从两个角度看:

  1. 向量是多维空间里的一个点。
  2. 向量是一个有序的数值列表。

举个例子,列表 (6,4)(2,8) ——你可以把它们想象成x-y平面上的点,第一个数字是x坐标,第二个是y坐标。如果有三个数字,比如 (3,2,5)(4,5,2),那就对应三维空间里的两个点。

关键来了:我们能把这个思路扩展到任意维度——四维、五维、一百维、一千维,甚至百万、十亿维。画一个一千维的空间我们办不到,想象它也极其困难,但从数学上讲,它就跟二维、三维一样简单。比如计算 (6,4)(2,8) 之间的距离,就是勾股定理:

√[(6−2)² + (4−8)²] = √(16+16) = √32 ≈ 5.66

到了三维,公式只是多加一项:对于 (3,2,5)(4,5,2),距离是:

√[(3−4)² + (2−5)² + (5−2)²] = √(1+9+9) = √19 ≈ 4.36

不管多少个维度,我们只需要一直加项就行。除了距离,另一个常用度量是两个向量夹角余弦。如果把每个向量看作从原点(所有坐标都是0的点)出发的一条线,夹角余弦反映的是它们方向上的相似程度。计算也很简单,需要点积和向量长度。假设 a=(3,2,5)b=(4,5,2),点积就是 3×4 + 2×5 + 5×2 = 12+10+10 = 32。a的长度是 √(3²+2²+5²)=√38≈6.16,b的长度是√(4²+5²+2²)=√45≈6.71。那么余弦值就是 32 / (6.16×6.71) ≈ 0.774,对应约39.3°的角度。在机器学习里,我们通常就算到余弦值为止——因为如果所有数字都大于零,余弦值就在0到1之间。

看到这一堆数学别头疼,其实只有加减乘除、指数和平方根。计算机就是用来干这个的。但理解向量的核心概念重要:向量就是数字列表,不管它有多少维度,我们依然能算距离、算角度。而电脑里任何数据——图片、文字、录音、3D模型——本质上也都是数字列表。所以,

每个数据项都可以看作一个向量

我们如何为事物分配嵌入向量?

嵌入的目标就是给每个数据对象分配一个向量,让它们在向量空间中的位置能编码有用信息。比如图像本身已经是向量了(像素值列表),但原始像素位置并不能告诉我们苹果和橙子的区别。看看下面四张图:

(这里原图位置)

每张都是450×450像素的RGB图像,共202500个像素,每个像素有红绿蓝三个0-255的值,拼起来就是一个607500维的向量。如果直接算原始像素的距离,苹果和橙子的图片很可能混在一起,根本分不开。我们希望的是,经过嵌入后,苹果的向量彼此靠近,远离橙子的向量。就像下面这张示意图:

(这里示意图位置)

怎么做?我们构建一个神经网络(嵌入模型),以原始607500维向量作为输入,输出一个低维向量(比如512维)。然后用大量苹果和橙子的标记图片训练它,调整网络权重,让苹果的输出向量互相靠近,橙子的也互相靠近,但两类之间拉开距离。经过足够多的训练轮次,模型就学会了:输入苹果图片,输出向量落在苹果聚集区;输入橙子图片,输出向量落在橙子聚集区。这些输出向量就是嵌入,它们共同构成嵌入空间。

这个例子很简单。更高级的应用中,我们甚至不用明确告诉模型哪些特征重要——它会在训练中自己发现。比如做人脸识别:输入同一个人不同角度的照片,训练模型让它们的嵌入靠近;输入不同人的照片,让嵌入远离。训练完成后,嵌入空间会自动编码很多隐含特征——性别、发型、是否戴眼镜,甚至秃顶与否。你给一张新照片,它的嵌入就会落在最相似的人旁边。

嵌入空间还有一个强大之处:支持多种类型的数据。比如文本和图像可以共同训练两个嵌入模型,在同一空间中输出向量。结果是“一个红苹果”的文字描述和一张真实苹果的照片,它们的嵌入会相邻。任何类型的数字数据都可以作为输入,任何成对的数据类型都可以用来创建多模态联合嵌入空间。

嵌入有什么用?

我们已经看到了图像分类和人脸识别。但这远远不是全部。比如AI图像生成(DALL·E、Stable Diffusion等),背后就是先构建文本和图像的联合嵌入空间。当用户输入“一只戴着帽子的猫”,系统计算文本嵌入,然后尝试构建一张图片,使它的嵌入与文本嵌入尽可能接近。

嵌入的应用几乎覆盖所有AI/ML领域:推荐系统里为物品和用户建嵌入,以衡量偏好匹配程度;自然语言处理里为单词、句子、段落建嵌入,做语义搜索;药物发现里为分子结构建嵌入,找性质相似的化合物。凡是需要评估相似性/差异性、依赖隐藏特征、或者需要隐式上下文相关映射的场景,嵌入都能派上大用场。

结论

嵌入的理论本身并不复杂:就是把数据对象映射到高维向量空间中的点,让具有共同属性的东西聚在一起,相似的东西有相近的向量数值。

使用它们,无非就是算算向量距离和余弦,而这些不过是加减乘除和平方根而已。计算机做这些事,真是再合适不过了。

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc