生成AI資格対策(生成AIパスポート+G検定)
生成モデル
境界を引くのではなく、存在しない絵を作る
これまで扱ってきた画像分類のようなモデルは、入力を受け取って正解のラベルを当てる識別モデルでした。仕事は境界線を引くことです。
それに対して生成モデルは、学習データがどのような分布から生まれてきたのかを学び、その分布から新しいデータを作り出すことを目的にします。猫の画像を大量に学習して、実在しない猫の画像を作れるようになる、という形です。対象は画像に限らず、音声、文章、分子構造にも及びます。G検定で名指しされるのは、以下の3つの系統です。
贋作者と鑑定士を競わせる
GAN(Generative Adversarial Network、敵対的生成ネットワーク)は、2つのネットワークを競わせる仕組みです。生成器(Generator) はランダムな数値から偽のデータを作り、識別器(Discriminator) は与えられたデータが本物か偽物かを判定します。生成器は識別器をだませるように、識別器はだまされないように学習するので、この関係が敵対的と呼ばれます。贋作者と鑑定士がいたちごっこを続けるうちに贋作の質が上がっていく、というたとえがよく使われます。
鮮明な画像を作れる一方、学習が不安定になりやすい弱点があります。代表的な失敗がモード崩壊(モードコラプス)で、生成器が識別器をだませる少数のパターンばかり出すようになり、多様性が失われる現象です。派生としては、畳み込みを取り入れて画像生成の品質を上げた DCGAN、対になっていない2つの画像群の間で相互に変換を学ぶ CycleGAN が知られています。CycleGAN は、変換して戻したときに元に戻るという制約を使う点が特徴です。
分布を経由する VAE と、ノイズを取り除く拡散モデル
VAE(Variational Autoencoder、変分オートエンコーダ)は、オートエンコーダを生成に使えるよう拡張したものです。オートエンコーダはエンコーダで入力を小さな表現へ圧縮し、デコーダで元に戻す仕組みでした。VAE はここを変えて、エンコーダが入力を潜在変数の分布へ写します。1点ではなく、広がりを持った分布として表現するわけです。デコーダはその分布から取り出した値を使って復元します。こうすると潜在空間が連続になり、近い点からは近いデータが生成されます。潜在空間の値を少しずつ動かせば、生成される画像がなめらかに変化します。生成物は GAN に比べてぼやけやすい傾向がありますが、学習は安定しています。
拡散モデル(Diffusion Model)は、2つの過程で考えます。データに少しずつノイズを加えて最終的にただのノイズにする順過程と、ノイズから少しずつノイズを取り除いてデータを復元する逆過程です。学習するのは逆過程、すなわちノイズを取り除くやり方です。学習後は、完全なランダムノイズから出発して逆過程を何度も繰り返し、新しいデータを作り出します。敵対的な駆け引きがないためモード崩壊が起きにくく、高品質で安定しますが、逆過程を何ステップも繰り返すぶん生成に時間がかかります。近年の画像生成サービスの多くがこの系統です。
| 手法 | 学習のしかた | 長所 | 短所 |
|---|---|---|---|
| GAN | 生成器と識別器を競わせる | 鮮明な生成物 | 学習が不安定、多様性を失いやすい |
| VAE | 潜在変数の分布へ写して復元する | 学習が安定、潜在空間が連続 | 生成物がぼやけやすい |
| 拡散モデル | ノイズを加える過程の逆を学ぶ | 高品質で学習が安定 | 生成に時間がかかる |
試験ではこう問われる
出題者は仕組みを言い換えて手法名を選ばせてきます。キーワードと手法の対応を固定しておくのが最も効きます。
- 「敵対的」「2つのネットワークが競い合う」「生成器と識別器」とあれば GAN です
- 「潜在変数」「エンコーダとデコーダ」「潜在空間が連続」とあれば VAE です
- 「ノイズを除去する過程を学習する」「ノイズから徐々にデータを作る」とあれば拡散モデルです
- 「生成器が同じようなデータばかり出すようになる現象」はモード崩壊で、勾配消失や過学習と並べて迷わせてきます
- 「対になっていない画像の組で変換を学ぶ」は CycleGAN です。DCGAN と入れ替えた選択肢に注意します
- 拡散モデルの短所として生成が遅いことが問われます。品質が低いという説明は誤りです
復習ミニクイズ
「ランダムなノイズから出発し、少しずつノイズを取り除く過程を繰り返してデータを生成する」と説明される手法はどれですか。