Transformer家族之Deep Transformer

  |  

Transformer 的功能强大已经是学术界的共识,但是它难以训练也是有目共睹的。本身的巨大参数量已经给训练带来了挑战,如果我们想再加深深度可谓难上加难。这篇文章将会介绍几篇就如何加深 Transformer 的展开研究论文。从目前的研究来看 Transformer 之所以难训是由于梯度消失的问题,要对 Transformer 进行加深就必须要解决这个问题,今天我们介绍三种方法:

  • Depth-Scaled Initialization
  • Lipschitz Constrained Parameter Initialization
  • Pre-Norm

Transformer家族之Guassian Transformer

  |  

我们仔细回想一下 Transformer 在计算自注意力的过程, 我们会发现,序列中每个词在与其他词计算注意力权重的时候是无差别计算的。也就是说,这里隐藏着一个假设:词与词之间的距离对语义依赖是没有影响的(抛开位置编码的影响)。然而,根据我们的直觉,距离越近的词可能依赖关系会更强一些。那么事实是怎样的呢?Guo 等人 2019 对这个问题进行了研究,并提出 Gaussian Transformer 模型。

Transformer家族之Universal Transformer

  |  

自从 2017 年谷歌提出 Transformer 模型以后,其在多个任务上的表现都超过了前辈 RNN, 但是在某些任务上表现却差强人意,比如复制字符串(输入 abc, 输出 abcabc)。随后谷歌对原始的 Transformer 进行了改进,提出了 Universal Transformer 模型使其具有更强的泛用性,同时该模型也是图灵完备的。

Levenshtein Transformer 不仅具有序列生成的能力,还具有了序列修改的能力。然而我们会发现,整个模型实际上是很复杂的。从模型结构上讲,除了基础的 Transformer 结构,还额外增加了三个分类器:删除分类器、占位符分类器和插入分类器。从训练过程来讲,LevT 需要一个参考策略(expert policy),这个参考策略需要用到动态规划来最小化编辑距离。这样无论从训练还是才能够推理角度,我们都很难保证模型的效率。那么有没有一个既有 LevT 这样的强大的能力,又保持高效简洁的模型呢?Insertion-Deletion Transformer 就这样应运而生了(内心 os:你永远可以相信宋义进:joy:)。