Open e4exp opened 3 years ago
トランスフォーマーベースのモデル [1]は、自然言語処理(NLP) [2, 3]やコンピュータビジョン [4-6]の分野で大きな成功を収めています。 これらのモデルには、トークン間の隣接関係と長距離関係の両方を、最新のハードウェア上で効率的に実現できる自己注釈モジュールが搭載されています。 しかし、自己注意によって消費される時間とメモリは、入力の長さに対して二次関数的に変化するため、長いシーケンスを処理するには非常にコストがかかります。 多くの言語タスクや視覚タスクは、長いシーケンスをモデル化することで恩恵を受けます。 NLPでは、文書レベルのタスクで長い記事を処理する必要があり[7, 8など]、言語モデルの性能はシーケンスの長さに応じて向上することが多い[9, 10など]。 コンピュータビジョンでは、多くのタスクで高解像度の画像が使用されますが、これらの画像はトランスフォーマーモデルで処理される前に、画像パッチの長いシーケンスに変換されます(4、6、11)。 そのため、異なるドメイン間でうまく一般化できる、長尺シーケンスモデリングのための効率的な注目メカニズムを設計することが極めて重要である。
フルアテンションの2次コストを削減するために様々な方法が提案されているが、言語と視覚の両方のドメインでうまく一般化する効率的なアテンションメカニズムはあまり検討されていない。 方法の1つは、スライディング・ウィンドウ[12-15]やランダム・スパース・パターン[16]などの定義済みのパターンを用いて、注意行列をスパース化するものである。 これらの方法は,強い帰納的バイアスを利用して,計算性能とモデル性能の両方を向上させますが,各特定のトークンは,トークンのサブセットにしか注意を向けられないため,自己注意層の容量が制限されます. 別の手法は、低ランクの投影を利用して、入力シーケンスの低解像度の表現を形成するが、これらの手法の成功したアプリケーションは、特定のNLPタスクに限定されている[17-19]。 スパースアテンションとは異なり,この手法では,各トークンが入力配列全体にアテンションすることができる. しかし,トークン単位の忠実な情報が失われるため,言語の標準的なベンチマーク[20]や視覚の標準的なベンチマーク[21]など,細かい局所情報を必要とするタスクでは,フルアテンションやスパースアテンションに比べて性能が劣ることがあります. 効率的なTransformerの開発が急速に進んでいるにもかかわらず、提案されたアーキテクチャの中には、双方向モデルにしか適用できないものもあります[15, 16, 18など]。 トランスフォーマーに基づく自己回帰モデルは,言語モデリング[22],画像合成[23],テキストから画像への合成[24]で大きな成功を収めており,これらの分野でも長いテキストや高解像度の画像が扱われている. 自己回帰モデルと双方向モデルの両方に適用できる効率的な変換器を設計することが望まれている。 本研究では、局所窓注意と新規の長距離注意を一つの効率的な注意メカニズムに統一する。 この2種類の注意は補完的な効果を持ち、自己回帰モデルと双方向モデルの両方において、言語と視覚の様々な課題で最先端の結果を得ることができることを示す。
我々の貢献の概要
本論文の残りの部分を以下のように構成する。 セクション2では、関連する研究について説明します。 セクション3では、前置詞を紹介し、我々の手法を提示する。 セクション4では、実験結果を示し、 セクション5で本論文を締めくくります。
Transformer-LSは、すべての入力トークン間の相関を捉える能力を維持しつつ、長距離と短期の注意を集約することで、完全な注意を近似しています。 本節では、まずTransformerにおけるマルチヘッドアテンションの前段階を紹介します。 次に、スライディングウィンドウによる短期的な注目と、ダイナミックプロジェクションによる長距離的な注目をそれぞれ紹介します。 その後、集約法とデュアル・ノーマライゼーション(DualLN)戦略を提案します。 図1を参照して、我々の長・短期的な注意を説明する。
マルチヘッドアテンションはTransformer [1]のコアコンポーネントであり、異なる表現サブスペースで入力シーケンス全体にアテンションすることで、各トークンの文脈表現を計算します。 これは次のように定義されます。
ここで、Q、K、V∈R n×dはクエリ、キー、値の埋め込み、WO∈R d×dは出力用の投影行列、i番目の頭Hi∈R n×dkはスケール付きドットプロダクトの注目度を示す。
であり、dk=d/hは各ヘッドの3埋め込み次元であり、W Q i , W K i , WV i∈R d×dkは学習された投影行列であり、Ai∈R n×nは各注目ヘッドの完全な注目行列を示す。 Aiの計算と保存の複雑さはO(n 2 )であり、nが大きい場合には法外なものになる可能性がある。 以下では、簡単のために、1次元の入力シーケンスの場合に基づいて議論します。 所定の順序が与えられた2D画像データに拡張することは簡単です。
ここでは、シンプルで効果的なスライディングウィンドウによる注目を用いて、きめ細かい局所的な相関関係を把握します。 言い換えれば、各クエリは固定サイズの近傍内の近くのトークンに注目します。 同様の手法は[14, 16, 11]でも採用されています。 具体的には、効率化のために、入力シーケンスを長さwの分離したセグメントに分割します。 セグメント内のすべてのトークンは、そのホームセグメント内のすべてのトークンと、そのホームセグメントの左側と右側にあるw/2個の連続したトークンに注目します2。 付録の図5を参照してください。
i番目のヘッド内の位置tにある各クエリQtについて、そのウィンドウ内の2w個のキーバリューペアをK〜t, V〜t∈R 2w×dと表します。 PyTorchでの実装では、このセグメント単位のスライディングウィンドウ注目は、各トークンが自分自身とその左右にあるw個のトークンに注目するトークン単位のスライディングウィンドウ注目よりも高速であり、そのメモリ消費量はシーケンスの長さに対して線形にスケールします。 スライディング・ウィンドウ・アテンションは、スライディング・ウィンドウ・アテンションの異なるヘッドに異なるダイレーションを導入することで、長距離相関を部分的に捉えるように拡張することができます[14]。 しかし、異なるヘッドのためのダイレーション構成はさらに調整が必要であり、異なるダイレーションを持つマルチヘッドアテンションの効率的な実装は自明ではない。 より効率的な代替案は、スライディングウィンドウアテンションをランダムスパースアテンションで補強することであるが[16]、これはフルアテンションのように長距離相関が各層で捕捉されることを保証するものではない。 次のセクションでは、この問題を解決するために、我々の長距離アテンションを提案する。
これまでの研究で,自己注意行列は低ランク行列の積でよく近似できることが示されています[17]. 完全な注意を低ランク行列の積に置き換えることで[42, 19, 18, 43, 28],各クエリはすべてのトークンに注意を払うことができます. Linformer [17]は,このカテゴリの最も代表的なモデルの1つです. このモデルは、キーと値の長さを減らすために固定の投影行列を学習するが、固定の投影は、意味的に保存された位置の変化に対して柔軟性がない。 これらの観察結果から、i番目の頭部における動的低ランク投影を、Pi = f(K) ∈ R n×rとパラメータ化する。 ここで、r nは低ランクサイズであり、PiはすべてのキーK∈R n×d oの入力シーケンスに依存する。 これは、(n × dk)次元の鍵の埋め込みKW K iと値の埋め込みV WV iを、より短い、(r × dk)次元の鍵K¯ iと値V¯ iの埋め込みに投影する。 Linformer [17]とは異なり、低ランク投影行列は入力シーケンスに依存する動的なもので、シーケンスの長さを変える挿入、削除、言い換えなどの操作に対して、より柔軟でロバストなものにすることを目的としています。 なお、クエリエンベッディングQWQ i∈R n×dkは同じ長さに保ち、各クエリにK¯ iとV¯ iを参加させます。 このようにして、完全な(n×n)アテンション行列は、r個の列または行を持つ2つの行列の積に分解することができます。 具体的には、動的投影行列Pi∈R n×rと、低ランク注目のキーバリュー埋め込みK¯ i , V¯ i∈R r×dkを、次のように定義する
ここで,WP i∈R d×rは学習可能なパラメータであり3,softmaxはn個のトークンすべてについて1次元目の投影重みを正規化するもので,実験では学習を安定化させている。 なお,我々が検討したすべての実験では,K = Vであるため,PiはVに依存しても同じままである. 式3の計算量はO(rn)です。 フルアテンションがどのように低ランク行列の積に置き換えられるかを見るために、ロングレンジアテンションの各ヘッドHi∈R n×dkを次のように計算する
であるため、フルアテンションは、2つの低ランク行列A¯ i∈R n×rとP|i∈R r×nの暗黙の積に置き換えられ、計算量はO(rn)に減少します。 なお、すべてのトークンに対するクエリの効果的な注目度の重みは、依然として1になります。 我々のグローバルアテンションは、各クエリが同じ自己注目層内のすべてのトークン埋め込みに注目することを可能にする。 対照的に、スパース・アテンション・メカニズム[14, 16]では、このような相関関係を構築するために複数の層を積み重ねる必要があります。
自己回帰モデルでは、各トークンは前のトークンにしか注目できないので、長距離注目は異なるトークンに対して異なる範囲を持つべきである。 我々のグローバルアテンションを実装する簡単な方法は、各クエリのK¯ i , V¯ iをリカレントに更新することですが、これはソフトマックスの非線形性のために、トークンごとに式(3)のプロジェクションを再計算する必要があり、O(rn2 )の計算複雑性になります。 線形的な複雑さを維持するために、自己回帰モデルの場合は、まず入力シーケンスを長さlの等長セグメントに分割し、我々の動的投影を適用して各セグメントからK¯ i , V¯ iを抽出します。 各トークンは、自分の将来のトークンを含まないセグメントの K¯ i , V¯ i にのみ参加できます。 形式的には、Qtを位置tにおけるクエリ、K(l-1)s:ls、V(l-1)s:lsをs番目のセグメントからのキー・バリュー・ペア、st = bt/lcとします。 自己回帰モデルでは、Ki,t, Vi,tにアテンダンスすることでQtの長距離注目度を計算する.次のように定義される
このようにして、動的低ランク投影は、各セグメントに一度だけ並行して適用され、線形の複雑さと高いトレーニング速度が維持されます。 これに比べ、Random Feature Attention [30]は、再帰性が要求されるため、トレーニングに時間がかかります。
局所的な注意と長距離の注意を集約するために、頭ごとに異なる注意メカニズムを採用する代わりに [12, 14, 34]、i番目の頭の各クエリに、局所窓とグローバル低ランク投影からのキーと値の組合わせに注意を向けさせることで、どちらからでも重要な情報を選択することを学習させる。 この集約戦略は、自己回帰言語モデルを用いた最初の試行で頭を分離するよりも効果的であることがわかりました。 具体的には、i番目の頭について、クエリQtに対する位置tのローカルウィンドウ内で、グローバルな低ランク投影されたキーと値をK¯ i , V¯ i∈R r×dk、ローカルなキーと値をK〜t, V〜t∈R 2w×dとする。 そして、位置tのi番目のアテンションHi,tは、i
ここで,[- ; -]は,1次元目の行列を連結したものである. さらに、K〜tW K iとK¯ iの初期ノルムの間にスケールの不一致が見られ、言語タスクと視覚タスクの両方において、初期化時にローカルウィンドウに注意が偏ることが分かった。 以下では、規範を揃えるための正規化戦略(DualLN)を導入し、集約の効果を向上させる。
平均値がゼロのエントリを持つベクトルの`2ノルムは,期待値の分散に比例する. 重み付けされた平均は分散を減少させ、その結果、ゼロ平均ベクトルのノルムを減少させることに注意してください。 その結果、式(3)の加重平均K¯ i , V¯ iにおける低ランク注目からの埋め込みベクトルは、スライディングウィンドウ注目からの通常のキーと値の埋め込みよりも小さいノルムを持つことになります(図2左を参照)。 このスケールの不一致は、2つの副作用を引き起こします。 まず、ローカルランク成分の内積QtW Q i K¯ | iは、ローカルウィンドウのものよりも大きさが小さくなる傾向があり、その結果、長距離注目の注目点はシステム的に小さくなる。 また、ローランクアテンションのキーバリューペアK¯ i , V¯ iは、ローランクとローカルウィンドウに同じアテンションスコアが割り当てられていても、V¯ iのノルムが小さいため、Hiの方向への影響は当然小さくなる。 これらの効果により、低ランク成分のグラデーションが小さくなり、モデルが長距離相関を効果的に利用することを学習する妨げになる。 このような問題を回避するために、ローカルウィンドウとグローバル低ランクアテンションのキーと値の投影の後に、2セットのレイヤ正規化を追加し、初期化時にそれらのスケールが揃うようにするが、ネットワークはトレーニング後にノルムの再重み付けを学習することができる。 具体的には、集約されたアテンションは次のように計算されます。
ここで、LNL(-)、LNG(-)は、それぞれローカルアテンションとグローバルアテンションのレイヤー正規化を表します。 図2右に示すように、DualLNを用いて学習したTransformer-LSモデルは、DualLNを用いていないモデルと比較して、常に検証損失が低くなっています。
トランスフォーマーは、言語領域と視覚領域の両方で成功を収めている。 しかし、長い文書や高解像度の画像のような長いシーケンスに拡張するには、自己保持機構が入力シーケンスの長さに対して二次的な時間とメモリの複雑さを持つため、法外なコストがかかります。 本論文では、言語タスクと視覚タスクの両方において、長いシーケンスを線形の複雑さでモデル化するための効率的な自己注意メカニズムであるLong-Short Transformer (Transformer-LS)を提案しています。 これは、遠方の相関をモデル化するための動的投影を用いた新規の長距離注意と、微細な局所的相関を捉えるための短期注意を集約したものである。 また、2つの注意メカニズム間のスケールの不一致を考慮して、二重正規化戦略を提案しています。 Transformer-LSは、自己回帰モデルと双方向モデルの両方に、複雑さを増すことなく適用することができます。 我々の手法は、Long Range Arenaベンチマーク、自己回帰型言語モデリング、ImageNet分類など、言語および視覚領域の複数のタスクにおいて、最先端のモデルを上回る結果を得た。 例えば、enwik8においてTransformer-LSは、従来の手法に比べて半分のパラメータ数で0.97のテストBPCを達成しており、同じハードウェア上でフルアテンション版と比較して、より高速で、3倍の長さのシーケンスを扱うことができます。 また、ImageNetにおいては、最先端の結果を得ることができ(例:224×224のImageNet-1Kのみで学習したTop-1精度84.1%)、高解像度の画像に対しても高いスケーラビリティを持っています。 モデルとソースコードは近日公開予定です。