论文题目:Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context,下载链接
建立长期依赖:LSTM-->Transformer,带来问题:
用途:记忆机制,储存前一片段的信息,然后与当前片段信息拼接,公式如下。
$$ \widetilde{\mathbf{h}}_{\tau+1}^{n-1}=\left[\mathrm{SG}\left(\mathbf{h}_{\tau}^{n-1}\right) \circ \mathbf{h}_{\tau+1}^{n-1}\right] \\ \mathbf{q}_{\tau+1}^{n}, \mathbf{k}_{\tau+1}^{n}, \mathbf{v}_{\tau+1}^{n}=\mathbf{h}_{\tau+1}^{n-1} \mathbf{W}_{q}^{\top}, \widetilde{\mathbf{h}}_{\tau+1}^{n-1} \mathbf{W}_{k}^{\top}, \widetilde{\mathbf{h}}_{\tau+1}^{n-1} \mathbf{W}_{v}^{\top} \\ \mathbf{h}_{\tau+1}^{n}= TRML \left(\mathbf{q}_{\tau+1}^{n}, \mathbf{k}_{\tau+1}^{n}, \mathbf{v}_{\tau+1}^{n}\right) $$
其中,$\widetilde{\mathbf{h}}_{\tau+1}^{n-1}$即前一片段的信息(TRM输出向量),SG指stop-gradient,$[\circ]$指concat,TRML
指Transformer Layer.
注意:记忆的状态可以不止前一个segment,在本文实验中,状态的size和attention的length(即segment长度)相同。相当暴力...
用途:编码文本在不同片段的相对位置。
传统方法中,因为各个segment是没有联系的,在位置编码时只关注一个segment,采用绝对位置编码对$1:L$进行编码:
$$ \begin{aligned} \mathbf{h}_{\tau+1} &=f\left(\mathbf{h}_{\tau}, \mathbf{E}_{\mathbf{s}_{\tau+1}}+\mathbf{U}_{1: L}\right) \\ \mathbf{h}_{\tau} &=f\left(\mathbf{h}_{\tau-1}, \mathbf{E}_{\mathbf{s}_{\tau}}+\mathbf{U}_{1: L}\right) \end{aligned} $$
可以看到,在$\tau$和$\tau+1$,使用的位置编码是相同的,导致信息混淆。
传统的Attention:
$$ \begin{aligned} \mathbf{A}_{i, j}^{\mathrm{abs}} &=\underbrace{\mathbf{E}_{x_{i}}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k} \mathbf{E}_{x_{j}}}_{(a)}+\underbrace{\mathbf{E}_{x_{i}}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k} \mathbf{U}_{j}}_{(b)} \\ &+\underbrace{\mathbf{U}_{i}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k} \mathbf{E}_{x_{j}}}_{(c)}+\underbrace{\mathbf{U}_{i}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k} \mathbf{U}_{j}}_{(d)} \end{aligned} $$
与原Transformer中类似,提出一个$\mathbf{R} \in \mathbb{R}^{L} \max \times d$,其中来表示$\mathbf{R}_{i}$表示距离为$i$的两个位置,表达式改写为:
$$ \begin{aligned} \mathbf{A}_{i, j}^{\mathrm{rel}} &=\underbrace{\mathbf{E}_{x_{i}}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k, E} \mathbf{E}_{x_{j}}}_{(a)}+\underbrace{\mathbf{E}_{x_{i}}^{\top} \mathbf{W}_{q}^{\top} \mathbf{W}_{k, R} \mathbf{R}_{i-j}}_{(b)} \\ &+\underbrace{u^{\top} \mathbf{W}_{k, E} \mathbf{E}_{x_{j}}}_{(c)}+\underbrace{v^{\top} \mathbf{W}_{k, R} \mathbf{R}_{i-j}}_{(d)} \end{aligned} $$
其中,主要的变化为:
其中各部分用途为:
参数量(由小到大,由于实验数据不同,参数量在不同数据间不一定可比)
WikiText-103数据集下细节参考
enwik8数据集下细节参考
base模型与large模型的gap