带记忆的Transformer模块

MEMORIZING TRANSFORMERS

返回论文和资料目录

论文地址

1.导读

谷歌去年做的一个工作。内容很简单,在Transformer模块中加入了一层记忆层,结果表明这个方法可以帮助模型提高在NLP任务上的表现:generic webtext (C4), math papers (arXiv), books (PG-19),code (Github)。

2.摘要和引言

Transformer缺乏长期记忆的能力。以往的方式是通过训练,利用模型的参数来存储长期记忆,但这种方式需要大量的训练。
因此,作者提出将上一次模型中的一部分键和值(这里要看懂,需要了解Transformer结构中的Q,K,V)进行存储,再后面使用时,再利用一个被广泛应用的信息检索的方式–近似K近邻查找KNN来检索这个信息。最后,利用这个检索得到的信息和现有的信息得到结果。

相比以往的,作者认为有两个不同。

  1. KNN直接找原本文,而不是对原文本进行归纳总结。
  2. 反向传播的梯度不会更新外部内存。

3.方法

直接用下图理解。
带记忆的Transformer模块_第1张图片
与之前的Transformer不同的地方是1.左边加入了一个外部内存用于存放长期技艺,2.KNN检索 ,3.KNN attention层

作者提出首先将前M个input输入到KNN&local attention+FFN时的在FFN的建K和值V存放在外部内存(左边橙色)。
下一次输入时,会利用KNN检索当前的Q与之前的。。。对不起我看不懂作者想说啥。

未完待续

你可能感兴趣的:(AGI,论文陪读,transformer,深度学习,人工智能)