logo

生成モデル 📂機械学習

生成モデル

概要

我々が持っているデータが従う確率分布を正確に把握することは、多くの応用分野で重要な問題であるが、非常に難しい問題でもある。例えば、人の顔写真の確率分布とその分布をサンプリングする方法を正確に知っているならば、その分布からデータをサンプリングするたびにそれらしい人の顔写真を得ることができる。当然ながらこのようなことはほとんど不可能である。多くの難しい問題が簡単な問題を解くことから始まるように、生成モデルとは与えられた(=知っている=簡単な)分布から知りたい(=知りたがっている=難しい)分布を近似する方法を指す。

定義

データ集合(ランダムサンプル) $\left\{ y_{j} \right\}$が従う未知の確率分布を $Y$とする。データ集合 $\left\{ x_{i} \right\} \sim X$がよく知られた確率分布 $X$に従うとする。このとき次のような関数 $f$、または $f$を探す方法論を生成モデルgenerative modelと呼ぶ。

$$ f : \left\{ x_{i} \right\} \rightarrow \left\{ y_{j} \right\} $$

説明

簡単な分布 $X$として最も頻繁に使用されるのは、やはり正規分布である。それゆえ生成モデルを簡単に説明するならば、正規分布から他の未知の分布に従うデータを抽出する方法を見つけることであると言える。最近ではニューラルネットワークを利用した生成モデルが多く研究されている。ニューラルネットワークとディープラーニングを利用した生成モデルであることを明確にする際には、ディープ生成モデルdeep generative modelsと呼ばれることもある。

定義を満たす $f$を見つけられれば、 $x_{i}$を抽出するのは容易なので $y_{i} = f(x_{i})$を生成することができる。

種類

  • オートエンコーダー
    • 変分オートエンコーダー(VAE, Variational Autoencoder)
  • 生成的敵対ネットワーク(GAN, Generative Adversarial Network)
  • 拡散モデル(Diffusion Models or Diffusion Probabilistic Models)
    • DDPM(デノイジング拡散確率モデル)
  • Deep Image Prior