现在已经有不少基于稀疏性的方法来优化 Transformer 的时间空间复杂性是 O(n2) 的问题。但是这些操作需要一些额外的计算。
本文提出 Sparsefinder, 在这些额外计算之前就能获得到这种稀疏的 attention, Sparsefinder 包含基于三种方法的 1. metric learning 2. quantization 3. clustering
通过利用 α-entmax transformation, 替代 Softmax 来直接获得稀疏的 patterns。不需要像之前的那些提出的模型通过近似的方法来获得。
当 limit α →1 时,α-entmax 恢复成 Softmax, α>1 时,获得稀疏的表示。
Sparsefinder
对于每个 attention 的 head 来可以定义一个这样的图
Gh={(qi,kj)∣pi,j>0}
那我们要做的就是,预计出来的这个稀疏的图满足如下条件
recall(G^h;Gh)=∣Gh∣∣∣∣G^h∩Gh∣∣∣
三种方法如下
可学习的参数映射,讲高维的 q,k∈Rd 映射到低维的 q′,k′∈Rr 使得 r≪d, 最后使用对比学的方法来训练这些参数, Loss 定义如下。
Lθ(Gh)=[ω+∥q′−kP′∥22−∥q′−kN′∥22]+
-
通过距离来匹配 G^h={(qi,kj)∣∥∥qi′−kj′∥∥2≤t} 也需要 O(n2) 但是由于 r≪d 所以会快得多。
-
Buckets through quantization 将每个维度量化为 1,…,r 然后放入 β bins。有相关联的 query 和 key 就会被放进同个 bucket。
-
Buckets through clustering 使用 k−means 分成不同的 bucket