[2017-NIPS-GOOGLE] Attention is all your need
论文地址:
https://arxiv.org/pdf/1706.03762.pdf
主要方法
抛弃使用Recurrent 和convolutional neural networks的结果。 只使用Self-Attention结构。优点:
1, 效果更好, 来自能够更好的捕捉long-range dependencies,
2, 更好的并行化.
3, 训练速度更快.
结构:
包含encoder 和的decoder两个部分. encoder可以有很多层, decoder也可以有很多层.
Encoder
encoder包含两个部分. 一个Self-Attention组件, 一个全连接ffnn(feed forward neural network)层.
Self-Attention
一个句子中的所有词( m m m个)的embedding假设为: X n ∗ u = ( x 1 , x 2 , . . . x n ) X_{n*u}=(x_1, x_2, ... x_n) Xn∗u=(x1,x2,...xn), x i x_i xi为 u u u维.
需要将所有的词转换出3个向量:
Q = ( q 1 , q 2 , . . . q n ) T Q=(q_1,q_2,...q_n)^T Q=(q1,q2,...qn)T 使用转换矩阵 W q ∈ R u ∗ z W_{q\in R^{u*z}} Wq∈Ru∗z, Q = X W q Q=X W_q Q=XWq, q i q_i qi维度为 d q d_q d