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

这个问题是知乎的这个问题:为什么Bert的三个Embedding可以进行相加?

我觉得解释合理的是这个回答,这个回答解释的是相加的意义

这里的相加是特征交叉而不是特征池化。

神经网络中相加是构造特征交互的方法,类似的还有elementwise乘,减法。

Bert这类的方法一个极大的优势就是通过BPT和字级别把词向量空间的稀疏性压缩下来,如果你在普通的embedding+nn里做这件事情,是有得有失的,好处是长尾的词变得更稠密了,使网络容易学习,对应的缺点就是损失了学的好的词的个性化。这样的操作更有利于神经网络的泛化。

我们怎么在其中找一个平衡点呢?通过特征的交叉,分别是token,position,segment。高阶的交叉带来更强的个性化表达能力,即带来丰富语义的变化。规避了transformer因为位置信息丢失造成的上下文语义感知能力。既能高速并行,又能上下文敏感,这简直让lstm羡慕死了。

而相加,是神经网络特征交叉的一种形式,注意,多个enbedding的向量空间是不同的,不然,相加和池化就没有区别了,只带来信息的聚合,而不是个性化的表达。

这套方法论起源于因子分解机FM。核心是寻找泛化和记忆的平衡,而搞定长尾是又是解决大部分NLP问题的有效方法。预训练又是另外一大神器,结合这个问题想想为什么ELMo没有取得这么好的效果,不得不不说,太妙了。

其他的回答如苏剑林的回答,回答了为什么可以相加。

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值