论文地址:

Hybrid Random Features

说明

由于工作的原因平时要看不少论文,加上经常看苏神对论文的解析,所以决定自己也开始写论文解析,每篇解析主要分为以下几个部分:

  • 论文的整体思想概述;
  • 背景知识(可选);
  • 论文的主体思想,忽略不必要的细节;
  • 对该方法的分析和讨论(可选);

整体概述

Hybrid Random Features是Rethinking Attention with Performers的续作,其主要思想是:

基于蒙特卡洛的Kernel法对Softmax的近似是有误差的,利用Bagging可以减少这个误差。

背景知识

这部分对所需要的背景知识进行介绍。

Attention回顾

首先回顾attention的核心计算公式:

输入:

输出:

备注:

  • 为了方便讨论,这里忽略了多头的部分;
  • SoftMax部分没有除以$\sqrt{d_1}$;
  • 只考虑SelfAttention的情形;

时间复杂度分析:

  • $Q K^\top :(n, d) ,(d , n) \to (n, n) $
    • 时间复杂度为$O(n^2d)$
  • $\mathrm{SoftMax}\left(Q K^\top \right) : (n, n) \to (n, n)$
    • 时间复杂度为$O(n^2)$
  • $\mathrm{SoftMax}\left(Q K^\top \right) V : (n, n), (n, d)\to (n, d)$
    • 时间复杂度为$O(n^2 d)$
  • 总时间复杂度为:
    • $O(n^2 d)$

可以看到,关于序列长度的二次复杂度成为速度的主要瓶颈,所以一个主要问题就是如何解决这点。

左乘变右乘

现在换个计算方式,假设利用映射$f$将$Q,K$变换为:

然后在该变换下,有下式成立:

其中

为归一化矩阵,类似于SoftMax中的分母部分,注意该矩阵为对角矩阵。

那么此时的时间复杂度为:

  • $ K_1^\top V:(d_1 , n), (n, d_1) \to (d_1, d_1) $
    • 时间复杂度为$O(d_1^2n)$
  • $(Q_1 (K_1^{\top} V)) : (n, d_1), (d_1, d_1) \to (n, d_1)$
    • 时间复杂度为$O(d_1^2 n)$
  • $ 1_n^{\top} Q_1 : (1,n),(n, d_1)\to (1, d_1)$
    • 时间复杂度为$O(d_1 n)$
  • $ 1_n^{\top} Q_1 K_1^{\top} : (1, d_1),(d_1, n)\to (1,n)$
    • 时间复杂度为$O(d_1 n)$
  • $M (Q_1 (K_1^{\top} V)): (n,n), (n, d_1)\to (n,d_1)$
    • 注意尽管$M$为对角矩阵,所以该操作只要对$(Q_1 (K_1^{\top} V))$的第$i$行乘以$M_{ii}$即可,从而时间复杂度为$O(d_1n)$
  • 总时间复杂度为:
    • $O(d_1^2 n)$

所以,利用该方法可以将关于序列长度的二次复杂度降低到一次,所以问题的关键是选择怎样的映射$\phi$。

注意到如果

那么显然就有

所以一个常见的思路就是找到$f$,使得公式(1)成立。

备注:这种方法也被称为Kernel法

Performer

Performer的思路就是基于公式(1),其选择的映射为:

其中$w_i\sim \mathcal N(0, I_d)$,为iid的多维标准正态分布。

在该论文中,作者证明了无偏估计性

所以利用蒙特卡洛的思想,可以选择适当的$m$,那么就有

该方法的一个问题是,由于是蒙特卡洛模拟,所以必然有误差,因此一个核心的问题是如何减少误差,原始论文中给出一个方法,在Hybrid Random Features中作者又给出另一个方法——即Bagging。

主体思想

三个核心点

这篇论文有三个核心点:

  • Bagging后依然是无偏估计;
  • Bagging后的结果依然可以用内积表示;
  • Bagging后的结果某种程度上的误差要降低;

细节

无偏估计

由于是使用Bagging的思路,所以必然是许多映射的集成,假设基映射$\mathrm{SM}_k$为

Bagging的映射为

其中$\lambda_k(x,y)$为系数,形式如下

现在假设$\mathrm{SM}_k (x,y)$可以写成内积的期望(无偏估计),即

那么

因此${\mathrm{SM}_1}(x,y)$是$\mathrm {SM}(x,y)$的无偏估计。

内积表示

现在无偏性解决了,那么问题就来到是否可以用内积表示?对于一些特殊的$\lambda_k$,这点是可以满足的,比如

那么此时

这个例子显然太特殊了,在论文中作者给出了一个充分条件(这里忽略了常数):

那么

所以这种情形依然保持了无偏估计的特性,下一步只要说明可以用内积表示即可,证明分为两步:

  • 第一步,证明$\widehat \lambda_k(x,y)\widehat {\mathrm{SM}}_k(x,y)$可以用内积表示;
  • 第二步,证明$\widehat{\mathrm{SM}}(x,y)$可以用内积表示;

第一步

这里通过两个引理的方式给出证明。

引理1

假设$A,B\in \mathbb R^{m\times n}$,那么存在映射

满足

证明:

那么

即$f$是将$A$按行拼接为一个长向量。

引理2

对于映射

存在映射

满足

证明:

完整证明

注意到

所以根据引理2,存在$f_k$,使得

第二步

根据(7),我们有

那么

其中

降低误差

对于一般的情形,是很难分析出误差的,所以这里作者给了一个特殊的例子,此处$p=1$,两个基本映射为:

相应的

其中

作者证明了,在这种情形下,Bagging后方法的最大相对误差比单用$\phi_{m}^{\mathrm{trig}}$和$\phi_{m}^{++}$的最大相对误差要低,这也提供了理论保证,这部分见论文第三节。

分析和讨论

这个方法整体来说还是比较清晰,但是作者书写的时候公式符号不太好理解,所以对阅读带来了一定的困难。

还有就是$\xi,\eta$的选择似乎是凑的,不知道是否有更好的方式来选择。