为什么可以加上Bert的三个embeddings呢?

Why can Bert's three embeddings be added?

我已经知道Token Embedding、Segment Embedding、Position Embedding的意思了。但是为什么这三个向量可以加在一起呢?添加后向量的大小和方向会发生变化,词的语义也会发生变化。 (这与 Transformer 模型的问题相同,它具有两个名为 Input Embedding 和 Position Embedding 的 Embeddings。)

首先,这些向量按元素相加 -> 嵌入的大小保持不变。

其次,位置在令牌的含义中起着重要作用,因此它应该以某种方式成为嵌入的一部分。注意:令牌嵌入不一定像我们现在从 word2vec 中获取语义信息,所有这些嵌入(令牌、段和位置)都是在预训练中一起学习的,因此它们最好一起完成任务。在预训练中,它们已经被加在一起,因此它们是专门针对这种情况进行训练的。向量的方向确实随着这一添加而改变,但新方向为模型提供了重要信息,仅包含在一个向量中。

注意:每个向量都很大(基础模型中有 768 个维度)