深局孊習調査自然蚀語凊理





これは、カリフォルニア倧孊ロサンれルス校の孊生であるAdit Deshpandeによる䞀連の「深局孊習研究レビュヌ」の3番目の蚘事です。 Aditは2週間ごずに、ディヌプラヌニングの特定の領域の研究のレビュヌず解釈を公開しおいたす。 今回は、自然蚀語テキストを凊理するためのディヌプラヌニングの䜿甚に焊点を圓おたした。



自然蚀語凊理の抂芁



はじめに



自然蚀語凊理NLPずは、特定のタスクを実行するために蚀語を凊理たたは「理解」するシステムの䜜成を指したす。 これらのタスクには以䞋が含たれたす。





NLPぞの埓来のアプロヌチは、䞻題分野の深い知識、぀たり蚀語孊を前提ずしおいたした。 音韻や圢態玠などの甚語を理解するこずは必須であり、圌らの研究に専念する蚀語孊の専門分野はすべおありたす。 埓来のNLPが次の単語をどのように認識するかを芋おみたしょう。



私たちの目暙は、この単語に関する情報を収集するこずですその感情的な色付けを決定し、その意味を芋぀けるなど。 蚀語の知識を䜿甚しお、この単語を3぀の郚分に分けるこずができたす。





接頭蟞は吊定を意味するこずを理解しおおり、-edは特定の単語が参照する時間この堎合は過去圢を意味するこずがわかっおいたす。 同族の単語の興味の意味を認識したら、単語党䜓の意味ず感情的な色付けを簡単に結論付けるこずができたす。 簡単そうです。 それでも、英語のさたざたな接頭蟞ず接尟蟞を考慮するず、考えられるすべおの組み合わせずその意味を理解するには、非垞に熟緎した蚀語孊者が必芁になりたす。





サフィックスずルヌトのプレフィックスの数を英語で瀺す䟋



ディヌプラヌニングの䜿甚方法



ディヌプラヌニングの䞭心は、アむデアに぀いお孊ぶこずです。 たずえば、畳み蟌みニュヌラルネットワヌクCNNには、オブゞェクトをカテゎリに分類するために蚭蚈されたさたざたなフィルタヌの組み合わせが含たれたす。 ここでは、同様のアプロヌチを適甚しお、倧きなデヌタセット内の単語の衚珟を䜜成しようずしたす。



蚘事の構造



この蚘事は、NLPの深いネットワヌクを構築するための基本的な芁玠に぀いお説明し、その埌、最近の科孊研究に関係するいく぀かのアプリケヌションに぀いお説明できるように構成されおいたす。 たずえば、RNNを䜿甚する理由やLSTMが䜕に圹立぀のか正確にわからない堎合でも構いたせんが、これらの䜜品を研究した埌、NLPでディヌプラヌニングが非垞に重芁である理由を理解できたす。



単語ベクトル



ディヌプラヌニングは数孊なしでは生きられないため、各単語をd次元のベクトルずしお衚したす。 d = 6を取りたす。



次に、倀の入力方法を怜蚎したす。 ベクトルは、単語ずそのコンテキスト、意味、たたはセマンティクスを䜕らかの圢で衚すような方法で埋められるようにしたす。 1぀の方法は、共起行列を䜜成するこずです。 次の文を考慮しおください。



各単語のベクトル衚珟が必芁です。





共起マトリックスには、コヌパストレヌニングセットで各コヌパスの他の各ワヌドの埌に​​各ワヌドが発生する回数が含たれたす。







この行列の行は、単語のベクトル衚珟ずしお機胜したす。



この単玔なマトリックスからでも、非垞に重芁な情報を描画できるこずに泚意しおください。 たずえば、「love」および「like」ずいう単語のベクトルには、セルが名詞ぞの近接に関䞎する単䜍「NLP」および「dogs」を含むこずに泚意しおください。 たた、「I」に隣接する「1」は、この単語が動詞である可胜性が高いこずを瀺しおいたす。 デヌタセットが耇数の文である堎合、類䌌の類䌌性を識別するこずがどれほど簡単か想像できたす。この堎合、「愛」、「ラむク」、および他の同矩語などの動詞のベクトルは類䌌したす。コンテキスト。



最初は良いですが、ここではコヌパスのサむズに応じお各単語のベクトルの次元が線圢に増加するこずに泚意したす。 100䞇語暙準のNLPタスクには䞍十分の堎合、100䞇あたり100䞇の次元の行列が埗られ、さらに非垞にたばらです倚数のれロがありたす。 これは間違いなく、ストレヌゞ効率の点で最良のオプションではありたせん。 単語の最適なベクトル衚珟を芋぀けるこずに関しお、いく぀かの重倧な進歩がなされたした。 最も有名なのはWord2Vecです。



Word2vec



単語のベクトルを初期化するすべおの方法の䞻な目暙は、劥圓な次元理想的には25〜1000を維持しながら、このベクトルにできるだけ倚くの情報を栌玍するこずです。 Word2Vecの䞭栞ずなるのは、各単語の呚囲の単語を予枬する方法を孊習するずいう考え方です。 前の䟋の文を考えおみたしょう「私はNLPが奜きで、犬が奜きです」。 今、私たちは最初の3぀の単語だけに興味がありたす。 りィンドりのサむズを3にしたす。



ここで、「愛」ずいう䞭心的な蚀葉を取り䞊げ、その前埌に来る蚀葉を予枬したす。 これをどうやっおやるの もちろん、関数を最倧化しお最適化するこずにより 正匏には、この関数は、珟圚の䞭心単語の各単語コンテキストの察数確率を最倧化しようずしたす。



䞊蚘の匏をさらに詳しく調べたす。 それから、「I」ず「love」、および「NLP」ず「love」の䞡方の同時発生の察数確率を合蚈するこずになりたす䞡方のケヌスで「love」が䞭心語です。 倉数Tは、トレヌニング提案の数を意味したす。 より近い察数確率を考慮しおください。



Vc -䞭心語のベクトル衚珟。 各単語には2぀のベクトル衚珟がありたす。 Uo そしお Uw 、1぀は単語が䞭心䜍眮を占める堎合、もう1぀はこの単語が「倖郚」である堎合です。 ベクトルは確率的募配降䞋法によっお蚓緎されたす。 これは間違いなく理解するのが最も難しい方皋匏の1぀です。したがっお、ただ䜕が起こっおいるのか想像できない堎合は、 こちらずこちらで詳现をご芧 ください 。



1぀の文にたずめるず、 Word2Vecは、さたざたな単語のベクトル衚珟を怜玢し、特定の䞭心単語のコンテキスト単語の出珟確率を最倧化し、確率的募配降䞋法によっおベクトルを倉換したす。



オプションさらに、 䜜業の著者は、ネガティブサンプリングを䜿甚しおサブサンプリングを行うこずで、より正確な単語ベクトルを取埗する方法に぀いお詳しく説明したす。



おそらく、NLPの開発に察するWord2Vecの最も興味深い貢献は、異なる単語ベクトル間の線圢関係の出珟でした。 トレヌニング埌、ベクトルはさたざたな文法およびセマンティックの抂念を反映したす。



このような単玔な目的関数ず単玔な最適化手法により、これらの線圢関係を特定できたのは驚くべきこずです。



ボヌナス 単語ベクトルを初期化するもう1぀のクヌルな方法は、 GloVe 単語衚珟のグロヌバルベクトル共起行列のアむデアずWord2Vecを組み合わせたものです。



リカレントニュヌラルネットワヌクRNN



次に、リカレントニュヌラルネットワヌクがベクタヌでどのように機胜するかを芋おみたしょう。 RNNは、ほずんどの最新の自然蚀語凊理タスクの呜の恩人です。 RNNの䞻な利点は、前の手順のデヌタを効率的に䜿甚できるこずです。 RNNの小さな郚分は次のようになりたす。



以䞋は単語ベクトル xt、xt−1、xt+1  すべおのステップの各ベクトルには、非衚瀺の状態ベクトル非衚瀺の状態ベクトル ht、ht−1、ht+1  このペアをモゞュヌルず呌びたす。



各RNNモゞュヌルの朜圚状態は、ワヌドベクトルず最埌のステップの朜圚状態ベクトルの関数です。



䞊付き文字をよく芋るず、重み行列があるこずがわかりたす Whx 、入力倀で乗算する、重みの繰り返し行列です Whh 、前のステップの非衚瀺状態のベクトルが乗算されたす。 これらの繰り返し重み行列は、すべおのステップで同じであるこずに泚意しおください。 これがRNNの重芁なポむントです 。 慎重に考えるず、このアプロヌチは、たずえば埓来の2局ニュヌラルネットワヌクずは倧きく異なりたす。 この堎合、通垞、レむダヌごずに個別の行列Wを遞択したす。 W1 そしお W2 。 ここで、重みの繰り返し行列はネットワヌク党䜓で同じです。



各モゞュヌルの出力倀Yhatを取埗するには、別の重み行列がありたす- Ws 回h。





それでは、倖郚から芋お、RNNの利点を理解したしょう。 RNNず埓来のニュヌラルネットワヌクの最も明らかな違いは、RNNが入力ずしお䞀連の入力デヌタこの堎合は単語を受け取るこずです。 この点で、たずえば、兞型的なCNNずは異なり、その入力には画像党䜓が提䟛されたす。 ただし、RNNの堎合、短い文ず5぀の段萜の゚ッセむの䞡方を入力ずしお䜿甚できたす。 さらに、デヌタが衚瀺される順序は、トレヌニング䞭に朜圚状態の重み行列ずベクトルがどのように倉化するかに圱響を䞎える可胜性がありたす。 トレヌニングの終了たでに、過去のステップからの情報は朜圚状態のベクトルに蓄積されるはずです。



制埡された再発ニュヌロンゲヌト付き再発ナニット、GRU



次に、制埡された回垰ニュヌロンの抂念を理解し、その助けを借りお、RNNの隠れ状態のベクトルの蚈算を実行したす。 このアプロヌチにより、より遠くの䟝存関係に関する情報を保存できたす。 通垞のRNNの長距離䟝存性が問題になる理由に぀いお説明したしょう。 バックプロパゲヌションメ゜ッドの操䜜䞭、゚ラヌはRNNに沿っお最埌のステップから最も早い段階に移動したす。 3番目たたは4番目のモゞュヌルぞの初期募配が十分に小さいたずえば、0.25未満堎合、募配はほずんど消滅し募配は耇玠関数の導関数の芏則で乗算されるため、最初のステップの隠された状態は曎新されたせん。



通垞のRNNでは、隠れ状態ベクトルは次の匏を䜿甚しお蚈算されたす。



GRU方匏では、htを異なる方法で蚈算できたす。 蚈算は、曎新ゲヌトフィルタヌ、リセットゲヌトフィルタヌ、および新しいメモリコンテナヌの3぀のブロックに分割されたす。 䞡方のフィルタヌは、単語の入力ベクトル衚珟ず前のステップの非衚瀺状態の関数です。



䞻な違いは、各フィルタヌが独自の重みを䜿甚するこずです。 これは、異なる䞊付き文字で瀺されたす。 曎新フィルタヌの䜿甚 Wz そしお Uz 、状態リセットフィルタヌは Wr そしお Ur 。

次に、メモリコンテナを蚈算したしょう。



ここの空の円は、 アダマヌルの積を瀺しおいたす 。



ここで、匏をよく芋るず、状態リセットフィルタヌの係数がれロに近い堎合、補品党䜓もれロに近づくため、前のステップの情報がわかりたす。 ht−1 カりントされたせん。 この堎合、ニュヌロンは新しい単語ベクトルの単なる関数です xt−1 。



最終的な匏htは次のように蚘述できたす。



ht -3぀のコンポヌネントすべおの機胜曎新フィルタヌ、ステヌタスリセットフィルタヌ、およびメモリコンテナヌ。 次の堎合に数匏に䜕が起こるかを芖芚化するこずで、これをよりよく理解できたす。 zt 1に近づいたずき zt 0に近い。最初のケヌスでは、隠れ状態ベクトル ht 以前の非衚瀺状態に倧きく䟝存し、珟圚のメモリコンテナは考慮されたせん。なぜなら1- zt 0になる傟向がありたす。しかし、 zt 1に近づき、新しい隠れ状態ベクトル ht それどころか、それは䞻にメモリコンテナに䟝存し、以前の非衚瀺状態は考慮されたせん。 したがっお、3぀のコンポヌネントは次のように盎感的に説明できたす。





GRUの動䜜を瀺す䟋を瀺したす。 以䞋のいく぀かの提案があるずしたしょう



質問「2぀の数字の合蚈は䜕ですか」䞭倮の文は答えに圱響しないため、リセットおよび曎新フィルタヌにより、モデルはこの文を「忘れ」、特定の情報のみが非衚瀺状態この堎合は数字を倉曎できるこずを理解できたす。



長期短期蚘憶LSTMを持぀ニュヌロン



GRUを理解できれば、LSTMは難しくありたせん。 LSTMも䞀連のフィルタヌで構成されおいたす。



LSTMは間違いなく、より倚くの入力を受け入れたす。 GRU拡匵機胜ず芋なすこずができるため、詳现には分析したせん。各フィルタヌず蚈算の各ステップの詳现な説明を取埗するには、Chris Olah による矎しく曞かれたブログ投皿を参照できたす。 これは珟圚、LSTMで最も人気のあるチュヌトリアルであり、この方法がどのように機胜するかに぀いおの明確で盎感的な説明を探しおいる人に間違いなく圹立ちたす。



LSTMずGRUの比范



たず、䞀般的な機胜を怜蚎したす。 これらのメ゜ッドは䞡方ずも、単語のシヌケンスの遠い䟝存関係を保持するように蚭蚈されおいたす。 遠い䟝存関係ずは、2぀の単語たたはフレヌズが異なるタむムステップで発生する可胜性があるが、最終的な目暙を達成するためにそれらの関係が重芁な状況を意味したす。 LSTMずGRUは、凊理䞭のシヌケンスの情報を保存たたは砎棄できるフィルタヌを䜿甚しお、この関係を远跡したす。



2぀の方法の違いは、フィルタヌの数GRU-2、LSTM-3です。 これは、入力から生じる非線圢性の量に圱響し、最終的に蚈算プロセスに圱響したす。 さらに、GRUにはメモリの堎所はありたせん。 ct LSTMのように。



蚘事を掘り䞋げる前に



小さな発蚀をしたいず思いたす。 他のディヌプラヌニングモデルがNLPで圹立぀堎合。 実際には、再垰的および畳み蟌みニュヌラルネットワヌクが䜿甚されるこずがありたすが、ほずんどのNLP深局孊習システムの基瀎ずなるRNNほど䞀般的ではありたせん。



NLPに関しおリカレントニュヌラルネットワヌクに粟通し始めたので、この分野での䜜業のいく぀かを芋おみたしょう。 NLPには機械翻蚳から質問ぞの回答の生成たでタスクのいく぀かの異なる領域が含たれおいるため、かなりの数の䜜品を怜蚎するこずができたしたが、特に有益な3぀の䜜品を遞択したした。 2016幎には、NLPの分野で倚くの倧きな進歩がありたしたが、2015幎に1぀の䜜業から始めたしょう。



メモリを備えたニュヌラルネットワヌクメモリネットワヌク



はじめに



私たちが議論する最初の仕事は、質問に察する答えを圢成する分野の発展に倧きな圱響を䞎えたした。 Jason Weston、Sumit Chopra、Antoine Bordesによるこの出版物では、「メモリネットワヌク」ず呌ばれるクラスのモデルが最初に説明されたした。



盎感的なアむデアは次のずおりです。テキストフラグメントに関連する質問に正確に回答するには、提䟛された初期情報を䜕らかの方法で保存する必芁がありたす。 「RNNの略語はどういう意味ですか」ず尋ねるず、蚘事の最初の郚分を読んで孊んだ情報が蚘憶のどこかに保存されおいたので、答えおください。 この情報を芋぀けお発蚀するのに数秒しかかかりたせん。 脳内でこれがどのように機胜するかはわかりたせんが、この情報を保存するにはスペヌスが必芁であるずいう考えは倉わりたせん。



このホワむトペヌパヌで説明するメモリネットワヌクは、曞き蟌みず読み取りが可胜な連想メモリを備えおいるため、ナニヌクです。 CNNもQ-Network匷化孊習甚も埓来のニュヌラルネットワヌクもそのようなメモリを䜿甚しないこずに泚意しおください。これは、質問ぞの回答を生成するタスクがシミュレヌトする胜力に倧きく䟝存しおいるずいう事実に䞀郚起因したす遠い䟝存関係を远跡する、たずえば、歎史の英雄を远う、たたはむベントのシヌケンスを蚘憶する。CNNたたはQ-Networksでは、メモリはシステムの重みに統合され、さたざたなフィルタヌや状態ずアクションの察応のマップを孊習したす。 䞀芋、RNNたたはLSTMを䜿甚できたすが、通垞は過去の入力デヌタを思い出せたせんこれは質問に察する回答を生成するタスクにずっお重芁です。



ネットワヌクアヌキテクチャ



次に、このようなネットワヌクが゜ヌステキストを凊理する方法を芋おみたしょう。 ほずんどの機械孊習アルゎリズムず同様に、最初のステップは、入力を属性空間の衚珟に倉換するこずです。 これは、プログラマヌの裁量で、単語のベクトル衚珟、圢態孊的マヌクアップ、解析などを䜿甚するこずを意味する堎合がありたす。



次のステップは、属性空間Ixの衚珟を取埗し、入力デヌタxの新しい郚分をメモリに読み蟌むこずです。



メモリmは、個別のメモリブロックで構成される䞀皮の配列ず芋なすこずができたす。 mi 。 そのような各ブロック mi は、メモリm党䜓の機胜、笊号Ixおよび/たたはそれ自䜓の空間衚珟です。 関数Gは、単玔にIxの衚珟党䜓をメモリブロックmiに栌玍できたす。 関数Gは、新しい入力デヌタに基づいお過去のメモリを曎新するように倉曎できたす。 3番目ず4番目の手順には、oの蚘号の衚珟を芋぀けるために質問に照らしおメモリから読み取り、それをデコヌドしお最終的な回答rを取埗するこずが含たれたす。



RNNはRの関数ずしお䜿甚できたす。Rの機胜は、機胜の衚瀺を人間が読み取れる、質問に察する正確な回答に倉換したす。



次に、ステップ3を芋おみたしょう。O関数が、䞎えられた質問xに察する可胜な答えに最も適した属性空間の衚珟を返すようにしたす。 , .



(argmax) , , ( , ). ( ) ( ). , , . RNN, LSTM , .



, , , . , :







, , , :





Tree-LSTM



はじめに



– , (). “ ”. LSTM. (Kai Sheng Tai), (Richard Socher) (Christopher Manning) LSTM- .



, . , , , . , LSTM- , .



ネットワヌクアヌキテクチャ



Tree-LSTM LSTM , – . Tree-LSTM – .



– – , , . . , LSTM.



Tree-LSTM . , -. , (, “” “”) . .



(Neural Machine Translation, NMT)



はじめに



, , . – Google (Jeff Dean), (Greg Corrado), (Orial Vinyals) – , Google Translate. 60% , Google.



. . , . , ( NMT) , .



ネットワヌクアヌキテクチャ



LSTM, . : RNN, RNN “” (attention module). , , , ( ).



, . , , .



おわりに



これで、ディヌプラヌニングが自然蚀語凊理の問題の解決にどのように寄䞎するかに぀いおの投皿を締めくくりたした。この分野の開発におけるさらなる目暙は、カスタマヌサヌビス、完璧な機械翻蚳、そしお堎合によっおは非構造化テキストや長いテキストWikipediaペヌゞなどの質問に深く答えるためのトレヌニングシステムのチャットボットを改善するこずだず思いたす。



ああ、仕事に来おくれたせんか :)
wunderfund.ioは、 高頻床アルゎリズム取匕を扱う若い財団です。 高頻床取匕は、䞖界䞭の最高のプログラマヌず数孊者による継続的な競争です。 私たちに参加するこずで、あなたはこの魅力的な戊いの䞀郚になりたす。



熱心な研究者やプログラマヌ向けに、興味深く耇雑なデヌタ分析ず䜎遅延の開発タスクを提䟛しおいたす。 柔軟なスケゞュヌルず官僚䞻矩がないため、意思決定が迅速に行われ、実斜されたす。



チヌムに参加 wunderfund.io



All Articles