论文地址:
https://arxiv.org/abs/2006.11527arrow-up-right
思路比较简洁,对输入部分增加mmm个mem token,记为xmem∈Rm×d\mathbf x^{mem}\in \mathbb R^{m\times d}xmem∈Rm×d,原始输入记为xseq∈Rn×d\mathbf x^{seq}\in \mathbb R^{n\times d}xseq∈Rn×d,合并后的输入记为xmem+seq=[xmem;xseq]∈R(n+m)×d\mathbf x^{mem+seq}=[\mathbf x^{mem};\mathbf x^{seq}]\in \mathbb R^{(n+m)\times d}xmem+seq=[xmem;xseq]∈R(n+m)×d。
论文一共介绍了三个模型,分别为:
Mem Transformer:
MemCtrl Transformer:
MemBottleNeck Transformer:
依然是标准Attention的计算方式,所以时间复杂度为O((n+m)2d)O((n+m)^2 d)O((n+m)2d)。
不变。
https://github.com/lucidrains/memory-transformer-xlarrow-up-right
Encoder和Decoder均适用;实验比较全,Encoder, Decoder以及Encoder-Decoder结构均测试过,总体效果积极。
论文中mmm取的比较小,所以增加的时间并不多。
优点:
非常简洁清晰的方法;
适用于单向和双向模型;
总结
值得复现;
Last updated 3 years ago