[论文解读] Bi-Directional Block Self-Attention for Fast and Memory-Efficient Sequence Modeling
Bi-BloSAN 引入了一种无 RNN/CNN 的序列编码器,使用块内和块间自注意力实现与 SAN 相近的性能,同时在内存效率上与 RNN 相当,并在九个 NLP 任务上得到验证。
Recurrent neural networks (RNN), convolutional neural networks (CNN) and self-attention networks (SAN) are commonly used to produce context-aware representations. RNN can capture long-range dependency but is hard to parallelize and not time-efficient. CNN focuses on local dependency but does not perform well on some tasks. SAN can model both such dependencies via highly parallelizable computation, but memory requirement grows rapidly in line with sequence length. In this paper, we propose a model, called "bi-directional block self-attention network (Bi-BloSAN)", for RNN/CNN-free sequence encoding. It requires as little memory as RNN but with all the merits of SAN. Bi-BloSAN splits the entire sequence into blocks, and applies an intra-block SAN to each block for modeling local context, then applies an inter-block SAN to the outputs for all blocks to capture long-range dependency. Thus, each SAN only needs to process a short sequence, and only a small amount of memory is required. Additionally, we use feature-level attention to handle the variation of contexts around the same word, and use forward/backward masks to encode temporal order information. On nine benchmark datasets for different NLP tasks, Bi-BloSAN achieves or improves upon state-of-the-art accuracy, and shows better efficiency-memory trade-off than existing RNN/CNN/SAN.
研究动机与目标
- 提出一种序列编码器,结合自注意力的优势与接近 RNN 的低内存成本。
- 提出带掩码的块自注意力(mBloSA),以捕捉本块内的局部依赖和块间的全局依赖。
- 将 Bi-BloSAN 发展为用于全面序列编码的双向块自注意力网络。
- 展示在 NLP 任务上的效率-内存权衡及具竞争力的准确性。
- 提供消融分析以量化局部/全局上下文和掩码机制的贡献。
提出的方法
- 将输入序列分割成等长块,在每个块内应用带掩码的自注意力(块内)。
- 通过对块内输出应用 source2token 自注意力,计算块级表示(块间步骤)。
- 跨块应用带掩码的自注意力以建模长距离依赖(块间 SAN)。
- 通过门控机制将局部和全球块上下文输出与原始输入融合。
- Bi-BloSAN 堆叠两个带前向和后向掩码的 mBloSA 模块以编码时间顺序(Bi-BloSA)。
- 通过确保每个 SAN 仅处理短序列来降低内存占用,相较于全序列 SAN 提高效率。
实验结果
研究问题
- RQ1基于自注意力的编码器能否在内存占用接近 RNN 的同时保持或提高准确性?
- RQ2两层块级注意力(块内 + 块间)是否能有效捕获局部和全局依赖?
- RQ3前向与后向掩码及特征层注意力如何影响时间顺序和上下文敏感性?
- RQ4在各种 NLP 任务中,Bi-BloSAN 与 RNN/CNN/SAN 基线在经验上的效率与内存权衡如何?
主要发现
- Bi-BloSAN 在九个 NLP 数据集上达到最先进或有竞争力的准确性,且具备有利的效率-内存权衡。
- 在 SNLI 上,Bi-BloSAN(480D)达到测试准确率 85.7%,训练速度快于若干基线,内存与 RNN 相似。
- Bi-BloSAN 在准确性上优于若干 RNN/CNN/SAN 基线,且在内存效率方面优于 DiSAN。
- 消融研究表明局部(块内)和全局(块间)上下文对性能均有显著贡献,且 mBloSA(掩码)在测试中将准确性提升最高可达 2.6 个百分点。
- Source2token 自注意力相比普通注意力显著提升性能(在 SNLI 中约 +3.3%)。
- Bi-BloSAN 在改造后的 SQuAD 阅读理解和 SICK 语义相关性上表现出色,表明对多任务具有稳健的泛化能力。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。