ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

ゼロから作るDeep Learning ❺ ―生成モデル編

ずっと首を長くして待っていたゼロから作るDeep Learning ❺ ―生成モデル編を読みました。

www.oreilly.co.jp

今間までのゼロからシリーズに比べるとコード少なめ、数式多めです。

全体の構成としては、確率統計のおさらいから、正規分布、GMM、ニューラルネットワークと順に説明していきます。ここまで前半。後半はVAEの説明、実装から入り、拡散モデルへと話が進んでいきます。

数式の説明はすごく丁寧なのですが、やはり難しいと感じました。完全に理解するためには、あと何周かしないと駄目そうでした。

コーディング部分は、実装上のテクニックよりは、出てきた数式をどうPythonに実装するかがメインです。

実際に手を動かして、拡散モデルの一部を動かすことができます。 例えばこれが拡散過程の可視化部分です。

まずは普通にループで100回ノイズを入れる所から入り、ループを使わずにノイズを入れる仕組みなどがわかりやすく書いてあって驚きました。 コードを動かす場合、CPUのみだと厳しいです。学習が出てきたらColabのGPUインスタンスを使うのをお勧めします。

最後はいざ絵を作るぞって手前で終わってしまいますが、そこまででもお腹いっぱいになりました。その先があっても多分理解できなかったと思います。

Deep Learningブームの初期で勉強したVAEが生成モデルの中心となっているところ、そこが驚きとともによく分かりました。

https://www.tensorflow.org/static/tutorials/generative/images/cvae_latent_space.jpg?hl=ja

https://www.tensorflow.org/tutorials/generative/cvae?hl=ja から、まさかここから今の生成系AIにつながるとは。

目先のお絵かきではなく、生成モデルについてしっかりと考え方を知りたい人にお勧めです。