機械学習のモデルは、入力からラベルを直接予測する「識別モデル」と、データそのものの分布を学習する「生成モデル」に大別できます。この項目では両者の違いを整理したうえで、深層生成モデルの主要なアプローチである自己回帰モデル・拡散モデル・フローベース生成モデルの考え方を学びます。
📖 概要
分類問題を例にすると、識別モデルは入力xが与えられたときのラベルyの条件付き確率 p(y|x)(あるいは決定境界そのもの)を直接モデル化します。一方、生成モデルはデータの分布 p(x) や同時分布 p(x, y) をモデル化し、学習した分布から新しいデータをサンプリング(生成)することができます。「境界を引く」ことに特化するのが識別モデル、「データがどう生まれるか」を表現するのが生成モデル、という対比で理解すると見通しがよくなります。
深層学習の発展により、高次元で複雑な画像・音声・テキストの分布を表現する深層生成モデルが実用化されました。その代表的な設計方針として、確率の連鎖律で分布を分解して1要素ずつ生成する自己回帰モデル、ノイズ除去の過程を学習する拡散モデル、可逆変換により尤度を厳密に計算できるフローベース生成モデルがあり、さらにVAEやGAN(それぞれ別項目で扱います)が並びます。それぞれ「尤度を計算できるか」「サンプリングは速いか」などの性質が異なります。
🔍 キーワード解説
識別モデル
識別モデルは、入力xからラベルyへの対応関係、すなわち条件付き確率 p(y|x) または識別関数を直接学習するモデルです。ロジスティック回帰、SVM、分類用のニューラルネットワークなどが該当します。クラス分類などの予測タスクに必要な情報だけを学習するため、一般に予測性能を高めやすい一方、データxの分布自体は表現しないため、新しいデータを生成することはできません。
生成モデル
生成モデルは、データの分布 p(x) や同時分布 p(x, y) をモデル化するアプローチです。学習した分布からサンプリングすることで新しいデータを生成できるほか、ベイズ則 p(y|x) = p(x|y)p(y) / p(x) を通じて分類に使うこともできます(ナイーブベイズはその古典例です)。深層学習では、VAE・GAN・自己回帰モデル・フローベース生成モデル・拡散モデルなどが深層生成モデルと総称され、画像生成・音声合成・文章生成などに広く使われています。
自己回帰
自己回帰モデルは、確率の連鎖律を用いて同時分布を p(x) = p(x1) p(x2|x1) p(x3|x1, x2) ... のように条件付き確率の積へ分解し、「これまでに生成した要素を条件として次の要素を予測する」ことを繰り返してデータを生成するモデルです。画像を画素単位で生成するPixelRNN/PixelCNN、音声波形を1サンプルずつ生成するWaveNet、次のトークンを予測する言語モデル(GPTなど)が代表例です。尤度を厳密に計算でき学習が安定している一方、生成が逐次的になるためサンプリングに時間がかかりやすいという性質があります。
拡散モデル
拡散モデルは、データに少しずつガウスノイズを加えて最終的に純粋なノイズへ壊していく「拡散過程(順過程)」を考え、その逆向きにノイズを段階的に除去してデータを復元する「逆過程」をニューラルネットワークで学習する生成モデルです。生成時はランダムなノイズから出発し、学習したノイズ除去を多数ステップ繰り返すことで画像などを生成します。学習が安定しており、高品質・多様なサンプルを生成できることから、近年の画像生成モデルの主流の1つになっています。一方、多段階のステップを要するため生成コストが大きくなりやすく、ステップ数削減の工夫が研究されています。
フローベース生成モデル
フローベース生成モデル(正規化フロー)は、単純な分布(標準ガウス分布など)に従う潜在変数zを、可逆な変換fによってデータx = f(z)へ写すモデルです。変換が可逆であるため、変数変換の公式(ヤコビアンの行列式を用いる)によりデータの対数尤度を厳密に計算でき、最尤推定で直接学習できます。逆変換 z = f^-1(x) も計算できるため、データを潜在空間へ正確に写像できる点も特徴です。RealNVPやGlowが代表例です。可逆性とヤコビアン計算の効率を保つ必要があるため、変換の設計に制約がある点がトレードオフです。
📝 試験でのポイント
- 「p(y|x)を直接モデル化するのはどちらか」「データ生成ができるのはどちらか」という識別モデルと生成モデルの対比は最頻出です
- 自己回帰モデルの連鎖律による分解式と、「生成が逐次的で遅い」という性質を結びつけて覚えましょう(WaveNet・GPTとの関連も問われます)
- 拡散モデルは「ノイズを加える順過程」と「ノイズを除去する逆過程の学習」という2段構えの説明を選ばせる問題が想定されます
- フローベース生成モデルの特徴は「可逆変換」と「尤度の厳密な計算が可能」という点で、VAE(変分下限による近似)やGAN(尤度を計算しない)との違いが問われやすいところです
- 各生成モデル(自己回帰・フロー・拡散・VAE・GAN)を「尤度計算の可否」「サンプリング速度」「学習の安定性」の観点で比較整理しておきましょう
📚 まとめ
識別モデルは p(y|x) を直接学習して予測に特化し、生成モデルはデータの分布そのものを学習して生成を可能にします。深層生成モデルには、連鎖律で1要素ずつ生成する自己回帰モデル、ノイズ除去過程を学習する拡散モデル、可逆変換で厳密な尤度計算を実現するフローベース生成モデルなどがあり、性質のトレードオフが異なります。次項のオートエンコーダ(VAE)・GANと合わせて、生成モデルの全体像を比較できるようにしておきましょう。
