e4exp / paper_manager_abstract

0 stars 0 forks source link

XLNet: Generalized Autoregressive Pretraining for Language Understanding #621

Open e4exp opened 3 years ago

e4exp commented 3 years ago

双方向コンテクストをモデル化する能力を持つ BERT のようなノイズ除去オートエンコーディングに基づく事前学習は、自己回帰言語モデルに基づく事前学習アプローチよりも優れた性能を達成しています。 しかし、BERTは、入力をマスクで破壊することに依存しているため、マスクされた位置間の依存性が無視され、事前学習と調整の不一致に悩まされています。 これらの長所と短所を考慮して、我々は一般化された自己回帰型の事前学習法であるXLNetを提案する。 XLNetは、 (1)因子化順序のすべての順列に対する期待される尤度を最大化することで、双方向の文脈を学習することを可能にし、 (2)自己回帰型の定式化によりBERTの限界を克服する。 さらに、XLNetは、最先端の自己回帰モデルであるTransformer-XLのアイデアを事前学習に統合しています。 実証的に、同等の実験設定の下で、XLNetは、質問応答、自然言語推論、感情分析、および文書ランキングを含む20のタスクにおいてBERTを上回り、多くの場合、大差をつけています。

https://github.com/zihangdai/xlnet

e4exp commented 3 years ago

1 はじめに

教師なしの表現学習は,自然言語処理の分野で大きな成功を収めている [7, 22, 27, 28, 10]. 一般的に,これらの手法は,ラベルのない大規模なテキストコーパスを用いてニューラルネットワークを事前に学習し,その後,下流のタスクでモデルや表現を微調整する. この共通した高レベルのアイデアの下で、様々な教師なしの事前トレーニングの目的が文献で検討されてきた。 その中でも、自己回帰(AR)言語モデリングとオートエンコーディング(AE)は、最も成功した前学習目的の2つです。 AR言語モデリングは,自己回帰モデルを用いてテキストコーパスの確率分布を推定するものである[7, 27, 28]. 具体的には,テキスト列 x = (x1, - - , xT ) が与えられた場合,AR language modeling は,その尤度を,前方積 p(x) = Prod^T{t=1} p(xt | x<t) または後方積 p(x) = Prod^1{t=T} p(xt | x>t) に因数分解する. それぞれの条件付き分布をモデル化するために、パラメトリックモデル(ニューラルネットワークなど)を学習します。 AR言語モデルは、一方向の文脈(前方または後方のどちらか)をエンコードするようにしか学習されないので、深い双方向の文脈をモデル化するには効果的ではない。 逆に、下流の言語理解タスクでは、双方向の文脈情報を必要とすることが多い。 このため、AR言語モデリングと効果的な事前トレーニングとの間にはギャップが生じます。

これに比べ、AEベースの事前学習は、明示的な密度推定を行わず、破損した入力から元のデータを再構築することを目的としています。 顕著な例として,BERT [10]があり,これは最先端の事前学習アプローチでした. これは、入力トークン列が与えられたときに、トークンの一部が特別な記号 [MASK] で置き換えられ、破損したバージョンから元のトークンを復元するようにモデルが訓練されます。 密度推定は目的の一部ではないため、BERT は、再構成のために双方向のコンテキストを利用することができます。 即効性のある利点として、これは AR 言語モデリングにおける前述の双方向性情報のギャップを 埋め、性能の向上につながる。 しかし、前訓練時に BERT によって使用される [MASK] のような人工的な記号は、微調整時には実データに存在しないため、前訓練と微調整の不一致が生じる。 さらに、予測されたトークンが入力でマスクされているため、BERT は、AR 言語モデリングのように積規則を使用して結合確率をモデル化することができない。 言い換えれば、BERT は、マスクされていないトークンが与えられた場合、予測されたトークンは互いに 独立していると想定しているが、これは、高次および長距離の依存性が自然言語において普及しているため、 単純化しすぎている[9]。

既存の言語事前学習の目的の長所と短所に直面して,本研究では,AR言語モデリングとAEの両方の長所を活用しつつ,それらの限界を回避する一般化自己回帰法XLNetを提案する.

関連研究

順列ベースのARモデリングのアイデアは、[32, 12]で検討されていますが、いくつかの重要な違いがあります。 まず、以前のモデルは、モデルに「順序のない」帰納的バイアスを焼き付けることで密度推定を改善することを目的としていますが、XLNetはAR言語モデルが双方向のコンテキストを学習できるようにすることを動機としています。 技術的には、ターゲットを意識した有効な予測分布を構築するために、XLNetはターゲットの位置を2つのストリームの注意によって隠れた状態に組み込んでいますが、以前の順列ベースのARモデルはMLPアーキテクチャに内在する暗黙の位置認識に依存していました。 最後に、オーダーレスNADEとXLNetの両方において、「オーダーレス」とは、入力シーケンスをランダムに順列化できることを意味するのではなく、モデルが分布の異なる因数分解順序を許容することを強調したいと思います。 関連する別のアイデアとして、テキスト生成の文脈で自己回帰デノイジングを行うことがある[11]が、これは固定の次数しか考慮しない。

e4exp commented 3 years ago

2 提案方法

2.1 背景

本節では、まず、言語の事前訓練のための従来のAR言語モデリングとBERTを検討し、比較する。 テキスト列 x = [x1, - - - , xT ]が与えられた場合、AR language modeling は、前方自己回帰因子化の下で尤度を最大化することにより、事前学習を行う。

image

ここで、hθ(x1:t-1)は、RNNやTransformerなどのニューラルモデルによって生成されるコンテキスト表現であり、e(x)はxの埋め込みを表します。 これに対して、BERTは、ノイズ除去の自動エンコーディングに基づいています。 具体的には、テキストシーケンス x に対して、BERT はまず、x のトークンの一部(例えば 15%)を特別な記号 [MASK] にランダムに設定することにより、破損バージョン xˆ を構築します。 マスクされたトークンを x¯ とします。学習目的は、x^からx¯を再構築することです。

image

ここで,mt=1はxtがマスクされていることを示し,Hθは,長さTのテキスト列xを隠れベクトルの列Hθ(x)=[Hθ(x)1,Hθ(x)2,- - - ,Hθ(x)T]にマッピングするトランスフォーマーである.

2つの事前学習目的の長所と短所を以下の側面から比較する。

2.2 目的 Permutation Language Modeling

上記の比較によると、AR言語モデリングとBERTには、それぞれ他に対する独自の利点がある。 両者の弱点を回避しつつ、両者の利点をもたらす事前トレーニングの目的が存在するかどうかは、自然な疑問です。 orderless NADE[32]のアイデアを借りて、ARモデルの利点を保持するだけでなく、モデルが双方向のコンテキストを捉えることを可能にする順列言語モデリング目的を提案する。 具体的には、長さTのシーケンスxに対して、有効な自己回帰因子分解を行うためのT!だけの異なる順序が存在する。 直感的には、モデルのパラメータがすべての因数分解のオーダーで共有されていれば、予想では、モデルは両サイドのすべてのポジションから情報を収集することを学習することになります。 この考えを公式化するために、ZTを長さTの指数列[1, 2, ... ... , T]のすべての可能な順列の集合とする。 また,順列z∈ZTのt番目の要素とt-1番目の要素を表すために,ztとz<tを用いる. そして、我々の提案する順列言語モデリングの目的は、以下のように表現できる。

image

基本的には、テキストシーケンスxに対して、一度に因子化順序zをサンプリングし、因子化順序に応じて尤度pθ(x)を分解します。 同じモデルパラメータθが学習中のすべての因子化順序で共有されるため、期待値としては、xtはシーケンス内のすべての可能な要素xi neq xtを見たことになり、したがって、双方向のコンテキストを捉えることができます。 さらに、この目的はARフレームワークに適合するため、セクション2.1で議論した独立性の仮定とpretrain-finetune discrepancyを自然に回避することができる。

並べ替えに関する注意事項

提案する目的は、因数分解の順序を並べ替えるだけで、配列の順序を並べ替えるわけではない。 言い換えれば、元の配列順序を維持し、元の配列に対応する位置エンコーディングを使用し、Transformersの適切なアテンションマスクに依存して因子化順序の順列化を実現する。 なお、モデルは微調整の際に自然な順序のテキストシーケンスにしか遭遇しないので、この選択は必要です。 全体像を把握するために、付録A.7では、同じ入力配列xが与えられたときに、異なる因数分解の順序でトークンx3を予測する例を図4で示しています。

順列言語モデリングの目的には望ましい特性がありますが、標準的なTransformerのパラメータ化による素朴な実装ではうまくいかない場合があります。 この問題を理解するために、次トークン分布pθ(Xzt | xz<t )を標準的なSoftmax定式化を用いてパラメータ化すると仮定し、すなわち、 X_{zt} = x|x{z<t}

image

ここで、hθ(xz<t )は、適切なマスキングの後に共有トランスフォーマーネットワークによって生成されたxz<tの隠れた表現を表します。 ここで、hθ(xz<t )という表現は、どの位置を予測するか、つまりztの値に依存しないことに注目してください。 その結果、対象となる位置に関わらず同じ分布が予測されてしまい、有用な表現を学習することができません(具体例は付録A.1参照)。 この問題を回避するために,我々は,次のトークンの分布をターゲットの位置を認識するように再パラメータ化することを提案する

image

ここでgθ(xz<t , zt)は、目標位置ztを追加で入力とする新しいタイプの表現を表す。

Two-Stream Self-Attention

ターゲットを意識した表現のアイデアは、ターゲット予測の曖昧さを取り除くものですが、gθ(xz<t , zt)をどのように形成するかは、依然として自明ではない問題です。 他の可能性としては、ターゲットの位置ztに「立ち」、その位置ztに依存して、注意によってコンテキストxz<tから情報を収集することを提案します。 このパラメータ化が機能するためには、標準的なTransformerアーキテクチャでは矛盾する2つの要件があります。

(1)トークンxztを予測するためには、gθ(xz<t , zt)は位置ztのみを使用し、内容xztは使用しないこと、そうでなければ目的がつまらなくなること、 (2)j > tの他のトークンxzjを予測するためには、gθ(xz<t , zt)は内容xztもエンコードして完全な文脈情報を提供すること、です。

このような矛盾を解決するために、我々は1つの隠れた表現の代わりに2つのセットを使用することを提案する。

計算上、第1層のクエリストリームは学習可能なベクトル、すなわちg(0)i=wで初期化され、コンテンツストリームは対応する単語の埋め込み、すなわちh(0)i=e(xi)に設定されます。 それぞれの自己注目層m = 1, ... ... , Mに対して、2つの表現のストリームが次のような共通のパラメータセットを持って更新されます。(図1(a)、(b)に図示)。

image

ここで、Q、K、Vは、アテンション操作におけるクエリ、キー、値を表します[33]。 コンテンツ表現の更新ルールは、標準的なセルフアテンションと全く同じであるため、微調整の際には、単にクエリ・ストリームを削除し、コンテンツ・ストリームを通常のTransformer(-XL)として使用することができます。 最後に、最後の層のクエリ表現g (M) ztを使って、式(4)を計算します。(4).

部分的な予測

順列言語モデリングの目的(3)にはいくつかの利点がありますが、順列に起因する非常に困難な最適化問題であり、予備実験では収束が遅くなります。 最適化の難易度を下げるために、我々は因数分解の順番で最後のトークンのみを予測することを選択します。 形式的には、zを非ターゲット部分配列z≤cとターゲット部分配列z>cに分割し、cを切断点とします。 目的は、非対象部分列を条件とした対象部分列の対数尤度を最大化することであり、すなわち

image

z>cがターゲットとして選ばれたのは、現在の因数分解順序zが与えられたときに、配列の中で最も長い文脈を持っているからです。 ハイパーパラメータKは、約1/Kのトークンが予測のために選択されるように使用されます(すなわち、|z|/(|z| - c)≒K)。

2.4 Transformer-XLのアイデアを取り入れる

我々の目的関数がARフレームワークに適合することから、最先端のAR言語モデルであるTransformer-XL [9]を事前学習フレームワークに組み込み、我々の手法にその名前を付けました。 Transformer-XLの2つの重要な技術、すなわち、相対的位置符号化スキームとセグメント再帰メカニズムを統合します。 前述のように元の配列に基づいて相対的な位置の符号化を適用しますが、これは簡単なことです。 次に、再帰メカニズムを提案された順列設定に統合し、モデルが前のセグメントの隠れた状態を再利用できるようにする方法について説明します。 一般性を失うことなく、長いシーケンスsから取られた2つのセグメント、すなわち、x〜 = s1:T と x = sT +1:2T があるとする。 z〜とzをそれぞれ[1 - - T]と[T + 1 - - 2T]の順列とする。 そして、順列z〜に基づいて、最初のセグメントを処理し、得られたコンテンツ表現h〜(m)を各層mに対してキャッシュする。 そして、次のセグメントxに対して、メモリを用いた注目更新は次のように書ける。

image

ここで,[., .]は,シーケンスの次元に沿った連結を表します. 位置の符号化は、元のシーケンスにおける実際の位置にのみ依存することに注意してください。 したがって、上記の注意の更新は、表現h〜(m)が得られれば、z〜とは無関係です。 これにより、前のセグメントの因数分解順序を知らなくても、記憶をキャッシュして再利用することができます。 期待としては、モデルは最後のセグメントのすべての因数分解順序にわたってメモリを利用するように学習します。 クエリーストリームも同様に計算することができます。 最後に、図1(c)は、2つのストリームに注目した順列言語モデリングの概要を示しています(より詳細な図は、付録A.7を参照してください)。

2.5 複数のセグメントのモデル化

多くのダウンストリームタスクでは、複数の入力セグメントがあり、例えば、質問応答では質問と文脈の段落がある。 ここでは、自己回帰フレームワークで複数のセグメントをモデル化するために、XLNetをどのように事前学習するかについて説明します。 前学習段階では、BERTに続いて、ランダムに2つのセグメント(同じ文脈からのものでも、そうでなくても)をサンプリングし、2つのセグメントの連結を1つのシーケンスとして扱い、順列言語モデリングを行います。 同一のコンテキストに属するメモリのみを再利用します。 具体的には、我々のモデルへの入力は、BERT: [CLS, A, SEP, B, SEP]と同じであり、「SEP」と「CLS」は 2 つの特殊記号であり、「A」と「B」は 2 つのセグメントである。 ここでは2セグメントのデータ形式に従っていますが、XLNet-Largeは次の文の予測[10]という目的を使用していません。 これは、我々のアブレーション研究において一貫した改善が見られなかったためです(セクション3.4参照)。

相対的なセグメント・エンコーディング

構造的には、各位置の単語埋め込みに絶対的なセグメント埋め込みを追加する BERT とは異なり、Transformer-XL の相対的なエンコー ディングのアイデアを拡張して、セグメントもエンコードします。 シーケンス内の位置iとjのペアが与えられた場合、iとjが同じセグメントからのものであれば、セグメント・エンコーディングsij = s+、そうでなければsij = s-を使用しますが、ここでs+とs-は、各アテンション・ヘッドの学習可能なモデル・パラメータです。 言い換えれば、2つの位置が同じセグメント内にあるかどうかだけを考慮し、どのセグメントからのものであるかは考慮しない。 これは、相対的な符号化の中核となる考え方、すなわち、位置間の関係のみをモデル化することと一致しています。 iがjにアテンションすると、セグメントエンコーディングsijを使って、アテンションウェイトaij = (qi + b) >sijを計算する。 ここでqiは標準的なアテンション操作と同様にクエリベクトルであり、bは学習可能な頭部固有のバイアスベクトルである。 最後に、この値aijを通常のアテンション・ウェイトに加える。 相対的なセグメント・エンコーディングを使用することには2つの利点がある。 まず、相対的な符号化の帰納的なバイアスにより、一般化が向上する[9]。 第二に、絶対セグメント符号化では不可能な、2つ以上の入力セグメントを持つタスクでの微調整の可能性を開く。

2.6 考察

式(2)と(5)を比較すると、BERT と XLNet の両方が部分的な予測、すなわち、シーケンス内のト ークンのサブセットのみを予測していることが観察される。 すべてのトークンがマスクされている場合、意味のある予測を行うことは不可能であるため、これは BERT にとって必要な選択である。 さらに、BERT および XLNet の両方において、部分的な予測は、十分な文脈を持つトークンのみを予測する ことにより、最適化の難易度を低減する役割を果たしている。 しかし、セクション 2.1 で議論された独立性の仮定により、BERT は、標的間の依存性をモデル化することができない。 この違いをより良く理解するために、具体的な例[New, York, is, a, city]を考えてみましょう。 BERTとXLNetの両方が、予測対象として2つのトークン[New, York]を選択し、log p(New York | is a city)を最大化すると仮定します。 また、XLNetが因数分解順序[is, a, city, New, York]をサンプリングすると仮定します。 この場合、BERTとXLNetは、それぞれ以下の目的に還元されます。

image

XLNet は、BERT によって省略されたペア (New, York) の間の依存関係を捕捉することができることに注目してください。 この例では、BERT は、(New, city) および (York, city) のようないくつかの従属ペアを学習しますが、XLNet は、同じターゲットが与えられた場合、常により多くの従属ペアを学習し、「より濃い」効果的なトレーニング信号を含んでいることは明らかです。 より正式な分析とさらなる議論については、付録 A.5 を参照してください。

image