这篇笔记将从 Attention is not all you need 这篇文章入手,讲讲 Transformer 中的秩坍缩问题。
# 概述
Attention is not all you need 这篇文章主要用来分析 Transformer 中的多头自注意力网络(multi-head self-attention)的秩坍缩问题,研究的对象是带有残差连接的多头自注意力网络。
作者首先构造了一种称为 path decomposition 的方法,给出了含有残差连接的多头自注意力网络的形式化表达。随后,作者以该表达为基础,借助一种特殊的 “范数”(不严格满足范数定义),对网络输出进行了放缩,得到了一种 Lipshitz 关系,从而得到了网络的收敛速度。
文章的第一作者 Yihe Dong 是 Princeton 本科, Wisconsin Madison 研究生,数学专业(太强了)。因此文章数学推导味道很浓~作者曾在 Microsoft Research AI 工作,目前在 Google. 研究兴趣方向是结构数据学习、自动特征工程、多模态表示学习、几何表示学习。
# 路径分解
假设同时输入 n 个 token, 那么输入矩阵可以表示为 X∈Rn×din. 于是,头数为 H 的多头自注意力网络的第 h 个头可以表示为
SAh(X)=PhXWV,h+1bV,h⊤,
其中 WV,h∈Rdin×dv, Ph∈Rn×n 是经线性变换后 Q,K 两部分的乘积再作 softmax(⋅). 由于经过 softmax 变换,该矩阵是一个行随机矩阵,即每行的元素和为 1.
然后,将整个多层的自注意力网络进行分解,形式上可以得到
SAN(X)=path∈([H]∪{0})L∑PpathXWpath+1b⊤
注意到,行随机矩阵关于矩阵乘法封闭,因此此处的 Ppath 仍然是行随机矩阵。
# 单头自注意力网络的收敛性分析