注意:この記事にはゲーム「Undertale」のネタバレが含まれています。
7月10日までSteamサマーセールで382円なのでUndertaleをやろう!
環境
Windows10
Anaconda 2019.03
Tensorflow-gpu 1.14.0
CUDA 10.1 update1
動機、目的
undertaleのアマルガム
ゲーム「Undertale」にはアマルガムと呼ばれるモンスター群がいる。
ゲームに出てくるモンスターの一部分をつなぎ合わせたり混ぜ合わせたりしたもので、
「ぐちゃぐちゃ」という言葉がぴったりの形状をしている。
こんなの。
DCGAN
DCGANは流行りのディープラーニングを利用した画像生成手法の一つ。
DCGAN-tensorflow github
ソースコードが公開されており、データを用意して入力するだけで画像生成ができます。(チューンナップとかもできそう)
多くの方がアニメやゲームの画像で試されています。
(参考にさせていただきました。ありがとうございました!)
GANについて概念から実装まで ~DCGANによるキルミーベイベー生成~
DCGANでポケモンとアイマスを作成したった
データが少ない状態で学習すると、過学習を起こしたり、名状しがたい画像が生成されるようです。
この2つから
-Undertaleのモンスター画像でDCGANしたら新しいアマルガムが生成できるのでは?
-教師データを超少なくすることで名状しがたいぐちゃぐちゃが生まれる?
と考えた
データセット
https://gamepedia.jp/undertale/archives/97
こちらからモンスター画像を拝借しました。
全50枚で動かそうとしたところ、
「データ画像は最低64枚以上必要」
と言われたので、50枚をそれぞれ複製して100枚に(何か加工すべきなんだろうなと思うがひとまずこれで)
結果
Epoch数は5000でやりました。
200Epoch
ぐちゃぐちゃはしてますが、モンスター感が無い。
800Epoch
よく見ると頭、胴、足のように分かれている?
1400Epoch
過学習し始めたのか、「これあのモンスターそのものじゃん!」って画像が出てきた。
1600Epoch
アマルガムのようなものができた。
Epoch数上げても大きな変化が見られなかった地帯。
4600Epoch
4400Epochと4800Epochは上述の2000,3000,4000Epochのような画像だったが、4600だけ得体の知れない画像が生成されていた。何が起こったのだろうか。
結論
アマルガムっぽいのは作れたのか?
改善案
-出力をグレースケールにする
-教師データをゲームのスクリーンショットから取ってくる(モンスターは細かく動いている→頑張ればもっと多くのデータとれる)
-パラメータのチューニング(これはぐちゃぐちゃなものを作りたい目的なのでチューニングを狂わしたらどうなるのかな?)