Please enable JavaScript.
Coggle requires JavaScript to display documents.
Linear Transformer(2020) - Coggle Diagram
Linear Transformer(2020)
原理
Dot Production Attention
步骤
- 注意力模型需要计算下层序列n1和上层序列n2之间的正交注意力矩阵,然后用softmax得出各个权重cv
- 将上一步得到的cv乘以下层的序列向量加权求和的得出下层序列对应step的结果
- 加权求和的softmax可以用sim来一般化代替
公式
$$Attention(Q,K,V)_i
=\frac{\sum_{j=1}^n e^{q_i^{\top}k_j}v_j}
{\sum_{j=1}^n e^{q^{\top}_i k_j}}$$
$$Attention(Q,K,V)_i
=\frac{\sum_{j=1}^n sim(q_i^{\top},k_j)v_j}
{\sum_{j=1}^n sim(q_i^{\top},k_j)}$$
Linear Attention
概述
根据Dot Production Attention,只要将sim去掉,然后根据矩阵乘法的结合律,就能很好的减少预算量,因为先算KT会得到一个dxd的矩阵,Q再乘以这个矩阵会将O(n^2)的运算复杂度变成O(dxn),因为d<<n,所以就是O(n)
要求
- 对比softmax,sim需要归一化
- 对比softmax,sim需要有非负性
方法
核函数形式
概述
将sim转换成两个可以实现归一化非负的核函数,在论文中,两个核函数是一样的
公式
$$sim(q_i,k_j)=\phi(q_i)\varphi(k_j)$$
Softmax
概述
Q在d那一维是归一化的、并且K在n那一维是归一化的,那么QK就是自动满足归一化了
公式
$$Attention(Q,K,V)=softmax_2(Q)softmax_1(K)^\top V$$
Transformers are RNNs
概述
Linear Attention可以将注意力模型转换成RNN格式的模型,如果要mask掉未来信息,求和时只要把n变成i即可
公式
Linear Attention的表示
$$Attention(Q,K,V)_i=
\frac{\sum_{j=1}^i(\phi(q_i)^\top \varphi(k_j))v_j}{\sum_{j=1}^i\phi(q_i)^\top \varphi(k_j)}
=\frac{\phi(q_i)^\top \sum_{j=1}^i \varphi(k_j) v_j ^\top}
{\phi(q_i)^\top \sum_{j=1}^i \varphi(k_j) }$$
说明
计算上层第i步的结果,需要加权求和第i步对于下层第i步前的结果,当使用核函数是可以把q_i提取出来,因为它是不变的
转换表示
公式
-
-
$$Attention(Q,K,V)_i=
\frac{\phi(q_i)^\top S_i}{\phi(q_i)^\top z_i}$$
-
-
说明
设S和z,然后S和z又是下层各个step的的K和V加权求和所得,所以Transformer可以表示为RNN那样的前一步的状态加当前状态的形式,也就是说Transformer和可以表示为RNN的形式
-
背景
一般Transformer的空间和运算复制度都是O(n^2)级别的,这就到时对资源的要求较大而且限制的长度的扩展