【アテンション進化の歴史】翻訳モデルseq2seq(後編)

最初の RNN 紹介リンク

前回の記事で、RNNとは何か、モデルに乗せると特定のデータがどのように流出するのかについて簡単にお話しましたが、簡単に言うと、RNNの内部を箱とみなして、その中に入力単語を一つずつ入れていくというものです。各ステップの出力に従って、次のステップの入力として同期して、前の文の意味と現在の単語の意味を合成する効果を達成します。この記事では、翻訳タスクの古典的なモデルの 1 つである seq2eq を中心に紹介します。

翻訳は何ですか

何千年もの間、翻訳は常に困難な仕事でした。母国語に堪能であるだけでなく、外国語にも堪能であり、レベルは異なるものの、統一性と要求が高い審査員全員を満足させるよう努めなければなりません。 「誠実さと優雅さ」を実現するスタンダード。翻訳を抽象的に見てみましょう。「論語」などの中国語の本を翻訳したいと考えています。

  1. 彼は、「時々学びながら学ぶことは、口で言うのは簡単ではない」と見ました。
  2. 彼の頭の中では、目にした文章が、「勉強して、毎日定期的に前知識を復習する、こういうのがかっこいい」という、わかりやすく直感的なものを形成していました。
  3. また、頭の中で「毎日勉強して、定期的に復習するって、楽しいことじゃないですか?」など、直感的な理解の意味に対応させて英語の単語を一つ一つ使ってみるようになりました。
  4. 結局、上記の簡単な中学単語や高校文法を、GRE/GMATの単語に逐一書き換えて、理解できない文法をアウトプットすることにした。

この文章を理解する→この文章を理解する→この文章に対応する→この文章を出力する、という流れをフローチャートで表すとわかりやすいです。

エンコーダ - デコーダ

前述の伏線を考慮すると、ここでのモデル設計を理解するのがはるかに簡単になります。私たちの入力と出力はすべて中国語、英語、アラビア語など私たちが理解できる自然言語であり、同時にコンピューターは数値とベクトルを処理します。翻訳対象の入力文の単語ごとのベクトル表現を取得したと仮定して、ここでは単語のベクトルをスキップしましょう。
このセクションのタイトルと同じように、2 つの RNN が必要です。1 つは Encoder という名前で、もう 1 つは Decoder という名前です。大人の言葉に訳すと、第二次世界大戦中の情報伝達によく似ており、送り手は情報を暗号化して送り出し、受け手はある方法で情報を復元する。
ここでのエンコーダーのタスクは、前述した RNN を実行し、デコーダーの入力の 1 つとしてセマンティック ベクトルを取得することです。上記の最初の 2 つのステップに対応して、この文を取得し、この文を理解します。
デコーダーのタスクは、意味ベクトルを分析し、それをターゲット言語のテキストとして出力することです。このブロックは次の 2 つのステップに対応し、それぞれの理解と目的の文への出力に対応します。
ここに画像の説明を挿入
図の左側は英語のエンコーダ、右側はフランス語のデコーダです。この RNN としては、通常 LSTM または GRU を選択します。

おすすめ

転載: blog.csdn.net/Petersburg/article/details/126046006