自己符号化器は、入力データを低次元の潜在表現に圧縮した後、元のデータを復元するように学習するニューラルネットワークモデルである。教師なし学習によりデータの本質的特徴を抽出する。
1.1 アーキテクチャ
エンコーダとデコーダの二つの部分から構成され、両者は中間の潜在変数を介して接続される。
1.1.1 エンコーダ
エンコーダは入力データを低次元の潜在変数に写像する関数である。全結合層や畳み込み層を用いて非線形変換を行い、出力層の次元が潜在空間の次元となる。
1.1.2 デコーダ
デコーダは潜在変数から元のデータを復元する関数である。エンコーダと対称的な構造を持つことが多く、活性化関数や層数が対応する。
1.2 学習過程
学習は再構成誤差を最小化することで行われ、勾配降下法と誤差逆伝播が用いられる。
1.2.1 再構成誤差の最小化
損失関数には平均二乗誤差や交差エントロピーが使われる。目標は入力と再構成の差を最小にすることである。
1.2.2 勾配降下法と逆伝播
誤差逆伝播により各層の重みを更新する。ミニバッチ確率勾配降下法が一般的で、学習率や最適化手法(Adamなど)が調整される。
自己符号化器には様々なバリエーションが存在し、目的に応じて設計される。
2.1 変分自己符号化器(VAE)
確率的生成モデルとしての自己符号化器であり、潜在空間に分布を仮定する。
2.1.1 確率的潜在変数モデル
エンコーダは潜在変数の平均と分散を出力し、デコーダはそこからサンプリングされた値からデータを生成する。これにより潜在空間が連続的で解釈可能になる。
2.1.2 再パラメータ化トリック
確率的サンプリングを微分可能にする手法。サンプリングをノイズの線形変換として表現し、誤差逆伝播を可能にする。
2.2 スパース自己符号化器
潜在表現にスパース性(ほとんどのユニットが非活性)を強制するモデル。
2.2.1 スパース正則化
損失関数にスパース正則化項を追加し、潜在ユニットの平均活性度を小さく保つ。L1正則化などが用いられる。
2.2.2 KLダイバージェンスによる制約
目標活性度と実際の活性度の分布間のKLダイバージェンスをペナルティとして加える。これにより特定のユニットのみが応答するよう学習される。
2.3 デノイジング自己符号化器
入力に意図的にノイズを加えたデータから元の清浄なデータを復元するように学習する。
2.3.1 入力へのノイズ付加
ガウスノイズやマスキングなどで入力データを破損させ、その状態から元のデータを再構成する。
2.3.2 ロバストな特徴学習
ノイズに対して頑健な特徴表現を獲得する。過学習を防ぎ、汎化性能が向上する。
2.4 畳み込み自己符号化器
画像データに特化した構造で、畳み込み層とプーリング層を利用する。
2.4.1 画像データへの適用
エンコーダで畳み込みとプーリングにより空間情報を圧縮し、デコーダで転置畳み込みやアップサンプリングにより復元する。
2.4.2 プーリング層の利用
最大プーリングや平均プーリングで特徴マップの次元を削減する。デコーダでは対応するアンプーリングが行われる。
2.5 その他のバリエーション
他にも多くの派生モデルが存在し、特定の課題に対応する。
2.5.1 コントラクティブ自己符号化器
潜在空間のヤコビアンノルムを正則化項として加える。これにより入力の微小変化に対して潜在表現が滑らかに変化するよう学習される。
2.5.2 変分自己符号化器の拡張(β-VAEなど)
VAEの損失に重みβを導入し、潜在変数の独立性(disentanglement)を促進する。β-VAEはより解釈可能な潜在空間を得る。
自己符号化器は多様な実践的タスクに利用される。
3.1 次元削減と可視化
高次元データを低次元の潜在空間に写像し、可視化や解釈を容易にする。
3.1.1 t-SNEとの比較
t-SNEは近傍関係を保持する次元削減法だが、自己符号化器は非線形写像を学習可能で、新しいデータへの適用が容易である。t-SNEは可視化に特化し、自己符号化器はより汎用的な表現学習に向く。
3.1.2 潜在空間の解釈
潜在空間内の各次元がデータの意味的特徴に対応することがある。例えば顔画像では、表情や向きの変化が特定の次元に表現される。
3.2 異常検知
再構成誤差の大きさを異常スコアとして利用する。
3.2.1 再構成誤差に基づく異常スコア
正常データのみで学習した自己符号化器は、異常データに対して大きな再構成誤差を示す。閾値を設定して異常を判定する。
3.2.2 産業用データでの事例
製造ラインのセンサーデータや医療画像の異常検出に応用される。正常パターンのみを学習し、異常な振る舞いを早期に発見する。
3.3 ノイズ除去とデータ補完
ノイズや欠損を含むデータから元の情報を復元する。
3.3.1 画像のノイズ除去
デノイジング自己符号化器を画像に適用し、ガウスノイズや salt-and-pepper ノイズを除去する。学習により自然な復元が可能になる。
3.3.2 欠損値の補完
データの一部が欠損している場合、自己符号化器で欠損箇所を推定する。入力にマスクを付与し、完全なデータを再構成するよう学習する。
3.4 生成モデルとしての利用
潜在空間からサンプリングすることで新しいデータを生成する。
3.4.1 潜在空間からのサンプリング
VAEでは潜在変数に正規分布を仮定し、ランダムノイズからデコーダで画像や文章を生成する。これにより多様な出力が得られる。
3.4.2 データ拡張
訓練データが少ない場合、自己符号化器で生成したサンプルを追加して機械学習モデルの性能を向上させる。データセットの多様性を補う。
3.5 特徴学習と転移学習
自己符号化器を事前学習として利用し、他のタスクに適用する。
3.5.1 事前学習としての自己符号化器
大量のラベルなしデータで自己符号化器を訓練し、エンコーダ部分を特徴抽出器として転用する。その後、ラベルありデータで追加学習する。
3.5.2 表現の再利用
獲得した潜在表現を分類や回帰タスクの入力として用いる。タスク間で共通する特徴を学習することで、少ないデータでも高い性能を発揮する。
自己符号化器にはいくつかの課題があり、それを克服するための研究が進んでいる。
4.1 再構成の限界
再構成のみを目的とすると、表現がデータの多様な情報を捉えきれない場合がある。
4.1.1 過学習の問題
訓練データに過度に適合し、新しいデータに対して再構成性能が低下する。正則化やノイズ付加が対策として有効である。
4.1.2 表現の品質と汎化
潜在表現がタスク依存になることがあり、汎用的な特徴抽出には限界がある。アーキテクチャや損失関数の工夫が必要である。
4.2 計算コストとスケーラビリティ
深層化や大規模データへの対応に伴い計算資源が課題となる。
4.2.1 大規模データへの対応
訓練データが膨大な場合、学習に時間がかかりメモリ消費も大きい。ミニバッチサイズの調整やデータ拡張の効率化が重要である。
4.2.2 高速化手法
バッチ正規化、残差接続、注意機構の導入により学習を安定化・高速化する。ハードウェアアクセラレーション(GPU、TPU)も活用される。
4.3 近年の動向
自己符号化器は他の生成モデルとの融合や進化を遂げている。
4.3.1 変分自己符号化器の進化(NVAE, VQ-VAE)
NVAEは階層的な潜在変数と深いエンコーダ・デコーダにより高品質な生成を実現する。VQ-VAEは離散潜在変数を用い、テキストや画像の生成で優れた結果を示す。
4.3.2 拡散モデルとの関係
拡散モデルは段階的にノイズを加え除去する生成過程を持つ。自己符号化器と同様に再構成が基本であり、両者の原理的な関連性が研究されている。
4.3.3 深層生成モデルの中での位置づけ
自己符号化器はGANや拡散モデルと並ぶ主要な生成モデルである。特に潜在表現の解釈性や異常検知など独自の強みを持ち、今後も応用が期待される。