🤼♂️
なんで見ていない画像を生成できる?
前書き
飲み会で、画像生成AIがなんで見ていない画像(学習データ以外)を生成できるん?聞かれたので答えたんだけど。
GANでも説明すればよかったなと思い、ここで書きます。
GANでできるの理由
- 以下はGAN(敵対的生成モデル)のサーベイ論文からとってきた図です。
- ここで画像作っているのはGのGeneratorです。Realって画像が学習データですが、直接みていません。なので、作るうえで逆に全く同じ画像になるとは直感的に反するかと思います。つまり、見ていない画像を作ることになる。
- ただ、DのDicriminator(画像が本物か偽物か判断できるように学習する)から関節的に学習データに関する情報は学ぶことになるとは思いますが。
いろんなモデルで言える理由
- 例えば1億枚の写真見ることによって、1枚1枚の個別データでなく、全体的に存在する分布を学習することができる。その分布からサンプリングで、実際の1億枚のデータ以外が出力できる。
- これは拡散モデル、変分オートエンコーダー、LLM(自己回帰)を画像に適用したAR,VARにも言える。
GANを見直したところ
- 以下の図の右のARは画像をブラウン管TVの走査線みたいな順で予測していたのを、左のVARは解像度高くして予測していく形にして、速く、精度あげた有名なのがある。
- 右から2列目の#step数で、GANは1。この点においては圧倒的と思った。
- 今読んでいる生成AIの本にはGANは出てきてないが、またポピュラーになるかもな?
ついでに思ったこと
- オートエンコーダーは生成モデルでないって言われると思うけど、オートエンコーダーのデコーダー使っても画像は生成できると思う。
- 題は、ランダム、カオスとかになってしまう実際の写真には似つかわない画像になりがちなだけで。芸術的にはむしろおもろい?
あとがき
記事よかったら、いいね♡ 押してね!
Discussion