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

Token Embedding、Segment Embedding、Position Embedding的意义我已经清楚了,但是这三个向量为什么可以相…
关注者
2,261
被浏览
803,133
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

这是个好问题。虽然在深度神经网络里变得非常复杂,本质上神经网络中每个神经元收到的信号也是“权重”相加得来。具体细节的分析这里就不提了,有兴趣的同学可以自己推一推。

这里想说一下宽泛一点的分析(瞎扯)。

在实际场景中,叠加是一个更为常态的操作。比如声音、图像等信号。一个时序的波可以用多个不同频率的正弦波叠加来表示。只要叠加的波的频率不同,我们就可以通过傅里叶变换进行逆向转换。

一串文本也可以看作是一些时序信号,也可以有很多信号进行叠加,只要频率不同,都可以在后面的复杂神经网络中得到解耦(但也不一定真的要得到解耦)。在BERT这个设定中,token,segment,position明显可以对应三种非常不同的频率。

由此可以再深入想一想,在一串文本中,如果每个词的特征都可以用叠加波来表示,整个序列又可以进一步叠加。哪些是低频信号(比如词性?),哪些是高频信号(比如语义?),这些都隐藏在embedding中,也可能已经解耦在不同维度中了。说不定可以是一种新的表示理论:)