エンコーダーデコーダー
読み: えんこーだーでこーだー
入力データを低次元の潜在表現に圧縮するエンコーダーと、その潜在表現から出力を復元するデコーダーで構成されるニューラルネットワークアーキテクチャ。
エンコーダーデコーダー (Encoder-Decoder) は、入力を段階的に圧縮して特徴を抽出するエンコーダー部と、圧縮された特徴マップから目的の出力を再構成するデコーダー部の 2 段構成をとるネットワーク設計パターンである。画像処理ではセマンティックセグメンテーション、超解像、画像生成などのタスクで採用されている。
エンコーダーは畳み込みとプーリングを繰り返し、空間解像度を下げながらチャンネル数を増やす。例えば 256x256x3 の入力画像を 8x8x512 の特徴マップまで圧縮する。デコーダーはアップサンプリング (転置畳み込みやバイリニア補間) を用いて空間解像度を元に戻し、最終的にタスクに応じた出力を生成する。
- U-Net: 生物医学画像のセグメンテーション向けに設計されたアーキテクチャで、エンコーダーの各段階からデコーダーへスキップ接続を設けることで細部情報の損失を防ぐ。原論文の構成例では 572x572 の入力に対し 388x388 のセグメンテーションマップを出力する
- SegNet: エンコーダーのプーリングインデックスをデコーダーで再利用し、パラメーター数を抑える
- ボトルネック: エンコーダーとデコーダーの接続部分は最も空間解像度が低く、画像全体のグローバルな文脈情報を凝縮して保持する
エンコーダーに ImageNet で事前学習済みの ResNet や VGG を利用する転移学習の構成もある。デコーダーの設計によって出力の解像度や精度が変わる。