Index
Longformer とは
入力の系列の長さが増えると、パラメータや使用メモリ、計算量が、
二次関数的に増えるために、長い系列のデータを処理できない場合がある.
この手法では、長い系列の入力を可能にすることが目的.
そのために、Lognformer-Encdoer-Decoder (LED) という Attention への工夫を行う.
長い系列入力データの研究 メモ
直近の長い系列入力データへの効率化の研究.
Transformer の課題
Transformer は、系列数 に対し、計算リソースとメモリが で(二次関数的に)増える.
Attention は、入力情報 (Value) からの情報を抽出するために、Query と Key という別のパラメータを用意しており、
入力 (Value) が増えれば、Query と Key も同様に増える仕組みとなっているからだ!
(要は、入力 (Value) が増えても、Query と Key が増えなければ良いのだ!)
この課題を解決するために、複数の Attention (Attention Pattern = どの箇所とどの箇所の重要度を計算するかどうか) を考える.
Attention Pattern
Full Attention
通常の Attention. すべての入力 (単語) とすべての入力 (単語) 同士の重要度・関連度を計算する Attention.(図(a))
Sliding Window Attention
入力 (単語) に対し、入力 (単語) とその周辺(の単語)との重要度・関連度のみを計算する.(図(b))
(周辺の幅 (window) は、固定する.)
複雑さは となる.
Dilated Sliding Window
Sliding Window Attention を拡張 (dilated) したもの.(図(c))
さらに、広範囲の単語を俯瞰して、入力(単語)同士の重要度・関連度を計算できる.
ギャップサイズ を導入し、Window の幅 (size) を まで拡張し、1 サイズ分を飛ばした範囲で、
入力(単語)同士の重要度・関連度を計算できる.
また、Multi Head Attention にこの Attention Pattern を導入するときは、 各ヘッドの Attention に異なる を設定する.
Global Attention
NLP のタスクは、タスクごとに、どこに注目するかが、異なる.
QA についての学習の場合、質問文章と回答文章を比較する.
そこで、タスクごとに、あらかじめ着目する対応箇所を決めておいて(Global)、
その箇所の入力(単語)と他の入力(単語)同士の重要度を計算することで、余計な計算を行わないようにした.
それだけでは、物寂しいので、Sliding Window Attention を足してみたりする. (図(d))
まだ、複雑さは .
Score Function
Transformer では、重要度・関連度を計算するときに、線形写像を利用している.
(Scaled Dot Product)
Longformer では、Sliding Window Attention と、Global Attention で、別々の重みパラメータを用いてスコアを計算する.
参考
- Longformer: The Long-Document Transformer
- [2020]
- Abstract
- 1 Introduction
- 3 Longformer
- 3.1 Attention Pattern
- arxiv.org
Web サイト
- 【論文解説】Longformerを理解する