精緻な画像生成だけでなく、テキストから画像を生成するような用途にも応用できる「拡散確率モデル」。データを生成するのに時間がかかるなど課題もまだ存在するが注目度は高い。今後は、画像・音声などの高次元なデータの生成など、多くの領域での応用が期待されている。

 深層学習を用いて訓練データにない新しいデータを生成する深層生成モデルの研究は近年非常に速いスピードで進んでおり、これまでにさまざまな学習アルゴリズムが提案されてきた。例えば、データを生成する生成器と、訓練データと生成器によって生成された偽のデータを見分ける識別器の2つを戦わせることで、訓練データと見分けのつかないほど精緻なデータの生成を可能にする敵対的生成ネットワーク(GAN:Generative Adversarial Network)は、代表的な生成モデルの学習アルゴリズムの1つである。深層生成モデルの研究の発展により、従来は生成が難しかった画像・音声などの高次元なデータを精緻に生成することが可能となり、さまざまな領域で応用が期待されている。

拡散確率モデルとは

 今回紹介するのは、2020年に提案され、大きく注目を集めている「拡散確率モデル」と呼ばれる深層生成モデルだ。アイデアは非常にシンプルで、まず画像などのデータに少しずつノイズを加えていく過程(拡散過程)を考える。すると、データはノイズによって少しずつ元の情報を失っていき、最終的には元の情報を完全に失ったノイズそのものになってしまうことが想像できるだろう。実際、徐々に加えていくノイズの大きさをうまく調整することで、データは最終的に平均0、分散1の正規分布に従うノイズに収束していくことが知られている。では、もしこのノイズを加えていく過程を逆向きにたどることができたらどうなるだろうか? つまり、完全なノイズの状態から、ノイズを少しずつ除去していくことができれば、元のきれいなデータを生成することができるはずだ。このノイズを除去する過程を深層ニューラルネットワークでモデル化し、うまく学習することができれば、平均0、分散1の正規分布からノイズを発生させ、それをモデルによって逐次的にノイズを除去していくことで、新しい画像の生成が可能になるというわけだ。

拡散確率モデルの概要(i)
拡散確率モデルの概要(i)

拡散確率モデルの学習

 では、ノイズを除去する過程をモデル化した拡散確率モデルは、どのように学習すればよいだろうか? 一般に、ノイズを加えていく過程は正規分布のような確率分布を用いて簡単に表現することができるが、その逆のノイズを除去していく過程を数式で表現することは難しい。しかし、もしノイズを加えていく過程において、そのノイズが十分に小さいガウシアンノイズ(正規分布に従うノイズ)である場合には、その逆の過程もまた正規分布でうまく近似できることが知られている。そこで、拡散確率モデルでは通常、ノイズを除去する過程をN(μ(x_t),σ^2(x_t))という正規分布でモデル化する。ただし、μとσ^2は深層ニューラルネットワークで定義される関数である。このニューラルネットワークのパラメーターを更新していくことで、モデルの学習を行う。学習では、ノイズを加えたデータをモデルで復元した際の誤差がなるべく小さくなるようにパラメーターを更新していく。これにより、ノイズを除去していく過程をモデルとして得ることができる。

この記事は会員限定(無料)です。

有料会員になると全記事をお読みいただけるのはもちろん
  • ①2000以上の先進事例を探せるデータベース
  • ②未来の出来事を把握し消費を予測「未来消費カレンダー」
  • ③日経トレンディ、日経デザイン最新号もデジタルで読める
  • ④スキルアップに役立つ最新動画セミナー
ほか、使えるサービスが盛りだくさんです。<有料会員の詳細はこちら>
4
この記事をいいね!する