1. 自己符号化器(AE)とは?
AEは、エンコーダ(符号化器)とデコーダ(復号器)という2つのパーツからなるニューラルネットワークのシステムです。
- エンコーダ: 入力データをギュッと圧縮し、本質的な「特徴量(潜在変数)」を抽出します。
- デコーダ: その特徴量だけを頼りに、元のデータを復元(出力)します。
主な用途
- 次元圧縮: 膨大なデータから重要な情報だけを抜き出す。
- ノイズ除去: 重要な特徴だけを残し、不要なザラつきを削ぎ落とす。
- 異常検知: 「普通」の復元に失敗するデータを見つけて異常を判定する。
2. AE(自己符号化器)の数式と逆伝播の仕組み
AEは、入力データを圧縮する「エンコーダ」と、それを復元する「デコーダ」の2つの関数が直列に繋がった構造をしています。
1. AEの基本数式
順伝播のプロセスは、以下の2つのステップで構成されます。潜在変数 zは、xから抽出された特徴量のことです。
- エンコーダ: z = fθ(x)(入力 x から潜在変数 z を抽出)
- デコーダ: x' = gφ(z)(潜在変数 z から復元値 x' を生成)
このシステムの目的は、入力と出力の差を最小にすることです。そのための損失関数は以下のように定義されます。
Loss = ||x - x'||² = ||x - gφ(fθ(x))||²
2. 逆伝播(Backpropagation)の流れ
AEの学習は、デコーダで出力された x' が元の x とどれだけズレているかを計算し、その「責任」を各ネットワークのパラメータに配分することで行われます。
- 誤差の発生: 出力層において、入力そのものを教師データとして x と x' の差分(MSEなど)を計算します。
- デコーダの重み更新: 勾配がデコーダを逆流し、パラメータ φ を修正します。
- エンコーダへの伝播: 誤差の情報は潜在変数 z を通り抜けてエンコーダへと伝わります。これにより、エンコーダのパラメータ θ が「より復元しやすい特徴を抽出するように」更新されます。
ポイント: AEはVAEと異なり、潜在変数が決定的な(乱数を含まない)「点」として定まります。そのため、特別な工夫を必要とせず、通常の連鎖律を用いてシンプルに逆伝播を計算できるのが特徴です。
3. 変分自己符号化器(VAE)への進化
VAEも「圧縮して戻す」という基本構造は同じですが、最大の違いは「確率分布」としてデータを扱う点にあります。AEは「点」でデータを記憶しますが、VAEは「エリア(分布)」で記憶します。
なぜVAEを使うのか?
最大の武器は「生成」です。潜在空間が確率分布で整理されているため、学習データにはない「中間的な値」をサンプリングしてデコーダに渡すことで、この世に存在しない新しいデータ(データの生成、補完、属性変更)を作り出すことができます。
この思想が、後のGAN(敵対的生成ネットワーク)や現在の画像生成AIの基礎となる拡散モデルなどへと続く、生成AI発展の大きな転換点となりました。
さらに、AEと同様に異常検知にも使われますが、VAEは「確率」として判定できるため、「このデータが正常である確率は○%」といった、より統計的に妥当な判断が可能になります。
4. VAEの損失関数の正体
VAEの学習に使われる数式には、非常に重要な2つの「願い」が込められています。
Loss = ||x - x'||² + DKL(q(z|x) || p(z))
第1項:再構成誤差(復元の精度)
エンコーダが抽出し、デコーダが戻した出力 x' と、元の入力 x の差を小さくする項目です。「元の情報を正確に保存せよ」という命令です。
これがないと: ぼんやりした画像しか出力できなくなり、元データが何だったか判別不能になります。
第2項:KLダイバージェンス(空間の整理)
エンコーダが作った確率分布を、理想的な分布(標準正規分布)に近づける項目です。これにより、潜在空間が整理され、似た性質のデータが近くに集まり、かつ空間全体が隙間なく連続的になります。
これがないと: 単なるAEと同じになり、潜在空間がスカスカになります。新しいデータを生成しようとしても、デタラメな出力しか得られません。
【E資格用】「変分下限(ELBO)とは?
VAEの目的は、データの真の分布 p(z|x) を求めることですが、これは計算困難です。(分母のp(x)の値を知ることができないため。p(x) は証拠(Evidence)と呼ばれ、データの周辺尤度を意味します)そこで、扱いやすい近似分布 q(z|x) を用意し、その形を少しずつ変えて(変分、変化させて)真の分布に近づけていきます。q(z|x)から z をサンプリングしています。この手法を変分推論と呼びます。
私たちが最小化している損失関数は、数学的には「負の変分下限(Negative ELBO)」と呼ばれます。この下限値を最大化(=損失(Loss)を最小化)することが、巡り巡って「本物に近いデータを生成する力」を最大化することに繋がっているのです。これを数式で言うと以下のような関係です。
Loss = - ELBO = ||x - x'||² + DKL(q(z|x) || p(z))
ELBOを導き出すときに利用されるのがイェンセン(Jensen)の不等式です。
数学的背景:なぜ「log が凹関数」だと下限がわかるのか?
VAEの核心である「変分下限(ELBO)」を導き出すには、対数関数 log が凹関数(上に凸の関数)であるという性質を利用します。ここではその数学的トリックを整理します。
1. 凹関数とイェンセンの不等式
対数関数 f(x) = log x は、グラフを描くと常に「上に凸」の形をしています。このとき、「期待値の対数」は、常に「対数の期待値」以上になるという性質があります。これをイェンセン(Jensen)の不等式と呼びます。Eは期待値(確率的に得られる値の、理論的な平均値)のこと。つまり、平均値を対数で取った値が、対数の平均値より大きくなること
log(E[X]) ≥ E[log(X)]
2. VAEへの適用:計算できない「証拠」を下から抑える
私たちが最大化したい「データ xの発生確率の対数(対数尤度)」は、潜在変数 z のすべての組み合わせを足し合わせた(積分した)「期待値の対数」の形をしています。
- 真の値(期待値の対数):
※ log の中に積分(期待値)が入っており、このままでは計算が極めて困難です。
- イェンセンの不等式を適用: log を積分の中に入れます。
- 変分下限(対数の期待値):

3. なぜ「下限」なのか
不等式によって、「真の値(左辺)は、少なくともこの計算可能な値(右辺)よりは大きい」ということが保証されます。この右辺こそがELBO(変分下限)です。
一言で言うと: 対数関数が「上に凸(凹関数)」だからこそ、計算しづらい真の値を、計算しやすい「下限値」で代用して最適化できるのです。この不等式の向きが、VAEが「下限」を最大化する根拠となっています。
【上級者向け】数式で追うELBOとKLダイバージェンスの導出
イェンセンの不等式によって導かれた右辺(ELBO)は、「データの対数尤度
と「近似事後分布 q(z|x) と真の事後分布 p(z|x) の間の距離(KLダイバージェンス)」の関係を表す形へと変形できます。その展開ステップを解説します。
1. 式変形の3ステップ
分数部分
を分解していくことで、KLダイバージェンス(
)を導出します。
ステップ1:同時確率を条件付き確率に分解する
確率の乗法定理より、同時確率
と変形します。
ステップ2:対数の性質で掛け算を分離する
の性質を使い、
を切り離します。
ステップ3:積分を整理してKLダイバージェンスを導出する
第1項は z に依存しない
を積分の外に出すと、確率の総和
となるため、
だけが残ります。第2項は分子分母を入れ替えることで、KLダイバージェンスの定義式が現れます。
3. 全体をまとめた1行コード
導出の結論: この式は、「対数尤度」から「真の分布とのズレ(KL項)」を引いたものが変分下限(ELBO)であることを示しています。KLダイバージェンスは常に0以上であるため、ズレが小さいほどELBOは対数尤度に近づきます。
【情報理論から導く】KLダイバージェンスの定義と数式展開
KLダイバージェンス(カルバック・ライブラー情報量)は、2つの確率分布 q(x) と p(x) が「どれくらい離れているか(異なるか)」を表す指標です。
1. 導出のベースとなる2つの概念
この式は、情報理論における「情報量(シャノンエントロピー)」の考え方から導き出せます。
- エントロピー H(q)(真の分布 q の驚き最小限度): ある事象が起きたときの「驚き」は
で表され、その平均値がエントロピーです。
- 交差エントロピー H(q, p)(予測分布 p を使ったときの無駄): 真の分布が q(x)なのに、予測分布 p(x) だと思い込んで予測・符号化したときの驚きの平均値です。
2. KLダイバージェンスの定義(差分をとる)
KLダイバージェンス
は、「予測分布 p を使ったときの驚き(交差エントロピー)」から「真の分布 q 本来の驚き(エントロピー)」を引いた「余分なコスト(無駄)」として定義されます。
3. 式変形による導出完了
対数の性質(
)を使って、2つの積分を1つにまとめます。
ポイント: KLダイバージェンスは常に0以上となります。これは「正しい分布を知っている状態(エントロピー)」よりも「間違った分布で予測する状態(交差エントロピー)」の方が必ず驚き(コスト)が大きくなることを意味しています。
5. AEとVAEの違いまとめ
| 特徴 |
AE(自己符号化器) |
VAE(変分自己符号化器) |
| 潜在変数の扱い |
決定的な「点」 |
確率的な「分布」 |
| 主な目的 |
圧縮・除去・検知 |
データの生成・補完 |
| 潜在空間の形 |
不規則に散らばる |
原点付近に美しく並ぶ |
6. AE/VAEは「隠れ層」を持つニューラルネットワーク
AEやVAEは、入力から出力までを繋ぐニューラルネットワークの一種です。その核心は、入力層と出力層の間に存在する「隠れ層(中間層)」にあります。
- ボトルネックとしての隠れ層: 入力よりも次元の小さい隠れ層を配置することで、AIはデータを強制的に圧縮させられます。これが「本質的な特徴」を見つけ出すための仕掛けです。
- 深層化(ディープ化): 隠れ層を何層も重ねることで、より抽象的で高度な特徴量を学習できるようになります。
結論: AEやVAEは、隠れ層(潜在空間)でのデータの扱い方を工夫することで、情報の圧縮や新しいデータの生成を実現しているニューラルネットワークそのものです。
リパラメトリゼーション・トリック:学習を可能にする工夫
VAEが生成モデルとして機能するためには、潜在空間でのサンプリングが不可欠です。しかし、単純にサンプリングを行うと「微分」ができず、逆伝播ができません。それで学習が止まってしまいます。それを解決したのが、以下の式のzのように微分可能にしたリパラメトリゼーション・トリックです。
z = μ + σ⊙ε (ε〜N(0, 1)):標準正規分布から発生させたノイズ(確率的なゆらぎ)
この工夫の効果
- 逆伝播の開通: 確率的な要素を外部ノイズ ε として分離することで、ネットワーク内の計算を決定論的なものに置き換えます。これにより、デコーダからエンコーダへ誤差を伝えることが可能になります。
- エンドツーエンドの学習: エンコーダが出力する「平均 」μと「分散 σ2」を、復元誤差に基づいて直接最適化できるようになります。
一言で言うと: 「サイコロを振る」という行為をネットワークの外に出すことで、AIが数学的に学習を続けられるようにした賢いハックです。