著者:ドラゴンハートダスト
時間:2019年3月
出典:https://blog.csdn.net/longxinchen_ml/article/details/89058309
Big
DataDigestとBaiduNLPの共同制作著者:Damien Sileo
レビュー:Baidu NLP、Dragon Heartダスト
コンパイル:Zhang Chi、Yi航空機
BERTモデルがそれほど重要なのはなぜですか
BERTは、Googleによって最近提案された自然言語処理モデルであり、多くのタスク検出で非常に優れたパフォーマンスを発揮します。質問と回答、自然言語の推論と言い換えなど、オープンソースです。そのため、コミュニティで非常に人気があります。
次の図は、さまざまなモデルのGLUEベンチマークスコア(さまざまなNLP評価タスクの平均スコア)の変更プロセスを示しています。
すべてのGLUEタスクが非常に意味があるかどうかはまだ不明ですが、Trandformerエンコーダーに基づく一般モデル(Open-GPT、BERT、BigBird)により、タスク固有のモデルと人間の間のギャップが1年以内に狭まりました。
ただし、Yoav Goldbergが言ったように、Transformerモデルが文をエンコードする方法を完全には理解していません。
トランスフォーマーとRNNモデルは異なり、注意メカニズムのみに依存します。埋め込まれた各単語の絶対位置をマークすることに加えて、明確な語順マークがありません。注意への依存により、文法的に敏感なタスクの処理において、TransformerモデルのパフォーマンスがRNN(LSTM)モデルと比較して低下する可能性があります。RNNモデルは語順に基づいてモデルを直接トレーニングし、文の状態を明確に追跡するためです。
いくつかの記事はBERTの技術的な詳細を掘り下げています。ここでは、BERTの強力な機能を説明するために、いくつかの新しい視点と仮説を提示しようとします。
言語理解のためのフレームワーク:構文解析/意味合成
人間が言語を理解する方法は、長年の哲学的問題です。20世紀には、2つの補完的な原則がこの問題を明らかにしました。
- 「意味構成の原則」は、複合語の意味が個々の単語の意味とこれらの単語の組み合わせ方に由来することを示しています。この原理によれば、「食虫植物」という名詞句の意味は、「食虫植物」という単語の意味と「植物」という単語の意味を組み合わせることによって得ることができる。
- もう一つの原則は「言語の階層構造」です。これは、構文解析を通じて、文を節などの単純な構造に分解できることを示しています。句は、動詞句や名詞句などに分類できます。
階層構造と再帰の構文解析は、構成要素から文レベルに達するまで意味を抽出することです。これは、言語理解にとって非常に魅力的な方法です。「バートが双眼鏡でリスを見た」という文を考慮すると、優れた構文解析では、次の構文解析ツリーが返されます。
「バートは双眼鏡でリスを見た」構造ベースの構文解析ツリー
この文の意味は、連続的なセマンティックシンセシス(「a」と「squirrel」のシンセティックシンセシス、「watched」と「a squirrel」のセマンティックシンセシス、「watched a squirrel」と「withbinoculars」のセマンティックシンセシス)から導き出すことができます。文の意味が完全に得られるまで。
ベクトル空間は、単語、句、およびその他のコンポーネントを表すために使用できます。セマンティック合成のプロセスは、( "a"、 "squirrel")のセマンティクスを "a squirrel"の意味のあるベクトルに合成する関数fとして構築できます。これは、 "a squirrel" = f( "a"、 「リス」)。
関連リンク:http:
//csli-lilt.stanford.edu/ojs/index.php/LiLT/article/view/6
ただし、意味合成と構文分析はどちらも難しい作業であり、お互いに必要です。
明らかに、セマンティック合成は、構文分析の結果に依存して、セマンティック合成する必要があるものを決定します。しかし、正しい入力があっても、セマンティック合成は難しい問題です。たとえば、形容詞の意味は単語ごとに異なります。「白ワイン」(白ワイン)の色は実際には黄色ですが、白猫は白です。この現象は共合成と呼ばれます。
関連リンク:
http://gl-tutorials.org/wp-content/uploads/2017/07/Pustejovsky-Cocompositionality-2012.pdf
「白ワイン」(白ワイン)と「白猫」(白猫)の2次元セマンティック空間での表現(空間の次元は色)
セマンティック合成には、より広いコンテキストが必要です。たとえば、「青信号」という単語の意味構成は、文脈によって異なります。「緑色のライト」は、許可された、または実際の緑色のライトを意味します。一部のイディオムは、単にそれらを組み合わせるのではなく、経験的な記憶を必要とします。したがって、ベクトル空間での意味合成には、メモリ機能も備えたディープニューラルネットワークなどの強力な非線形関数が必要です。
関連リンク:https:
//arxiv.org/abs/1706.05394
逆に、特定の状況で効果を発揮するために、構文解析操作では意味合成が必要になる場合があります。次の文(以前と同じ文)の構文解析ツリーについて考えてみます。「バートは双眼鏡でリスを見た」
別の「バートは双眼鏡でリスを見た」構造ベースの解析ツリー
文法的には効果的ですが、構文解析操作の結果、文の翻訳が不正になりました。バートは双眼鏡を持ったリスを(肉眼で)見ています(バート(肉眼で)は望遠鏡を持った小さなリスを見ています)。
したがって、「望遠鏡を持ったリス」が不可能であると判断するには、単語の意味合成を行う必要があります。一般的に言えば、文の正しい構造を取得する前に、いくつかの曖昧さ回避操作と背景知識の統合が必要です。しかし、この種の操作は、いくつかの形式の構文解析とセマンティック合成によっても実行できます。
一部のモデルは、構文分析と意味合成の操作を同時に実践に組み合わせようとします。
関連リンク:https:
//nlp.stanford.edu/~socherr/EMNLP2013_RNTN.pdf
ただし、制限付きの手動注釈については、標準の構文解析ツリー設定に依存しており、パフォーマンスは一部の単純なモデルほど良くありません。
BERTは構文解析/意味合成操作をどのように実装しますか
Transformerは、これら2つの操作(構文分析/意味合成)に革新的に依存していると想定します。構文分析には構文分析が必要であり、構文分析には意味合成が必要であるため、Transformerは構文分析と意味合成の手順を繰り返し使用して相互依存の問題を解決します。
実際、Transformerはいくつかのスタックレイヤー(ブロックとも呼ばれます)で構成されています。各ブロックは、アテンションレイヤーと各入力要素に適用される非線形関数で構成されます。
Transformerのこれらのコンポーネントと、構文解析/意味合成フレームワークとの関係を示します
。構文解析と意味合成のステップは、連続的と見なされます。
注意を構文解析のステップと考えてください
BERTでは、注意メカニズムにより、入力シーケンスの各要素(たとえば、単語またはサブワードで構成される要素)が他の要素に焦点を合わせることができます。
説明の目的で、この記事で使用されている視覚化ツール(https://medium.com/dissecting-bert/dissecting-bert-part2-335ff2ed9c73)を使用して、アテンションヘッドを詳細に調査し、事前に使用します。 -トレーニング済みBERTモデルに関する仮説を検証します。以下のアテンションヘッドの説明では、「それ」という言葉が他のすべての要素に関与しており、「通り」と「動物」の2つの言葉に焦点を当てているようです。
レイヤー0とNo.1のアテンションヘッドのアテンション値を視覚化して「それ」をマークします
BERTは、レイヤーごとに12の独立したアテンションメカニズムを使用します。したがって、各レイヤーで、各トークンは他のマークの12の異なる側面に焦点を当てることができます。トランスフォーマーは多くの異なるアテンションヘッド(基本的なBERTモデルでは12 * 12 = 144)を使用するため、各ヘッドはさまざまなタイプのコンポーネントの組み合わせに焦点を合わせることができます。
「[CLS]」および「[SEP]」タグに関連付けられたアテンション値は無視されます。いくつかの文章を使ってみましたが、結果を説明しすぎないようにするのは難しいことがわかりました。したがって、このcolabノートブックで私たちの仮説を数文で自由にテストできます。図では、左側のシーケンスが右側のシーケンスに「注意を払っている」ことに注意してください。
関連リンク:https:
//colab.research.google.com/drive/1Nlhh2vwlQdKleNMqpmLDBsAwrv_7NnrB
レイヤー2のアテンションヘッドNo.1は、相関関係に基づいてコンポーネントを生成しているようです。レイヤー2のアテンションヘッドNo.1のアテンション
値を視覚化します。
さらに興味深いのは、第3層では、No。11ヘッダーがより高いレベルの構成を示しているように見えることです。一部のトークンは、同じ中央の単語(if、keep、have)に気づきます。
第3層のNo.11ヘッドの注意値を視覚化すると、一部のマーカーは特定の中央の単語に気付いているようです(たとえば、have、keep)
レイヤー5では、アテンションヘッドNo. 6によって実行されるマッチングは、特定の組み合わせ、特に動詞を含む組み合わせに焦点を当てているようです。[SEP]のような特別なタグは、一致するものがないことを示すために使用されているようです。これにより、アテンションヘッドはセマンティック合成に適した特定の構造を検出できます。この一貫した構造は、セマンティック合成機能に使用できます。
第5層の6番頭の注意値を視覚化し、(私たち、持っている)、(もし、私たち)、(維持、維持)(取得、怒り)の組み合わせにもっと注意を払います
次の図に示すように、解析ツリーは、連続した浅い構文解析レイヤーで表すことができます。
複数のアテンションレイヤーがツリー構造としてどのように表されるか
BERTアテンションヘッドを確認したところ、このような明確なツリー構造は見つかりませんでした。しかし、トランスフォーマーはまだそれらを表す可能性があります。
エンコードはすべてのレイヤーで同時に実行されるため、BERTが何をしているのかを正しく説明するのは難しいことに気づきました。指定されたレイヤーの分析は、それ自体の次のレイヤーと前のレイヤーに対してのみ意味があります。構文解析も各アテンションヘッドに配布されます。
次の図は、2つのアテンションヘッドの場合にBERTのアテンションがより現実的になることを示しています。
BERTでの注意値のより現実的な表示
ただし、前に見たように、構文解析ツリーは高レベルの表示であり、より複雑な「根茎」構造に基づいている可能性があります。たとえば、入力をエンコードするために代名詞が何を参照しているかを調べる必要がある場合があります(コア参照)。その他の場合、曖昧さの解消には全文の背景が必要な場合もあります。
驚いたことに、1つの注意ヘッド(6レベルのヘッド0)が実際に共参照解決を実行しているように見えることがわかりました。
6階の0番ヘッドで発生した共参照決議
関連リンク:https:
//medium.com/dissecting-bert/dissecting-bert-part2-335ff2ed9c73
一部のアテンションヘッドは、各単語の全文情報を提供しているようです(レベル0ヘッド0)。
すべての単語は、文中の他のすべての単語に注意を払います。これにより、各単語の大まかなコンテキストが可能になる場合があります。
セマンティック合成段階
各レイヤーで、すべてのアテンションヘッドの出力がスプライスされ、複雑な非線形関数を表すことができるニューラルネットワークに送信されます(セマンティック合成を表現するために必要です)。
注意ヘッドからの構造化された入力に依存して、ニューラルネットワークはさまざまな意味合成を実行できます。前に示した第5層では、アテンションヘッドNo. 6がモデルをガイドして、次のセマンティック合成を実行できます:(we、have)、(if、we)、(keep、up)(get、angry)。モデルはそれらを非線形に組み合わせて、セマンティック複合表現を返すことができます。したがって、複数の注意ヘッドをセマンティック合成を支援するツールとして使用できます。
注意ヘッドは、形容詞/名詞の意味合成など、特定の意味合成をどのように支援しますか
注意の頭が形容詞/名詞のより一貫した組み合わせに焦点を合わせていることはわかりませんが、動詞/副詞の意味合成とモデルから派生した他の意味合成の間にはいくつかの類似点があるかもしれません。
関連する意味の組み合わせはたくさんあります(単語-サブワード、形容詞-名詞、動詞-前置詞、節-節)。さらに、曖昧さの解消は、あいまいな単語(銀行など)とそれに関連するコンテキスト単語(川やレジ係など)を意味的に合成するプロセスと考えることができます。特定のコンテキストでの概念に関連する背景の常識知識の統合は、セマンティック合成中にも実行できます。この明確化は、他のレベル(文レベル、節レベルなど)でも発生する可能性があります。
意味構成としての曖昧さの解消
さらに、意味合成には語順の推論も含まれる場合があります。位置コーディングは語順を正しくエンコードするのに十分ではないかもしれないと考える人もいますが、位置コーディングは各トークンの粗い、細かい、そしておそらく正確な位置をエンコードするように設計されています。(位置コードは、入力シーケンス内の各トークンの位置認識表現を生成するために、平均化され、入力埋め込みと合計されるベクトルです)。したがって、2つの位置コードに基づいて、非線形合成は理論的には単語の相対位置に基づいていくつかの関係推論を実行できます。
セマンティック合成段階は、BERTの自然言語理解においても重要な役割を果たしていると想定しています。注意が必要なだけではありません。
総括する
トランスフォーマーの誘導バイアスについての洞察を提案します。しかし、私たちの説明は、Transformerの機能について楽観的です。注意として、LSTMは、ツリー構造とセマンティック合成を暗黙的に処理できることを示しています。LSTMにはまだいくつかの制限があるため、一部には勾配が消えたためです。したがって、Transformerの限界を明らかにするためにさらなる研究が必要です。
見積もり:
-
Bowman、S.、Manning、C。およびPotts、C。(2015)。ツリー
構造アーキテクチャのないニューラルネットワークにおけるツリー構造構成。 -
Hochreiter、S。(1998)。
リカレントニューラルネットと問題解決の学習中の勾配消失問題。International Journal of
Uncertainty、Fuzziness and Knowledge-Based Systems、06(02)、
pp.107-116。 -
Tai、K.、Socher、R。およびManning、C。(2015)。
ツリー構造の長短期記憶ネットワークからの改善された意味表現。
元のリンク:https:
//medium.com/synapse-dev/understanding-bert-transformer-attention-isnt-all-you-need-5839ebd396db