

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Sequence to Sequence の仕組み
<a name="seq-2-seq-howitworks"></a>

通常、sequence-to-sequence モデリングのニューラルネットワークは、次のようなレイヤーで構成されます。
+ **埋め込みレイヤー**。このレイヤーでは、希薄な方法 (one-hot エンコードなど) でエンコードされた入力トークンである入力行列が、高密度の特徴レイヤーにマッピングされます。高次元の特徴ベクトルは、特定のトークンに関して、単純な one-hot エンコードされたベクトルよりも情報をエンコードできるため、必須です。また、標準的な方法として、この埋め込みレイヤーを事前にトレーニングを行った [FastText](https://fasttext.cc/) や [Glove](https://nlp.stanford.edu/projects/glove/) などの言語ベクトルを使用して初期化する、またはトレーニング中にそれをランダムに初期化してパラメータを学習する方法も挙げられます。
+ **エンコーダーレイヤー**。入力トークンを高密度の特徴スペースにマッピングした後、シーケンスはエンコーダーレイヤーを移行して、(全シーケンスの) 入力埋め込みレイヤーからのすべての情報を固定長の特徴ベクトルに圧縮します。通常、エンコーダーは長・短期記憶 (LSTM) やゲート付き再帰型ユニット (GRU) などの RNN タイプのネットワークで作成されます (LSTM の詳細については、[Colah のブログ](http://colah.github.io/posts/2015-08-Understanding-LSTMs/)を参考にしてください)。
+ **デコーダーレイヤー**。デコーダーレイヤーはこのエンコードされた特徴ベクトルを取得し、トークンの出力シーケンスを生成します。また、このレイヤーは通常、RNN アーキテクチャ (LSTM と GRU) で構成されます。

モデル全体が共同でトレーニングが行われ、ソースシーケンスが指定されたターゲットシーケンスの可能性を最大化します。このモデルは、2014 年に [Sutskever ら](https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf)によって最初に導入されました。

**アテンション機構**。エンコーダーデコーダーフレームワークの欠点は、エンコードされた固定長の特徴ベクトルに含めることのできる情報の量には制限があるため、ソースシーケンスの長さが増えるたびにモデルのパフォーマンスが減少する点です。この問題に取り組むために、Bahdanau らは 2015 年に[アテンション機構](https://arxiv.org/pdf/1409.0473.pdf)を提案しました。アテンション機構では、デコーダーが最も重要な情報が存在する可能性があるエンコーダーシーケンス内の場所の検索を試行し、その情報と以前にデコードした単語を使用して、シーケンス内の次のトークンを予測します。

詳細については、Luong らによるホワイトペーパー [Effective Approaches to Attention-based Neural Machine Translation (アテンションに基づくニューラル機械翻訳の効果的なアプローチ)](https://arxiv.org/abs/1508.04025) を参照してください。さらに、Wu らによるホワイトペーパー [Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation (Google のニューラル機械翻訳システム: 人間と機械翻訳の間での橋渡し)](https://arxiv.org/abs/1609.08144) では、Google の機械翻訳のアーキテクチャーについて説明しています。