为什么 Bert 的三个 Embedding 可以进行相加?

Embedding的本质

Embedding的数学本质,就是以one hot为输入的单层全连接。

也就是说,世界上本没什么Embedding,有的只是one hot。

现在我们将token,position,segment三者都用one hot表示,然后concat起来,然后才去过一个单层全连接,等价的效果就是三个Embedding相加。

在这里用一个简单的例子在尝试理解一下:

假设Token Embedding矩阵的维度为4,768,Position Embedding的矩阵维度为3,768,Segment Embedding矩阵维度为2,768

对于一个word来说,假设它的Token one-hot为1,0,0,0 ; 它的Position one-hot为1,0,0,它的segment one-hot为1,0

那么这个字最后的word Embedding,就是上面三种Embedding相加之和。

如此得到的word Embedding,事实上和concat后的特征:1,0,0,0,1,0,0,1,0,在过维度为4+3+2,768=9,768的全连接层,得到的向量其实是一样的。

我们可以再换一个角度进行理解:

不妨直接将三个one-hot特征concat起来得到的1,0,0,0,1,0,0,1,0,虽然形式上不再是one-hot了,但是可以将其映射到三个one-hot组成的特征空间,此时特征空间的维度为432=24,而在这个新的特征空间中,这个字的one-hot就是1,0,0,0... (23个0)。

此时,Embedding的矩阵维度就是24,768,最后得到的word Embedding依然是和上面等效,但是三个小Embedding矩阵的大小会远远小于新特征空间对应的Embedding矩阵大小。

当然,在相同初始化方法的前提下,两种方式得到的word Embedding可能方差会有差别,但是BERT模型还有Layer Norm,会把Embedding结果统一到相同的分布。

所以BERT的三个Embedding相加,本质上可以看做一个特征融合,强大如BERT应该可以学到融合后特征的语义信息的。

转自知乎,侵权删:
https://www.zhihu.com/question/374835153

相关推荐
霸道流氓气质2 小时前
普通办公电脑基于 Ollama 的本地 AI 能力技术文档
人工智能·电脑
点云-激光雷达-Slam-三维牙齿2 小时前
速度起飞 笔记本电脑6G显卡llama运行Qwen3.6 35BA3B MTP 大模型
人工智能·python·电脑·llama
Shockang7 小时前
AI 智能体安全沙盒实战
人工智能
yuhulkjv3358 小时前
Claude表格复制到word不再崩溃,AI导出鸭批量导出+格式无损一键搞定
人工智能·ai·c#·word·ai导出鸭
大明者省9 小时前
WSL2 Ubuntu22.04 GPU训练环境配置指南
人工智能·算法·计算机视觉
抱抱宝9 小时前
Agent-study项目教程(03):手写 Mini-ReAct Agent(不依赖框架)
javascript·人工智能·gpt·react.js·prompt·agent
抱抱宝9 小时前
大模型应用开发教程08 | 构建完整 RAG 应用(Chroma/FAISS 实战)
人工智能·gpt·prompt·agent
美团技术团队10 小时前
KDD‘26 美团学术论文精选及KDD Cup‘26 DataAgents赛道冠军思路解读
人工智能
AKAMAI10 小时前
当AI模型超出存储增长时
人工智能·云计算
科技绘图10 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化