LLMファインチューニングのためのNLPと深層学習入門 #1 Encoder-Decoder ネットワーク

この記事は、CVMLエキスパートガイドEncoder-Decoder ネットワーク [ディープラーニングの文脈で]から学んだ内容をまとめたものです。
LLMのファインチューニングをしているうちに、LLMの構造や原理などについて理解したいと思ったので、NLPの勉強を始めました。
できるだけ毎日最低1つの事柄について記事を書いていきます。

1. Encoder-Decoder ネットワークとは

EncoderとDecoderが対象構造をなして、もとの情報を変換、復元するネットワークのことをEncoder-Decoderモデル、Encoder-Decoderネットワークと呼びます。

2. Encoder-Decoder ネットワークの構成要素

Encoder-Decoderネットワークは、以下の2つのサブネットワークと、中間のボトルネック層から構成されます。(図1)

  • Encoder(前半):
    入力を受け取り、低次元の潜在表現にするネットワーク。
    入力画像や系列を解釈、符号化する。

  • ボトルネック層(中間):
    中間のzの部分。何も処理しないままDecoderにzを渡すことも多い。

  • Decoder(後半):
    低次元の潜在表現を受け取り、出力を生成するネットワーク。
    中間表現をアップサンプリングして、出力を生成する。

図1. Encoder-Decoder ネットワークの2種類 (画像変換向けと系列変換向け)
(CVMLエキスパートガイドより)

3. 系列対系列変換が目的のEncoder-Decoder

機械翻訳やText-to-Speech、音声認識など、系列同士を変換する系列対系列変換が目的のEncoder-Decoderは当初seq2seqと名付けられ、その後アテンション中心で構成されたTransformerへと発展しました。(図2)

図2. Transformer の概要図(CVMLエキスパートガイドより)

系列対系列変換では、入力系列も出力系列も、ともに系列長が可変なので、それに対応できるRNNモデルや、Transformerエンコーダ・デコーダなどが用いられます。
これらの系列対系列を扱う各タスク向けのEncoder-Decoderでは、アテンション機構を同時に利用することが標準的です。

アテンション機構を用いる seq2seq with attention や Transformer の場合、スキップ接続やアテンション重みを通じて、Encoder-Decoder間の各層間がかなり密につながり、2者間が複雑かつ適応的に作用します。
これは、動画や音声ファイルなどの圧縮伝送目的の、機能が完全に分離している古典的なEncoder-Decoderとは、異なる性質を持つ機構です。

4. Encoder-Decoder ネットワークと一般化言語モデル

一方で、BERTやGPTのような一般化言語モデルの自己教師あり事前学習だと、TransformerのEncoderもしくはDecoderの片方のみを用いていることが
多く、系列Encoder-Decoderではありません。(BERTはTransformerのエンコーダ部分、GPTはTransformerのデコーダ部分を利用しています。)

ただし、その後登場したBERTの改善手法であるBARTは、BERTとGPTの特性を組み合わせたモデルで、Transformerのエンコーダ部分とデコーダ部分の両方を使用します。
BARTは文全体を考慮し(BERTの特性)、自己回帰的に新しい単語を生成します(GPTの特性)。

今回はEncoder-Decoderネットワークについてまとめました。
間違っている部分などありましたらお気軽にお知らせください。
次はTransformerについて勉強しようと思います。
それでは。

参考


この記事が気に入ったらサポートをしてみませんか?