AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


大模型算法工程师经典面试题————为什么 Bert 的三个 Embedding 可以进行相加?
发布日期:2024-08-28 04:25:56 浏览次数: 1609


大模型算法工程师经典面试题————为什么 Bert 的三个 Embedding 可以进行相加?

参考:为什么 Bert 的三个 Embedding 可以进行相加?  https://www.zhihu.com/question/374835153

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

Token Embedding、Segment Embedding、Position Embedding的意义我已经清楚了,但是这三个向量为什么可以相加呢?相加后向量的大小和方向就变了,语义不就变了吗?

标准答案

引用 【苏剑林老师的回答】

参考:https://kexue.fm/archives/4122

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

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

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

通俗易懂点解释:三个向量concat之后走一次全连接,等价于各自embedding之后相加。

从数学角度解释

引用 【铁心核桃】

参考:https://www.zhihu.com/question/374835153/answer/2108264167

BERT的词嵌入由符号嵌入(Token Embedding)、片段嵌入(Segmentation Embedding)和位置嵌入(Position Embedding)合成得到,表示为:

上述三个嵌入分量都可以表达为“独热”(one-hot)编码表示输入与嵌入矩阵的乘积形式,即

角度1——从形象角度理解

上面的嵌入合成有点像在调颜色,先有一个基于字典的符号嵌入,“花里胡哨”的;然后按照符号类型属性(BERT为句子的隶属关系)添加颜色,相同的符号类型添加相同的颜色,于是具有相同属性符号的颜色就接近了一些;然后再按照位置,进一步添加不同的颜色。

角度2——从网络角度理解

(1)按照分别过网络再做求和融合的角度理解

三个one-hot编码向量与嵌入矩阵相乘,等价于构造三个以one-hot编码向量作为输入,输入维度分别为 |V| 、|S| 和 |P|,输出维度均为 H 的全连接网络。求和即为特征融合。如下图所示

(2)按照先做Concat融合再过网络的角度理解

三个one-hot编码向量与嵌入矩阵相乘,按照矩阵分块,可以改写为

对应的全连接网络变为一个大网络,输入维度为 |V| + |S| + |P| ,输出维度还是 H 。对应的网络结构图形如下图所示

角度3——从空间映射角度理解

三个嵌入的合成,是将符号空间、符号属性空间和位置空间三个看似“风马牛不相及”的空间表示,通过线性映射到一个统一的、同质的特征空间上去,然后再以求和的方式做坐标综合,如下图所示

如果按照角度2的到底先融合还是后融合的两个视角,那上面说的是先映射后融合模式。当然,我们也可以按照角度2做先融合后映射的思考。先做如下铺垫

对应上面铺垫和我们的问题,可以知道 c=3 , M1 、 M2 和 M3 分别对应上面的符号空间、符号属性空间和位置空间。按照笛卡尔积的从“每个空间取点组团”的定义,我们的对三个one-hot编码的Concat操作即作出了 |V| + |S| + |P| 维积流形中的一个点。然后再做的一个的线性映射,等于去获取该点的 HHH 维内蕴坐标.


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询