事前研修NLPの道 - word2vec、エルモからBERTへ

序文

MS MARCOと人間よりBLEUにV-NetのPaのリストでSQUAD、Baiduの上の人間より機械の理解、マイクロソフトとアリの分野それぞれR-Netの+とSLQAを読んでずっと前に覚えておいてください。これらのネットワークは、より複雑なものとすることができ、「タスク固有のネットワークを設計する方法について、より多くの作業が」NLPの政治的に正しい研究分野となっているようです。この方向では、ないだけでケーキの上のアイシングとして機能することができ、word2vecイェジンハオ、手袋イェジンハオ、fasttextまたは何を問題では。良い移行研究を言って、それを事前に訓練?NLPでは常に主役であるように思われませんでした。

この記事を書いて小さな夜少し恥ずかしい場合は、移行に従事早くその直感で感じがNLPの問題の核心でなければなりませんが、いくつかまでは私自身の満足の結果の一部をしなかったものの、いくつかの時間を表し、一日前にBERT、単に貧困の制限私の想像力を感じ╮(¯▽¯「」)╭(消さ)、それは狭すぎる感じたフォーカスポイント。

それぞれの人が、BERTの異なる理解を持って、この記事では、試してみて、トークBERTの観点からエルモword2vecます。本質的には、以下に簡単に要約するword2vecとELMO、迅速BERTの章の友人に落下する小さなパートナーの非常に徹底的に理解して。

word2vec

それはかなり退屈していた上で、いくつかの決まり文句と書き込み文章であり、何度も繰り返し、2013 Googleのword2vec 1に、事前用語ベクトルのトレーニングなしに時間が論文を書くために当惑しているようにNLPは、どこにでもフィールドましょう。そしてword2vecは、それは何ですか?

モデル

 

 

V2-fd235ed39f1b0c3ce83f4d830a49fad1_b.jpg

 

明らかにそれは「リニア」言語モデルです。(呉を無視して)、その後、自然に十分な線形モデルを使用して、実行私たちの目標は、「 - - 皇后両陛下=男性女性天皇」として「リニアセマンティック操作、」のいくつかをサポートするために、意味的に単語ベクトルと、単語ベクトルを学ぶことですので、速く、非常にエレガントなタスクを完了することができます。

 

v2-0329ea23a5dee20bfd0f85bca67d7fa2_b.jpg


もう一つは、言語モデルはまた、「負のサンプル」の方法で、最適化されているような方法でword2vecそのセットソフトマックス加速方法の本質は、従来の階層型ソフトマックスとNCE慣行を置き換えるために脳に穴を開くように思われます。そして、最後に名前長身の「負のサンプルは、」それは何ですか?

負のサンプル

我々は、すべての後、あなたは言葉で現在の位置を予測したい場合、カテゴリの数は、辞書の大きさに相当し、その十数十カテゴリの何千ものの訓練のための言語モデルのために、ソフトマックス層は数えることは非常に困難であることを知っているソフトマックスを数えますもちろん、それは非常に骨の折れる機能します。しかし、私たちの目標は、正確な言語モデルを訓練するが、唯一の副生成物を得るために、言語モデルを訓練していない場合は - 用語ベクトル、その後、実際には、ちょうどのようなこの暗黙の計算コストより小さな「サブタスク」を使用友人。

あなたは最高値を識別することができ、10000書き込みデジタルカード与え、それについて考え、それが特に要求されていませんか?しかし、最大の進歩、それアウトの内側にあれば、一緒に混じり5枚のランダムに選択されたカードで、あなたが最も高い値を選択してみましょう、それはろうそくを保持することは容易ではないのですか?

負のサンプリングは、直接、語彙から単語全体を検索するために最も可能性の高いモデルを作成していないこのアイデアですが、直接指定した単語(すなわち、正例)とノイズワード数ランダムサンプリング(すなわち、負の例の間引き)限り、そこからモデルとして友人と考えられているターゲットを完了するために右の単語を検索します。あるアイデア対応する目的関数はそう:

 

 

V2-c39ac80ebce05d2614f61af3de51c220_b.jpg

 

ここでV '{} w_O、正の一例であり、V '{} w_iランダムに負例(kサンプル)のうちサンプリングされ、\シグマシグモイド関数です。次いで、即ち負例の可能性を最小限に抑える、陽性症例の可能性を最大にします。

このネガティブな思考の応用に成功したがワードサイズの文に、BERTモデルにサンプリングしました。ない心配を行い、ゆっくりと振り返る〜

チャーレベルコンテキスト

2015年と2017年にも多くの作業がcharレベルからスタートしようとしているが、別の方法は、ゲーム前の長期訓練ベクトルのルールを取り除くために、しかし、測定された短命、すぐに憎悪すべき[8] [9]。しかし、それはまた、文字レベルのテキストを認識しても、あなたが一方では学ぶことができるので、文字レベルの単語ベクトルの[5]、別のFastTextを備えていた、難しいモードの一部のテキストの単語レベルの記述が含まれています教師の使命で側面の浅いCNN、HIghwayNet、RNNやその他のネットワーク導入のcharレベルのテキストの先頭で言いました。

しかし、これまでのところ、単語ベクトルは、文脈自由です。つまり、異なるコンテキストで同じ単語常に同じ単語ベクトルでは、単語のベクトルモデルWSD(WSD)機能へのリード線の欠如は明らかです。だから、単語ベクトルを作るために、人々は言葉に基づいて、コンテキスト依存になり、特定の下流のタスクにコードするベクターのシーケンスを行うようになりました。

当然のことながら、最も一般的な符号化方法は、(例えば、テキスト分類[6]、機械翻訳[7]、機械読解[4]のような)作業に深いCNNの使用の成功コードに加えて、ネットワークRNNシステムを使用することですしかし!そして!Googleは我々が完全に接続されたネットワークを使用し、また、CNNタイ蘇、言いました!(クロスアウト)自己注目!だから、NLPの深さTransformerモデル[11]のためにそこにカスタマイズされ、変圧器は、このような対話を取得などの機械翻訳作業、ではなく、他の分野に提示されている[3]にも大きな力を果たしました。

しかし、様々なNLPタスクは、基本的なエンコードされている見つける必要があるので、なぜ単語ベクトルの始まりは、コンテキスト依存のパワーを持って聞かせていませんか?[2]エルモとそう。

エルモ

もちろん、実際ELMOはスパイシーと引き換えにコンテキストセンシティブ単語ベクトルモデルを生成する最初の試みではありませんが、確かにすべての後にあなたは、word2vecモデル(手動笑顔を)放棄する正当な理由を持って聞かせて、推論犠牲スピードのポイント多くのパフォーマンスの向上ので、ほとんどの場合、モデルレイヤー上の値ああ〜エルモはとてももちろん良いエンコードする機能があり、(厳密に訓練されたスタックLSTM 2片道)スタックバイLSTMです。そのソース実装もさらに導入チャーレベルの符号化に道路ネットまたはCNNの使用をサポートしています。トレーニング、それを最大化するために、そして自然に標準言語モデルの尤度関数、すなわち、

 

V2-e254688e1817d6c21ccef33db2659f86_b.jpg

しかし、もちろん、これはエルモ層モデルのハイライトではなく、間接的、多層RNNに記載した実験によって、異なる層は、実際にこのように、下流NLPへの事前訓練を受けたエルモの完了及び移行を必要とする、特性の違いを学びましたこれらのパラメータは、それが役割を果たし、それぞれの重み付けに層にソフトマックス層を乗算して加算することにより正規化された後の作業は、我々は、元の単語ベクトル層と各層RNNの隠された層のためのトレーニングパラメータを設定している必要がある場合、その後、得られた「加重和」という用語ベクトル、その後、全体の単語でのより良い下流のタスクに対応するためのスケーリングパラメータによってベクトルへ。

PS:実はこの最後のパラメータは、一般的なcbowワードベクトルの分散の違いでは、このようなword2vecとして、非常に重要であり、比較的大型の外にSGを学び、その後、下流層の単語ベクトルの分散の試合のためのフォローアップミッションとの差異は、より速く収束しますより良いパフォーマンスを持っている可能性が高いです

数学的には、

 

v2-7653bedb63551e7508862a4503dc8d17_b.jpg

2は、元の単語ベクトル層の紙エルモ、J = 0代わりに設定されているLが=、J = 1は、第1隠れ層LSTMある場合、J = 2は、第2の中間層です。s_j ^ {タスク}後続のパラメータの結果は、ソフトマックスリターンがされている(言ってs_0 + S_1 + ... + S_L = 1)。

この移行戦略を通じ、これらのタスクのための需要が第二の隠れ層への電車で、より簡単に体重の多くがWSDされ、品詞ながら、構文は、最初の隠れ層のための明確なミッションかもしれないパラメータを必要とします比較的大きな値に学習(実験結果)。要するに、これは、より豊かな「カスタマイズすることができ、下流タスク」の特徴ベクトルの単語を取得しますが、効果ははるかに良いword2vecよりも驚くべきことではありません。

しかし、と言ったELMOの目標は唯一の文脈依存、より強力な単語ベクトルに学んでいた、その目的は、下流の作業のための強固な基盤を提供するために、まだです、まだ国王殺し王の意味にしたいです

そして、我々は知っている、テキストだけでは完全かつ強力なエンコードが(すなわち、各単語の非常に正確な特性は、豊富なビットを取得)これまでのすべてのNLPのタスクをカバーするのに十分なのです。QA、機械読解(MRC)、自然言語推論(NLI)、対話と他のタスクでは、より複雑なパターンがこのような文章との関係として、キャプチャする必要がたくさんあります。このため、ネットワークの下流タスクが芸術的関心の様々なを追加します(そのSOTAにNLI、MRC、チャットボットを参照してください)。

キャプチャモードは、より多くの魔法が必要ですと、研究者下流のネットワーク構造のさまざまにカスタマイズされたそれぞれのタスク、同じモデルにつながるが、変更タスクのビットとは同じであっても、タスクの場合には、ハングアップデータセットの分布の下で別の変更は、それが人間の行動うんの言語と明確に矛盾している、パフォーマンスの大幅な損失が発生するだろう、あなたはおそらく今NLPの開発パスが間違っていることを示している、人間の汎化能力が非常に強いことを知っています、特にSQUADのリーダーシップの下、およびNLPの本当の意義があることを、ブラシの順位にすべてのトリックや派手な構造を使い果たしますか?

離れて引っ張っているようだが、幸い、この道は最終的にGoogleは穴表現エンコーダ双方向(BERT)[1]〜トランスフォーマーから解放数日前、あること、モデルの遠く部分的にシャットダウンされています

BERT

ないどのようなモデルで、またどのようにトレーニングが、それとともに、この紙嘘の最も重要な意義は、ゲームの全体の新しいルールを提示します。

同様に、各一般化貧弱なNLPタスクのカスタマイズの深さまでのモデルの複雑な構造が間違った方向に行くために実際には非常に賢明ではありません、前に言いました。比較ELMOが表示され、このような大規模な増加を持ってword2vecので事前のトレーニングモデルの可能性をはるかに正確な単語ベクトル下流のタスクを提供よりもあるので、我々は、事前にトレーニングレベルキールモデルにそれを指示することができますか?それは完全に文字レベル、単語レベルは、文レベルはその後、別のNLPタスクで、文章の間にも関係がどの機能に記載されている場合は、まさにこのような単層として(タスク非常に軽量出力層をカスタマイズするために行きますMLPは)うまく、すべての後に、すでにスケルトンモデルのことを行っています。

BERTはまさにこの事をした、または一般キール・レベルのモデルが簡単に11ミッションにカスタマイズモデルの深さに挑戦するとして、それは、実際に作られたこの事であること。

だから、それはどのようにそれをやっていますか?

ディープ双方向エンコーディング

まず、それは文脈依存学習単語ベクトル、事前研修の前のモデルが十分でないことを指摘しました!下流で監視任務が、道をコードする既に添えものの非常に完全であり、基本的なタスクをコードする2つの方向の深さ(MRC、対話など)は、多くの複雑な下流で標準になりますしかし、事前のトレーニングモデルで、以前の最も先進的なモデルのみ行うには、言語の伝統的なモデルに基づいて、されるが、伝統的な言語モデルは、一方向(すでに数学的に定義)であり、

P(S)= P(W0)\ CDOT P(W1 | W0)\ CDOT P(W2 | W1、W0)\ CDOT P(W3 | W2、W1、W0)... P(WN |コンテキスト)

そして、多くの場合、非常に浅いなどELMOとして、(移動、様々なトリックに取得していないLSTM 3層スタック列車を想像してみて)。

加えて、エルモものの有用双方向RNNはコードんが、RNN両方向は、実際に別の訓練であるが、損失の最後の層に単純加算しました。符号化時における各方向の単語、このリードは常にそれの向こう側が見えない言葉です。そして、明らかにいくつかの単語、文の意味もその左側に依存し、特定の単語の右側だけのエンコーディングを記述していないが、単一方向からも明らかです。

では、なぜそれが真の双方向エンコーディング下流監督任務ことをしませんでしたか?

その理由は、私はそれがすべての後に、伝統的な言語モデルが訓練目的に応じて次の単語を予測することが、明らかになったと思っていますが、双方向のエンコーディングを行う場合、その後、それは "¯▽¯(╮あなたがよく見predict'veしたい単語を表すものではありません「)╭そのような予測は確かに意味がありません。だから、BERTで真の双方向エンコーディングモデル、このタスクは仮面の言語モデル(仮面LM)と呼ばれることができ監督タスクの種類を訓練するための新たな使命の使用を提案しています。

仮面LM

名前が示すように、マスクされたLMは、我々は、伝統的なLMは、次の単語を予測することは、与えられた単語として登場しているようではありませんが、直接、単語全体の文の一部に(ランダムに選択)カバー(それがマスクさせる)、このモデルでは、と言うことですあなたは、あなたがこれらの表紙モデルは単語が何であるかを予測することを安心することができ、双方向エンコーディングウェルのを保証することができません。実際には、このタスクの始まりは(大体「穴埋めテスト」として翻訳)穴埋めテストと呼ばれています。

これは明らかに、いくつかのマイナーな問題につながります。これは、保証双方向符号化することができるが、これらのマーカーの符号化では、この時間も╮(¯▽¯「」)╭マークを下流タスクをマスクそれが存在しない場合にコードをカバーすることができるが。どのようにそれを行うには?この点において、これらのマーカーを無視するように調整されたインパクトモデルを最大化するために、著者は単語のために覆われており、「ノイズがそれらを無視ノイズ信頼できないです!!!」を経由してモデルを教えて:

  • 80%の確率「[マスク]」でタグが置き換えられています
  • ランダムサンプリングを交換する単語の10%の確率で
  • (置き換え、それでもカザフスタンを予測する必要はないが)を交換しないように、10%の確率で

エンコーダ

エンコーダの選択では、著者が悪いストリートバイLSTMを使用しませんでしたが、より深いの使用がやる方が良いの並列変圧器のエンコーダを行うことができます。各ワードビット方向と距離に直接各単語の文章を無視することができ、このような言葉は、符号化に来る機会を得ました。一方私は、自己の注意マークをマスクすることができますが、試合の重みを弱める目的とすべての後に、プロセスが完全である、マスクマークの影響からLSTMに比べトランス主観簡単に感じるが、入力ゲートLSTMはマスクマークを治療するための方法ですそれは知ることはできません。

記事はまた言ったの前に明らかに直接ではなく変圧器のエンコーダ位置情報がまあ失われ、小さな夜、待って?人々は関数が位置をコーディングCOS、恐ろしい罪に従事することを、元の論文の変圧器のように、ありますか?そして木は、著者は非常にシンプルで、ここ╮(¯▽¯「」)╭ここで言うために、例えば、私は50の文の長さに切断し、我々は50の場所まあを持っているので、埋め込む位置を訓練するために、直接、粗であります50のワードの位置、すなわち49までの位置0から位置、ある特徴。そして、その後、単語ベクトルの単語それぞれの場所にランダムに初期化し、彼らは(...右、この特別ニャーことも動作しますか?あまりにもシンプルで、粗ことを言いたい)研修で行きます。さらに、結合位置埋め込みモードとワード埋め込みは、BERTを直接選択を加えました。

最後に、深さで、エンコーダBERTの最終版は、完全に(あなたはSOTAモデルDAMでの対話も... 5つの層を費やして知っている)マルチヘッドの注目ブロック24層を重ね合わせた熱狂的な。そして、各ブロックは16回のタップ、1024隠された単位を含む╮(¯▽¯「」)╭ここUpポスター:お金がすべてであるあなた必要があります(消さ)

学習の文章と文章の関係を表します

同様のエンコーディングが(これが唯一のトークンレベルの機能の束を学習する)タスクを完了するのに十分ではないだけで、多くのタスクでは、前に言った、あなたはまた、SLI、QA、対話と他のニーズを完了するために、いくつかの文レベルのモデルをキャプチャする必要があります文は、文の間の一致との相互作用のタスクと言いました。この点では、BERTと別の非常に軽量でありながら非常に重要なタスクの導入は、学ぶためにこのモデルを配置しようとします。

文負のサンプル

小さなセクションword2vecの前で夜を忘れないでくださいword2vecの本質は、単語ベクトル(単語レベルの表現)まあを学ぶためにタスクをサンプリングし、エレガントな負の導入である、と述べました。だから我々は、それが文レベルまで一般化するには、この負のサンプリング処理を置けば?これは、それのBERT文レベルの表現を学習するための鍵です。

BERTここword2vec同様のアプローチではなく、建設は、文レベルの分類作業です。すなわち、次の文の正のケース(word2vecにおける正しい単語に対応する)であり、最初の文(与えられたコンテキストword2vecに対応)、所定の、ランダムにサンプリングされた負例として文を(ランダムサンプリングword2vecに対応単数または複数)、および2つの分類文レベル(すなわち、)現在の文章は文章またはノイズであると判断します。この単文レベルの負のサンプルタスクを通じ、BERTは、文章表現を学ぶために簡単にそれのためword2vec語として学ぶことができます。

文章表現

だから、以前のような長い時間を言った、上の文は、それを表現する方法と述べていません。

BERTは、ここに一般的な方法として、下流の監視任務好きではなかったし、その後前方エンコーディングに基づいて同様のグローバルプールを入れて、それが文章のための使命は、一緒に2つの文を置くことである(最初の各シーケンスであり、他のタスクのために特別なトークンが先行文)は、[CLS]と呼ばれる図です。

 

v2-8895e378c0c5ab199cf6fe2023d18486_b.jpg

 

PS:[9月]は、文章の区切りである場合、文は学習のためのBERTの支持を表明し、ここで[SEPが】カットポイントを区別するために期間です。

それを表現する最高全文/文である隠された層の深さをコードする、[CLS]深度エンコードにエンコーダをしましょう。一見ビットはハード理解するが、忘れてはいけないこのアプローチは、変圧器は、空間及び各位置にグローバルな情報符号化の距離、及び[CLS]を無視でき文/文は、分類と出力層の直接表現であるように接続、したがって勾配バック伝搬経路上の「チェックポイント」として、当然のことながら、我々は関連する上位機能の友人を分類する方法を学習しようとします。

また、モデルは、内部の各単語を区別することができるようにするために、または「右の文章、」ここで著者は文章を区別するために「埋め込むセグメント」の概念を導入「の文章を残した」されています。文のための、のためにAを埋め込み、左右文文を表現するためにBを埋め込むの使用に関する;および文のために、唯一の友人を埋め込みます。埋め込みA及びBは、モデルを用いて訓練されました。

PS:このアプローチは、「Quoraの質問ペア」で使用されるBERTは、このネットワークは、理論的に働くことができ、まだ、複雑な心境をタスクの対称性を維持するために必要とされる理由、理解することは非常に困難であり、位置埋め込むシンプルで、粗製のように感じています

 

v2-26473e6284abfeca8e62120ab707269f_b.jpg

したがって、各トークンは、元のトークンの埋め込みベクトルトークンワードによって表される最終BERT、埋め込み位置セグメントは、図示のように、本明細書に3つの部分を結合する付加的埋め込み先に述べました。

 

 

v2-0571d8d12edc3950a5ce75a28591b228_b.jpg

 

過度の下流タスクインターフェースにシンプル

BERTこのモデルは本当に代わりに単語ベクトルのキール・レベルのモデルを反映しているが、その下流の各インターフェイスのデザインにタスク、または移行戦略と呼ばれる別の単語のより多くの西洋スタイルです。
まず、上側の文や表現の文から、(テキストマッチが実際のテキスト分類タスクですが、テキストを入力するために)、その後のコースのテキスト分類タスクとタスクの一致するテキストのために、取得する唯一の必要性となっていますこれは、ああのような層MLPと(即ち、最上層エンコーダ出力[CLS]語彙素)を表します

 

v2-9cab8eaac338f3849181c7a676e20ebb_b.jpg


テキストは、符号化深さ双方向であるので、それからだけではないんでもCRFああ〜、それのような出力層のソフトマックスを追加する必要があるタスクシーケンスのラベル付けを行います

 

V2-ad0cc8bf6ebac4c22e47919410a03f15_b.jpg


してみましょう小さな夜より多くの木材は、そのことをSQUAD、奥行きの注目をコードし、多分でもネット失われたの出力層へのポインタに直接にあえて中まくる保存の深さに、リムーバブルとしてスパンタスクを思ったのか?DrQAとしてふざけてそれぞれ2つの線形分類器の出力スパンの開始と終了、との直接として?言っても過言ではない、持っていたひざまずいメートル(_ _)M

 

 

V2-a5f4d03c115b1df5158ce9a16bcfffe3_b.jpg

 

最後に、テストの結果を見て

 

v2-4a1f394c5124a8293bcd4e32c2154641_b.jpg

 

V2-ffaf979580ce0e2a478b1c36ab0722a9_b.jpg

 

v2-9077b902afaa4581a345602c1fc43ad3_b.jpg

ああ、それはGoogleの。

これまでの多くのアイデアが、それは死んでBERTを押されたように、実験を行う必要はありませんので、(。︿。)分類、表示および移行作業は、スクラッチ、SQUADからこの論文、小さな夜に非常に満足して開始することができます建物のフロアプランは、BERTは少し想像力をもたらす世代のタスクを、実行しなかったおかげで停止することができます。ああ、マニュアルでは、涙を笑顔。

 

マイクロチャネルのサブスクリプション数の小さな記事の前夜にもっと素晴らしい歓迎の注目[孟八尾西小さな家を販売する]あ(・ω<)★

 

リファレンス

[1] 2018年| BERT-事前研修言語理解のためのディープ双方向変圧器の
[2] 2018NAACL | ディープ文脈単語表現
[3] 2018年ACL | ディープ注意マッチングネットワークとChatbotsの応答の選択マルチターン
| [4] 2018ICLRを 高速かつ正確な読解自己注目とコンボリューションを組み合わせることにより、
[5]を2017TACL | サブワード情報と豊かワードベクトル
[6] 2017ACL | テキスト分類のためのディープピラミッド畳み込みニューラルネットワーク
[7] 2017年| 系列学習へのたたみ込みシーケンス
2017 [8] | ドゥ畳み込みネットワークは、テキスト分類のためのディープする必要がありますか?
[9] 2016 | ディープキャラクターレベル対畳み込みニューラルネットワークテキスト分類のための/浅い単語レベル
[10] 2013NIPS | 分散型の表現・オブ・言葉-とフレーズ - と - その-compositionality

 

公開された33元の記事 ウォンの賞賛0 ビュー3285

おすすめ

転載: blog.csdn.net/xixiaoyaoww/article/details/104553474