Transformer-XL:Attentionモデルの可能性を解き放つ

  • 2019.01.30
  • AI
Transformer-XL:Attentionモデルの可能性を解き放つ

1.Transformer-XL:Attentionモデルの可能性を解き放つまとめ

・固定長の制限があったTransformerを大幅に改良するTransformer-XLの登場
・「セグメントレベルの再帰」と「相対位置符号化」によりブレークスルーを達成
・広範囲な依存関係の理解が必要になるBERT等の更なる改良が見込まれる

2.Transformer-XLとは?

以下、ai.googleblog.comより「Transformer-XL: Unleashing the Potential of Attention Models」の意訳です。元記事は2019年1月29日、Zhilin YangさんとQuoc Leさんによる投稿です。

文章を正しく理解するためには、数千語前の単語や文を参照する必要があります。これは、広範囲の依存関係 – シーケンシャルデータ(連続するデータ)に見られる一般的な現象 – の一例です。現実世界の多くのタスクを処理するためにはこの依存関係を処理する必要があります。

人間はこれを自然に行う事ができますが、ニューラルネットワークを用いて広範囲な依存関係をモデル化することは依然として困難な課題です。

Gating-based RNNs(GRUs:情報の遮断/通過機能を持つゲートを加えたRNN)とClipping gradientsテクニック(勾配が大きくなりすぎないように適宜修正する手法)は、広範囲な依存関係をモデル化する能力を向上させますが、それでもこの問題を完全に解決するには不十分です。

この問題に対処する1つの方法は、Transformerを使用することです。これにより、データユニット間を直接接続する事が可能になり、広範囲な依存関係をより的確に捉えることができます。しかし、言語モデリングでは現在、Transformerを固定長で実装しています。つまり、長い文章では数百文字の固定長文字列(セグメント)に切りわけられ、各セグメントは別々に処理されます。


トレーニング時に固定長のコンテキストを持つVanilla(素の) Transformer

これは2つの重大な制限をもたらします。

1.アルゴリズムは、固定長よりも長い依存関係をモデル化することはできません。

2.通常、固定長に切り分ける際にピリオド等の文章の境界を尊重しないため、結果として文脈の断片化を引き起こし、それは非効率的な最適化に繋がります。これは、長い依存関係が問題にならない短いシーケンスの場合でも特に厄介です。

これらの制限に対処するために、私達はTransformer-XL、固定長のコンテキストを超えて自然言語理解を可能にする新しいアーキテクチャを提案します。

Transformer-XLは、2つの手法で構成されています。
「セグメントレベルの再帰」と「相対位置符号化」です。

セグメントレベルの再帰
トレーニング中、事前のセグメントに対して計算された特徴表現は固定され、モデルが次の新しいセグメントを処理する際に拡張コンテキストとして再利用されるようにキャッシュされます。この追加の接続は、コンテキスト情報がセグメント境界を越えて流れることができるようになるため、依存関係の長さを最大でN倍に増やします。ここで、Nはネットワークの深さです。更に、この再帰メカニズムはコンテキストの断片化の問題も解決し、新しいセグメントの前にあるトークンに必要なコンテキストを提供します。


トレーニング時にセグメントレベルで再帰するTransformer-XL

相対位置符号化
しかしながら、単純にセグメントレベルの繰り返しを適用するだけでは機能しません。前のセグメントを再利用するとき、位置の表現が一環しないからです。

例えば、文脈上の位置[0、1、2、3]を持つ古いセグメントを考えます。 新しいセグメントが処理されると、結合された2つのセグメントの位置表現として[0、1、2、3、0、1、2、3]が得られます。前のセグメントと新しいセグメントで各ポジションIDの意味が異なっており、シーケンス全体で一貫していません。

このため、私達は、セグメントレベルの再帰メカニズムを可能にするための新しい相対位置符号化方式を提案します。更に、他の相対位置符号化方式とは異なり、本発明の定式化は、学習可能なembeddingsの代わりに学習可能なtransformationsを伴う固定embeddingsを使用するので、テスト時により長いシーケンスに対してより一般化可能です。

これらの両方のアプローチを組み合わせると、Transformer-XLは一般的なTransformerモデルよりもはるかに効果的と評価されます。


評価時に固定長コンテキストを持つVanilla Transformer


評価時にセグメントレベルで再帰するTransformer-XL

さらに、Transformer-XLでは、新しいセグメントの要素を再計算なしでまとめて処理できるため、速度が大幅に向上します(後述)

結果
Transformer-XLは、長いシーケンスと短いシーケンスの両方に対する文字レベルおよび単語レベルのタスクを含む、さまざまな主要言語モデリング(LM)ベンチマークで新たに最高得点を取得しました。経験的には、Transformer-XLには3つの利点があります。

1)Transformer-XLは、RNNよりも約80%、素のTransformerよりも450%長い依存関係を学習できます。一般にRNNよりもパフォーマンスは優れていますが、固定長のコンテキストのモデリングには最適ではありません。(詳細は論文)。

2)Transformer-XLは、言語モデリング作業の評価において、素のTransformerよりも最大1,800倍も高速です。再計算が不要なためです。(上図を参照)

3)Transformer-XLは、サンプルの予測においてより正確なパフォーマンスを出せます。長いシーケンスに対しては広範囲依存性モデリング、短いシーケンスに対してはコンテキスト断片化問題の解決により、より良いパフォーマンスが出せるのです。

Transformer-XLは、bpc/perplexityをenwiki8では1.06から0.99、text8では1.13から1.08、WikiText-103では20.5から18.3、One Billion Wordでは23.7から21.8、Penn Treebankでは55.3から54.5に改善しました。(微調整なしに)私達は、キャラクターレベルのLMベンチマークで初めて1.0の壁を突破しました。

私達は、Transformer-XLの多くのエキサイティングな潜在的なアプリケーションを想像します。BERTなどの言語モデルの事前学習方法の改善、写実的な長い文章の生成、および画像および音声領域でのアプリケーションなどなど、もちろん、これらに限定されません。広範囲な依存関係の理解が必要になる全ての分野です。詳しくは、私たちの論文をご覧ください。

私たちの論文で使用されているコード、事前学習モデル、そしてハイパーパラメータは、GitHubのTensorflowとPyTorchの両方で利用可能です。

3.Transformer-XL:Attentionモデルの可能性を解き放つまとめ

1)ai.googleblog.com
Transformer-XL: Unleashing the Potential of Attention Models

2)arxiv.org
Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context

3)github.com
kimiyoung/transformer-xl