百科问答小站 logo
百科问答小站 font logo



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

  

user avatar   hai-chen-wei 网友的相关建议: 
      

这是一个很有意思的问题,苏剑林老师给出的回答,真的很妙:

Embedding的数学本质,就是以one hot为输入的单层全连接。
也就是说,世界上本没什么Embedding,有的只是one hot。


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

假设 token Embedding 矩阵维度是 [4,768];position Embedding 矩阵维度是 [3,768];segment Embedding 矩阵维度是 [2,768]。

对于一个字,假设它的 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 组成的特征空间,空间维度是 4*3*2=24 ,那在新的特征空间,这个字的one-hot就是[1,0,0,0,0...] (23个0)。

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

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


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


user avatar   ai-hardcore 网友的相关建议: 
      

之前回答这个问题写了巨多,但答非所问。用“BERT如何做的嵌入”或者是“BERT的输入是什么”回答了“为什么 Bert 的三个 Embedding 可以进行相加”这个问题。这里按照题意,重新表达一下我的理解。

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

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

其中, :依据符号在词典中位置下标、对输入符号构造的one-hot编码表示; :依据符号在两个序列中隶属标签(更一般的为符号属性)下标、对输入符号构造的one-hot编码表示; :以符号在句子位置下标、对输入符号构造的one-hot编码表示; 、 和 分别为其对应的待训练嵌入参数矩阵; 、和 分别为字典维度、序列个数(更一般的为符号属性)和最大位置数; 为嵌入维度。下面从三个角度理解合成:

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

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

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

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

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

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

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

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

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

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

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

类似于欧氏积空间(例如 )能够表达更高维的空间,人们也期望通过积(Product)的形式复合子流形的表达方式,将不同的流形复合,来刻画复杂的高维流形结构。定义如下形式多个流形的笛卡尔积(Cartesian Product)

其中,“ ”表示空间的笛卡尔积, 称为分量流形(Component Manifold)。设 为维度为 的流形,则 也为一流形,称为积流形,其维度为 。证明从略。

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

不管怎么理解,都是在做特征的融合。至于为什么可以加,那是因为进行变换后映射到了同质空间。希望有帮助!




user avatar   insulator 网友的相关建议: 
      

女王:求求题主放过我,我可不敢有什么政绩。。。


user avatar   xpqiu 网友的相关建议: 
      

女王:求求题主放过我,我可不敢有什么政绩。。。


user avatar   SeptEnds 网友的相关建议: 
      

女王:求求题主放过我,我可不敢有什么政绩。。。


user avatar   xiang-nong-hui-yu-ke-ji 网友的相关建议: 
      

女王:求求题主放过我,我可不敢有什么政绩。。。


user avatar   su-jian-lin-22 网友的相关建议: 
      

女王:求求题主放过我,我可不敢有什么政绩。。。




  

相关话题

  为什么很少人用FFT加速CNN卷积层的运算? 
  有哪些令你印象深刻的魔改transformer? 
  计算商品embedding然后平均得到用户embedding,会不会存在这种问题? 
  有什么算法能对一个长短不一的时间序列进行分类预测? 
  如何评价Deepmind自监督新作BYOL? 
  使用pytorch时,训练集数据太多达到上千万张,Dataloader加载很慢怎么办? 
  如何看待人工智能领域的很多专家认为「人工智能将对人类存亡造成威胁」的观点? 
  主动学习(Active Learning)近几年的研究有哪些进展,现在有哪些代表性成果? 
  如何评价何恺明等 arxiv 新作 Rethinking ImageNet Pre-training? 
  如何评价 PyTorch 团队推出的推荐系统库 TorchRec? 

前一个讨论
两个独立事件都发生的概率为什么等于两个事件发生概率的乘积?
下一个讨论
为什么历史上很多伟人对女性有偏见,如叔本华,孔子,是由于女性本身的生理上问题还是性格上的劣性?





© 2024-12-18 - tinynew.org. All Rights Reserved.
© 2024-12-18 - tinynew.org. 保留所有权利