AIを一週間トレーニングしたら、素敵な世界を出力しだした
AI勉強1ヶ月目。風景画を生み出すAIをトレーニングしました。
トレーニング期間1週間ほど。
遠目にはボブ・ロスに戦いをいどめそうなレベルには、育ちました。
以下、AIがジェネレートした存在しない風景による、異世界紀行です。
カードゲームの地形カードや、ゲームの初期コンセプトアートとしては使えるレベルの画像を、無限に出力できるようになりました!
地形別のサンプル
平地
平野は安定して出力できます。多くはダート系なのですが複数種が混ざったり、麦、菜の花、茂みなどが生まれることもありました。
樹木のジェネレートに関しては、かなり安定したクオリティがでます。一方で、双子の木が生まれやすい傾向があり、この原因は謎です。
山嶺
山々。雲や水とセットで出力されることが多い印象です。切り立った岩山から、雪の被った霊峰までバリエーションをもって出力されました。
湖畔
水辺こちらもバリエーションは多め。ただ全体傾向として、手前に茂みや湿地、背景に山々という構図が多めなのが印象的でした。
海
海。波が長時間露出をしたような表現が多いです。これは、波の学習が中途半端で、高周波数帯が平均回帰を起こして潰れてしまっているのかな?と思います。背景に陸地や山が見えることが多いです。
氷や雪
雪、海や湖畔のバリエーションとして、周辺物が白くなるパターンが多く見られました。
モヤ
大好きな表現。こういう系がいっぱいでてくると幸せです。ある種一番バリエーションの多い表現でした。
町
個々の建物を学習するのは無理だったようで、パターン化が多くみられます。遠くから全体感でみると街なのですが、アップしてみると違うものが多かったです。
町と同様に個別事例が多すぎて学習するのが難しい模様。一方で、屋敷?のような文法を覚えたり、ビルと岩山と木が同一視されて廃墟のようなものが生まれやすいのが印象的でした。
以下学び
学習は素材が9割
学習データによい構図、良い光の素材をいれるほど、最終出力が構図や光を学習しました。雑な写真を雑にいれるほど、最終クオリティも雑な写真に。
「よい写真」「良い構図」などデータセット作成に、審美眼があると、既存研究よりよい結果がだしやすそうです。
テーマ特化型は高クオリティになりやすい
森だけ5000枚集めました。城だけ5000枚集めました。というデータセットの場合、学習がとても安定しそうです。
一方で、城、森、池、海、山などを総合的に学習させるのはかなり難しいようです。おそらく、画像をベクトル空間に分類するため、「城と森の中間」とか、実践にたえないどうでもいいベクトル空間が、確率的に随所に生まれてしまうことが原因っぽいです。
このため汎用学習をしたAIでは、ランダムに画像を生成するのではなく、「アタリの空間を探し、周辺に検討をつけて出力をする」というプロセスが必要そうです。ランダムに画像を作ると、「城と海の中間」みたいなベクトルスポットを引き当てて、ドロドロの画像が大量に生まれてしまいます。
「汎用学習させること」と「汎用出力させること」の間には、大きくステップが必要そうでした。
中間画像の多さがクオリティのキモ
上記のゴミとなる混合空間を避けるためには、「中間画像」として使える画像が多いほど安定しそうです。
たとえば、「平地」と「城」を学習させるだけでなく、「建設中の城」や「廃墟」「背の低い城」など、「平地と城の中間ベクトル近辺にある画像」をデータセットに増やすほど、平地〜城の間の空間は安定しそうです。
そんな感じで、AIの画像生成を勉強しはじめて、やく1ヶ月。ようやくお仕事でエンジニアさんと会話できなくもないレベルに到達しました。
データセットのZIP圧縮に10時間かかったことです。人生最長の圧縮。
いただいたサポートは、コロナでオフィスいけてないので、コロナあけにnoteチームにピザおごったり、サービス設計の参考書籍代にします。