Encoder-Decoder Model [ディープラーニングの文脈で]

1. 概要

Encoder-Decoder Model とは,AutoEncoder 以降のディープニューラルネットワークでよく用いられる「入出力を端として,中央部の次元を低くして,その左右で対称形を成すネットワーク構造」である(図1).

Encoder-Decoderモデル
図1 Encoder-Decoderモデル

End-to-Endネットワークにおいては,前半のEncoder層でまず情報をエンコーディング(Encoding)し,真ん中の層で表現の次元数が一番低くなる.その後,後半のDecoder層で情報をデコーディング(Decoding)する対称構造のネットワークを,俗に「Encoder-Decoderモデル」と呼ぶことが多い(図1-(1)).画像のセマンティックセグメンテーションや古くからの画像変換問題(画像補間や画像復元など)を,CNNで学習する場合に,Encoder-Decoder Modelはよく用いられる.

また,系列変換モデル(4節)であるseq2seqや,Transformerなどでも,入力系列と出力系列の変換にEncoder-Decoderモデルが標準的に用いられる(図1-(2)).入力系列も出力系列も系列長が可変であるので,可変系列に対応できるRNNモデル(LSTM,GRU)や,TransformerデコーダとTransformerデコーダなどが,EncoderとDecoderに用いられる.

1.2 呼び名の由来:工学分野で古くから存在する,「符号器と復号器の組み合わせ」

古くから電子回路・情報理論で用いられてきた符号化では,「符号器(Encoder)」と「復号器(Decoder)」の組み合わせをペアとして用いてきた.

その際,計算機が扱いやすく,なおかつ元の情報量がなるべく保たれたまま圧縮された「符号(code)」を中間的に使用するために,まず「符号化」を行う.例えば,動画符号化では,H264などの符号化されたコードが,電気的伝送やネットワーク伝送効率を向上させるために,元データを圧縮する目的で用いられている.たとえば,動画の場合は伝送後にその符号化されたデータを複合器で動画として復元し表示再生する.この符号器・複合器のペア構成をニューラルネットワークで構成する場合も,上記の古くからの名前に習ってEncoder-Decoder Modelと慣習的に呼ぶ.

ただし,ハフマン符号化などのように,Encoder-Decoderモデルのニューラルネットワークで符号化も実行するわけではなく,Encoderで畳み込みしたあと真ん中の層で次元が圧縮されたベクトルが手に入るだけの場合が多い.エントロピーを考慮した符号化が必ずしも行われているわけではない.

2. AutoEncoderでの活用

AutoEncoder [1]や,Variational AutoEncoder (VAE) [2]では,前半の各層でボトムアップ処理のEncoderを用いて符号化を行い,まず中間コードを生成する (この中間層の表現を,Bottleneckと呼ぶことが多い ).そして,後半の各層では,中間コードからトップダウン処理のDecoderを用いて複合化を行い,元画像のサイズまで Upconvolutionを行なっていき,元画像を出力として復元する.

AutoEncoderやVAEでは,(符号化理論は特に用いてはいない)ロス関数でデータから表現を学習し,中間層(表現)の次元を圧縮もする.つまり,Deep Neural Networkに Encoder-Decoderを使用する場合,あまり積極的に情報理論や古典的な符号化理論は活用されていない(一部,活用している潮流もあるのだが,機械学習基礎よりの話で難易度も高いので,このサイトでは触れない).

3. 画像変換モデルでの活用

同じく,セマンティックセグメンテーションでよく使用されるネットワーク構造でも,Encoder-Decoderモデルを構成することが多い.ただしAutoEncoderと違い,入出力は(同画像サイズの)別画像同士なので,同画像同士でAutoencodingするわけではないという違いに注意されたい.

また,セマンティックセグメンテーションの逆の方向の意味画像->画像間の変換を行う pix2pixなどの画像対画像変換 (Image-to-Image Translation)でも,Encoder-Decoder モデルを標準的に使用する.ならびに,画像復元や超解像などの各種の画像補間 (画像処理で言う「逆問題」)を,Deep Learningでデータドリブンに解く場合などにおいても,Image-to-Image Translationと同じく入出力が同サイズの画像でその間の変換具合を学習させるので,Encoder-Decoderモデルのネットワークを用いる.

関連記事:

4. 系列変換モデルでの活用

一方,近年音声認識やText-to-Speechに機械翻訳などでよく用いられる,系列変換モデル(seq2seq, Transformer)もニューラルネットワークによるEncoder-Decoderモデルの1種である.ただし,アテンション機構を用いる場合,Encoder-Decoder間の各層間がかなり密に(スキップ構造やアテンション重みを通じて) お互い繋がっており,EncoderとDecoderが分離独立していないで複雑かつ適応的に作用する.その意味では,古典的な動画や音楽ファイルなどの圧縮伝送目的の Encoder Decoderが完全に分離したEncoder-Decoderとは異なる性質を持つと言える.

References

  • [1] Geoffrey E Hinton and Richard S Zemel. Autoencoders, minimum description length, and helmholtz free energy. In NIPS, 1994.
  • [2] D. P. Kingma and M. Welling. Auto-encoding variational bayes. In ICLR, 2014

外部参考サイト