流行のディープラーニングでアイドルを錬成するぞという話です.
内容はだいたいこの辺に書いてあることを実装してみたというだけになります
- Generative Adversarial Nets
- Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
各層をこういう層にするといいよだとか,ハイパーパラメータをこうするとうまくいくよというところまで書いてあって親切.
とりあえず目的を画像の生成ということにします.
このGANというモデルは,それぞれ$-1〜1$の値を取るランダムなベクトル$z$から画像を生成するニューラルネット$G$と,画像が$G$から生成されたものなのか,それとも教師データの画像なのかを判別するニューラルネット$D$を交互に学習させることでお互いの性能を上げていくという仕組みになっています.
これで何ができるようになるかというと,$z$のとり方によって本物じゃないけど本物と判別されそうな画像をたくさん作れるようになるわけです.
で,$z$に対して色々演算すると画像の足し算やら引き算やらが出来るようになるというわけです.
ということは,存在するアイドルに近い画像を生み出す$z$を学習して特定すれば,任意のアイドルを足したアイドルが得られるわけです.素敵!!!!
ものすごいアホ実装ですが,TensorFlowで実装したのでjupyter notebookをおいておきます.
https://github.com/chahan69/DCGAN
データセット
デレのちっちゃい正方形の顔面183キャラ
途中経過
50000エポックぐらい |
GPUをくれ!学習が遅い...
論文だと4段でそれぞれ1024-512-256-128-3次元にしてくれと書いてあるところを,
3段で64*64の画像を256-128-64-3次元で出してるのに結構遅い.
あとデータセットが少ないので(?)どうしても元の画像に近いもの以外は崩壊しがちである
ということでデータセット増やしたり色々やってみるので次回で報告します.
ぐだぐだでおしまい.
続き
こうなりました
Tweet
0 件のコメント:
コメントを投稿