ERNIE-DOC: A Retrospective Long-Document Modeling Transformer
GitHub
论文目的
因为随着长度的增加,transformer的内存和时间消耗成倍增加,所以transformer不适合处理长文本。简单的截断文档或使用稀疏attention并不能解决这个问题,提出ERNIE-DOC:一种基于循环transformer的文档级语言预训练模型,由两种技术组成:retrospective feed mechanism(回溯) and the enhanced recurrence mechanism(循环)。
相关工作
figure 1(a)是将长文本进行切割,但是这样会导致跨段落信息丢失问题,即上下文分割问题。
figure1(b)是recurrence transformers,在计算当前段落时的hidden state时,会利用上一段落的信息,这样使得模型可以处理长文本。
有三个段落 ( S 1 , S 2 , S 3 ) (S_1,S_2,S_3) (S1,S2,S3),当计算 S 2 S_2 S2时,vanilla transformers只利用了 S 2 S_2 S2;recurrence transformers利用了 S 1 , S 2 S_1,S_2 S1,S2;但是它本来要使用的是 ( S 1 , S 2 , S 3 ) (S_1,S_2,S_3) (S1,S2,S3)
基于人类的阅读习惯,会先泛读文章,然后再返回来精读,基于recurrence transformers,本论文设计了ERNIE-DOC:一个文章的分段会进入模型两次作为回溯机制,每个段落都可以显式地融合在泛读阶段学习整个文档的语义信息,从而防止上下文碎片化。
但是figure 1(b)这样的形式也是不够的,最大有效上下文受层数限制,提出enhanced recurrence mechanism
提出 segment-reordering objective预训练一个文档级别的模型,预测文档的正确段顺序
- Sparse Attention Transformers
-
- the Sparse Transformer
-
- Reformer
-
- BP-Transformers
-
- Longformer
-
- BigBird
- Recurrence Transformers
-
- Com-pressive Transformer
-
- XLNet
- Hierarchical Transformers
Proposed Method
Background
一个长文档D切分长T个单独的段落 { S 1 , S 2 , . . . , S T } \{S_1,S_2,...,S_T\} { S1,S2,...,ST},其中 S t = { x t , 1 , . . . , x t , L } S_{t}=\{x_{t,1},...,x_{t,L}\} St={ xt,1,...,xt,L}是有L个token的第t个分段。vanilla、sparse、recurrence transformers对第t个分段在第n层产生hidden state h t n ∈ R L ∗ d h_t^n\in \mathbb R^{L*d} htn∈RL