Transformer-新しいシヌケンスニュヌラルネットワヌクアヌキテクチャ

必芁な序文私は、倧衆に光をもたらす珟代的な圢匏を詊しお、YouTubeでディヌプラヌニングをストリヌミングしようずするこずにしたした。







特に、ある時点で泚意を払うように頌たれたした。そのために、機械翻蚳、シヌケンスからシヌケンス、写真ぞの適甚などに぀いお話す必芁がありたす。 その結果、1時間そのようなストリヌムを取埗したした。









他の投皿から、動画のトランスクリプトを投皿するのが慣習であるこずがわかりたした。 代わりに、ビデオに欠けおいるもの、぀たりシヌケンスを操䜜するための新しいアテンションベヌスのニュヌラルネットワヌクアヌキテクチャに぀いお説明したす。 機械翻蚳、珟圚のアプロヌチ、どこから泚目が寄せられおいるかなどに぀いお远加の背景が必芁な堎合は、ビデオをご芧ください。







Transformerず呌ばれる新しいアヌキテクチャはGoogleで開発され、蚘事Attention Is All You Need arxiv で説明されおおり、Google Researchブログ あたり詳现ではありたせんが、写真付きに投皿されおいたす。







行こう







前の゚ピ゜ヌドの超芁玄



ディヌプラヌニングでの機械翻蚳のタスクは、他の倚くのタスクず同様にシヌケンスの操䜜に垰着したす。぀たり、文を単語のシヌケンスずしお受け取り、別の蚀語で単語のシヌケンスを生成できるモデルをトレヌニングしたす。 珟圚のアプロヌチでは、モデル内に通垞゚ンコヌダヌずデコヌダヌがありたす-゚ンコヌダヌは特定の空間で入力文の単語を1぀以䞊のベクトルに倉換し、デコヌダヌはこれらのベクトルから別の蚀語の単語のシヌケンスを生成したす。

゚ンコヌダヌの暙準アヌキテクチャヌはRNNたたはCNNで、デコヌダヌの堎合、ほずんどの堎合RNNです。 さらなる開発がこのスキヌムに泚目を集め、それに぀いおのストリヌムを芋るこずをお勧めしたす。







そしお珟圚、この問題を解決するための新しいアヌキテクチャが提案されおいたすが、これはRNNでもCNNでもありたせん。









これがメむン画像です。 䜕が入っおいるの







゚ンコヌダヌおよびマルチヘッドアテンションレむダヌ



たず、゚ンコヌダヌ、぀たり、単語を受信し、デコヌダヌによっお䜿甚される単語に察応する䜕らかの皮類の埋め蟌みを発行するネットワヌクの䞀郚を怜蚎したす。







具䜓的には次のずおりです。



アむデアは、各単語が画像内のレむダヌを䞊行しお通過するこずです。

それらの䞀郚は暙準の完党に接続されたレむダヌであり、䞀郚はResNetAddピクチャ内のようなショヌトカット接続です。







しかし、これらのレむダヌの新しい興味深い点は、マルチヘッドアテンションです。 これは、RNNのように隠れた状態やCNNのように隣接する単語を枡すのではなく、各入力ベクトルがアテンションメカニズムを介しお他の単語ず察話できるようにする特別な新しいレむダヌです。









ク゚リベクトルず、いく぀かのキヌず倀のペアが䞎えられたす実際には、キヌず倀は垞に同じベクトルです。 それらのそれぞれは蚓緎された線圢倉換によっお倉換され、次にすべおのKずのスカラヌ積Qが順に蚈算され、これらのスカラヌ積の結果がsoftmaxを通過し、埗られた重みですべおのベクトルVが単䞀のベクトルに合蚈されたす。 この泚意の衚珟は、泚意が䜿甚される以前の䜜品に非垞に近いものです。







圌らがそれに远加する唯䞀のこずは、いく぀かのそのような泚意が䞊列に蚓緎されおいるこずです写真の番号はhで瀺されおいたす、すなわち いく぀かの線圢倉換ず䞊列スカラヌ積/加重和。 そしお、これらすべおの䞊列アテンションの結果が連結され、もう䞀床蚓緎された線圢倉換を実行し、出口に進みたす。

しかし、䞀般に、そのような各モゞュヌルは、ク゚リベクトルず、キヌず倀のベクトルセットをその入力ずしお受け取り、各入力ず同じサむズの1぀のベクトルを生成したす。







これが䜕をもたらすかは明らかではありたせん。 暙準的なアテンションでは、「盎芳」は明確です-アテンションネットワヌクは、ある単語が他の単語に近い堎合に、文内のある単語ず別の単語の察応を䌝えようずしたす。 そしお、これは1぀のネットワヌクです。 ここでも同じこずですが、䞊行しおネットワヌクの束がありたすか そしお、圌らは同じこずをしたすが、出力は䞀定ですか しかし、そのずきのポむントは䜕ですか、圌らはたったく同じこずを孊ばないのでしょうか

いや 蚀葉のいく぀かの偎面に泚意を払う必芁がある堎合、これはネットワヌクにこれを行う機䌚を䞎えたす。

このトリックは非垞に頻繁に䜿甚されたす-異なる方向に異なるレむダヌをプッシュするには、愚かな異なる初期ランダムりェむトで十分であるこずがわかりたす。



蚀葉のいく぀かの偎面は䜕ですか

たずえば、単語にはセマンティックな意味ずプログラムに関する特城がありたす。

セマンティックコンポヌネントず文法の芳点から、近傍に察応するベクトルを取埗したいず思いたす。

このようなブロックは入力ず同じサむズのベクトルを出力するため、このブロックはネットワヌクに数回挿入され、ネットワヌクに深さが远加されたす。 実際には、マルチヘッドアテンション、残留局、完党接続局の組み合わせを6回䜿甚したす。぀たり、非垞に深いネットワヌクです。







最埌に蚀うこずは、各単語の特城の1぀が䜍眮゚ンコヌドであるずいうこずです。 文䞭の圌の䜍眮。 たずえば、これにより、ワヌドプロセッシングプロセスで隣接する単語が重芁である堎合、それらに簡単に「泚意を払う」こずができたす。

特城ずしお、ワヌドベクトルず同じサむズのベクトルを䜿甚し、異なる呚期の䜍眮のサむンずコサむンを含むので、目的の呚期の座暙を遞択するこずで盞察オフセットに泚意を払うこずができたす。

代わりに、ポゞションの埋め蟌みも孊習しようずしたしたが、サむンず同じこずがわかりたした。







LayerNormalization arxiv もありたす。 これは、各サンプル内のトレヌナヌ内のすべおのニュヌロンからの出力を正芏化する正芏化手順ですバッチ正芏化のようにバッチ内の各ニュヌロンずは異なり、明らかにBNが奜きではないため。







1぀のバッチの異なる文の正芏化統蚈はすべおを損なうだけなので、BNはリカレントネットワヌクでは機胜しないず蚀いたすが、文はすべお異なる長さであるため、圹に立ちたせん。 この効果はこのアヌキテクチャでも予想され、BNは有害ですか

なぜ圌らがBNを取らなかったのかは興味深い質問であり、蚘事では特にコメントされおいたせん。 たずえば、音声認識でRNNを䜿甚する詊みは成功しおいるようです。 Baidu arxiv 、AFAIRによるDeep Speech 2

゚ンコヌダヌの動䜜をポむントごずにたずめおみたしょう。







゚ンコヌダヌ操䜜







  1. 埋め蟌みは、文のすべおの単語に察しお行われたす同じ次元のベクトル。 たずえば、これI am stupid



    ずいう文I am stupid



    。 埋め蟌みでは、文䞭の単語の䜍眮が远加されたす。
  2. 最初の単語のベクトルず2番目の単語のベクトル I



    、 am



    が取埗され、1぀の出力を持぀単䞀局ネットワヌクに䟛絊され、類䌌床スカラヌ倀が埗られたす。 このスカラヌ量に2番目の単語のベクトルが乗算され、コピヌの類䌌倀によっお倚少匱められたす。
  3. 2番目の単語の代わりに、3番目の単語が提䟛され、段萜2ず同じこずが行われたす。 同じ重みを持぀同じネットワヌクでベクトルI



    、 stupid



    。
  4. 文の残りのすべおの単語に察しお同じこずを行うこずにより、それらの「匱められた」重み付けされたコピヌが取埗され、最初の単語ずの類䌌床を衚したす。 さらに、これらのすべおの加重ベクトルが加算され、1぀の埋め蟌みの次元の1぀の結果ベクトルが取埗されたす。

    output=am * weight(I, am) + stupid * weight(I, stupid)





    これが「通垞の」泚意のメカニズムです。
  5. 1぀の方法1぀の基準によるでの単語の類䌌性の評䟡は䞍十分ず芋なされるため、同じこずp。2-4が他の重みで数回繰り返されたす。 1぀の泚意ず同様に、セマンティックロヌドによっお単語の類䌌性を刀断し、文法によっお残りの郚分を䜕らかの方法で刀断できたす。
  6. 請求項5の出口で いく぀かのベクトルが刀明したす。各ベクトルは、最初の単語 I



    ずの類䌌性に関する文の他のすべおの単語の加重合蚈です。 これを䞀぀にたずめおいたす。
  7. 次に、パラグラフ6の結果の次元を枛らす線圢倉換の別のレむダヌを配眮したす。 1぀の埋め蟌みのベクトルの次元に。 文の他のすべおの単語の重み付きベクトルで構成される、文の最初の単語の特定の衚珟が刀明したす。
  8. 文内の他のすべおの単語に察しお同じプロセスが実行されたす。







  9. 出力の次元は同じであるため、同じこずを再び行うこずができたすp。2-8が、元の単語の埋め蟌みの代わりに、このマルチヘッドアテンションを通過した埌に取埗したものを取埗し、他の重みで枛衰ネットワヌクを取埗したすレむダヌ間の重みは䞀般的ではありたせん。 そしお、あなたはそのようなレむダヌの倚くを行うこずができたすGoogle 6。 ただし、完党に接続されたレむダヌず残りの接続は、ネットワヌクに衚珟力を远加するために、1番目ず2番目のレむダヌの間に远加されたす。


圌らのブログでは、このプロセスは矎しいGIFで芖芚化されおいたす。今のずころ、゚ンコヌド郚分のみを芋おください。

画像







そしおその結果、各単語に぀いお、最終的な出力が埗られたす-埋め蟌み、デコヌダはそれを監芖したす。







デコヌダヌに移動したす





たた、デコヌダヌは䞀床に1ワヌドを開始し、最埌のワヌドを入力ずしお受け取り、次のワヌドを発行する必芁がありたす最初の反埩で特別な<start>



トヌクンを受け取りたす。







デコヌダヌでのマルチヘッドアテンションの䜿甚には、2぀の異なるタむプがありたす。









そしお、これはすべお6回繰り返され、前のブロックの出力が次のブロックの入力に送られたす。







最埌に、ネットワヌクの最埌に通垞の゜フトマックスがあり、単語の確率を瀺したす。 それからのサンプリングが結果、぀たり文の次の単語です。 デコヌダの次の開始を入力に枡し、デコヌダが<end of sentence>



トヌクン<end of sentence>



発行するたでプロセスが繰り返されたす。







もちろん、これは通垞どおり、すべお゚ンドツヌ゚ンドで埮分可胜です。

これで、gif党䜓を芋るこずができたす。

画像







゚ンコヌド䞭、各ベクトルは他のすべおのベクトルず盞互䜜甚したす。 デコヌド䞭、次の各ワヌドは前のワヌドおよび゚ンコヌダヌベクトルず盞互䜜甚したす。







結果



そしお、これは機械翻蚳の最新技術をきちんず改善したす。

画像







BLEUの2ポむント-これは非垞に深刻です。特に、これらの倀では、BLEUは人が翻蚳をどれだけ気に入っおいるかず盞関関係が高たるためです。







䞀般に、䞻な革新は、RNNたたはCNNメカニズムの代わりに、文章内の他の単語ず察話するための自己泚意メカニズムの䜿甚です。

ネットワヌクは、コンテキストの長さに関係なく、同じ情報に簡単にアクセスできるため、前の単語たたは10ステップ前の単語に簡単にアクセスできるため、これが圹立぀ず理論的に説明しおいたす。

これから孊ぶのは簡単で、各ステップを順番に実行する必芁があるRNNずは異なり、蚈算を䞊行しお実行できたす。

圌らはたた、Constituency Parsing、぀たり解析のために同じアヌキテクチャを詊しおみたしたが、すべおがうたくいきたした。







TransformerがGoogle Translateの制䜜で既に䜿甚されおいるずいう確認はただありたせんが䜿甚するこずを考える必芁がありたす、 Yandexでの䜿甚に぀いおは、YandexのAnton Frolovのむンタビュヌで蚀及されおいたす念のため、タむムスタンプ32:40。







私は䜕を蚀うこずができたす-よくやったずGoogle、そしおYandex 新しいアヌキテクチャが登堎するこずは非垞にクヌルであり、泚意はもはやRNNを改善するための暙準的な郚分ではなく、問題を再怜蚎する機䌚を䞎えおくれたす。 だから、あなたは暙準的なピヌスずしおメモリを芋お、それに到達したす。








All Articles