Big Bird:一种应用于长序列的Transformer模型.
- paper:Big Bird: Transformers for Longer Sequences
- arXiv:link
基于Transformer的模型使用注意力机制处理文本数据。若输入序列具有$n$个tokens,则每一层full attention的计算复杂度为$O(n^2)$(每一个token都需要和所有tokens交互),将随着序列长度成平方增长。
Big Bird没有使用full attention,而是结合了三种attention机制,将单层的计算复杂度减少为$O(n)$。其所使用的注意力机制包括:
- Random attention:每一个token随机地和一些tokens交互,当限制最大交互数量时,计算复杂度为$O(n)$;
- Window attention:每一个token和自身附近的若干个tokens交互,当限制最大交互数量时,计算复杂度为$O(n)$;
- Global attention:选择一些全局非常重要的tokens(如第一个token代表$[CLS]$),这些tokens与所有tokens交互;其余tokens只与被选择的tokens交互,计算复杂度为$O(n)$。
尽管每一层tokens的交互是有限的,当层数足够多时,可以实现任意两个tokens之间的交互。相比于full attention,Big Bird用增加深度的方法减少了每一层的计算量,使得可以处理更长的文本序列。
Big Bird仍然具有Universal Approximator和Turing Completeness的性质。