整体架构如下:
$$ PE_{(pos,2i)} = sin(pos / 10000^{2i/d_{\text{model}}}) \\ PE_{(pos,2i+1)} = cos(pos / 10000^{2i/d_{\text{model}}})\\ 其中i为该词在序列中的position $$
About Embedding Methods of BERTS (为什么嵌入向量可以相加,可以间接的联想到为什么 positional encoding 能够和 word embedding 进行线性相加)
为什么 Bert 的三个 Embedding 可以进行相加? - 知乎
PATH: Attention→Transformer→BERT→NLP applying,一下为参考的NLP模型学习资料
- RNN 的每个神经元的输入为上个神经元的hidden state 和 第 i 个input vector,输出为第 i 个神经元的hidden state 和 output vector。这样会导致随着序列的增长,时间跨度相隔较大的两个词向量的关系将被淡化,从而无法进行长序列的关注。
讲解连接如下:https://datawhalechina.github.io/learn-nlp-with-transformers/#/./篇章2-Transformer相关原理/2.1-图解attention
- 将 word embedding 向量分别乘以 Q, K, V 矩阵得到每个词向量对应的 q,k,v 向量;
矩阵运算如上,讲解连接为:https://datawhalechina.github.io/learn-nlp-with-transformers/#/./篇章2-Transformer相关原理/2.2-图解transformer?id=transformer宏观结构