お久しぶりです。空乃です。
気がつけばかなりこちらの活動を放置しておりましたね。
プライベートのことでここ数年バタバタとしておりました。
ここ数年間こちらに姿を見せていない間、主に本を読んでいました。
そして、今年は機械学習の勉強を本格的に開始しました。
その機械学習の成果の一部をせっかくなのでここに書こうかなと思います。
今回はDCGANというモデルを利用してキャラクター画像の生成を行うAIを作成してみました。
DCGANで作成した画像例が下記です。
完璧とまではいかなくてもだいぶキャラクターらしい画像が生成されていますね。
これらのキャラクターはこの世には存在しないAIオリジナルなキャラクターとなります。
※探せば世の中には似たようなキャラクターはいるとは思いますが
なぜAIオリジナルとかというとこの画像を生成したAIには正解となる画像が渡されないためです。
厳密にいうと生成した画像がターゲットにする画像に対してどれくらい特徴が似ているか点数付けする際には、テストデータのキャラクター画像を参照するのですが画像を生成するAIはテストデータのキャラクター画像は与えられません。
DCGANは仕組みとして画像を生成する部分と、生成した画像がテストデータの目標とすべき画像と比較してどれくらい似ているのか点数付けする部分の2部構成となっています。
画像生成部分は最初はランダムな画像を何度も生成し、点数づけしてもらい少しでも点数が高い画像を探っていきます(学習していきます)。
面白い仕組みですよね。
採点してもらいながら試行錯誤することで目的とする画像のような特徴を持つ画像を制せ出来るようになっていくのは不思議な感じです。
今後はクオリティーの高いキャラクターを安定して生成できるようにモデルの学習率など試行錯誤して見ようと思います。
上記に貼ったサンプルの生成画像はAIが生成した画像から特に良いものをピックアップしたので綺麗な画像だけに見えますが、実際は画像のノイズが酷いものやキャラクタの顔が歪んでいる画像などクオリティーの低いキャラクター画像も多数生成されています。
安定して良い画像が生成できるようにより精度の良い学習をさせられる用にしたいなぁと思います。
また、画像の出力サイズもモデルの学習にかかる時間の関係で現在は128x128の小さな画像しか出力できないので、より大きな画像を生成できるようにしてきたいと思います。
GANは視覚的にAIの学習の過程を見られて面白のでぜひ機会があれば皆さんも試してみてくださいね!
tensorflowを利用すれば比較的簡単にモデルを作れますので自由研究や暇つぶしに良いかと思います。
0コメント