为什么 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

相关推荐
riveting19 分钟前
重塑工业设备制造格局:明远智睿 T113-i 的破局之道
人工智能·物联网·制造·t113·明远智睿
zzywxc7871 小时前
详细探讨AI在金融、医疗、教育和制造业四大领域的具体落地案例,并通过代码、流程图、Prompt示例和图表等方式展示这些应用的实际效果。
开发语言·javascript·人工智能·深度学习·金融·prompt·流程图
算家计算1 小时前
32K上下文开源语音理解、40分钟深度交互——Voxtral-Small-24B-2507本地部署教程
人工智能·开源·aigc
聚客AI1 小时前
📝工程级开源:PyTorch手搓LLaMA4-MoE全栈指南
人工智能·llm·掘金·日新计划
TechubNews1 小时前
加密资产投资的六种策略:稳定币合规后的 Web3 投资和 RWA
人工智能·web3
机器之心1 小时前
7年了,OpenAI官方给出五代GPT对比,网友却怀念起「狂野」初代
人工智能·openai
后端小肥肠1 小时前
Coze+ComfyUI 实战:视频制作成本降10 倍,高质量成片这么做
人工智能·aigc·coze
爱分享的飘哥2 小时前
第七十章:告别“手写循环”噩梦!Trainer结构搭建:PyTorch Lightning让你“一键炼丹”!
人工智能·pytorch·分布式训练·lightning·accelerate·训练框架·trainer
阿里云大数据AI技术2 小时前
PAIFuser:面向图像视频的训练推理加速框架
人工智能·机器学习
盛世隐者2 小时前
【深度学习】pytorch深度学习框架的环境配置
人工智能·pytorch·深度学习