NLP中关于embedding相加的思考

背景

        今天看到了一个很有意思的问题,"为什么 Bert 的三个 Embedding 可以进行相加?",题主提的问题大概意思是这样:BERT的input有三个embedding:Token embedding,Segment embedding, Position Embedding,这三个向量相加后,明明大小和方向都发生了改变,语义应该变了,为什么还能作为input的表征?

思考

        其实在NLP的学习当中,我也确实有过相同的问题出现。在学习doc2vec的时候,表示一个sentence的embedding,往往采用把sentence的embedding用所有tokenembedding相加的方式来表示。我当时就有一个问题,明明这多个token相加,连维度都没有变化,凭啥就能代表sentence了?

        然后,在这个问题的回复当中,看到了邱锡鹏老师的回答,突然有一种茅塞顿开的感觉,下面我贴一下邱老师关于这个回答的原答案:

        其实,任何一个embedding都可以理解为一种特殊的信号波,而我们做embedding的相加操作,可以理解为是在对不同的信号波相叠加的过程。在处理信号波的过程中,可以通过傅里叶变化将其逆向还原成原始的不同的信号波。NLP模型中,包括了传统的NLP模型以及bert、LLM等,都可以认为是有着类似傅里叶变化的能力的,即识别出信号波是由什么原始的信号波叠加的。因此,在模型的训练过程中,相加后的embedding结果仍然可以被模型所解耦以及识别。因此,虽然做了相加的工作,仍然可以保留原始embedding的信息,保证原始的数据信息不被丢失。 

参考资料

1.为什么 Bert 的三个 Embedding 可以进行相加? - 知乎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值