ひたすら「からあげ画像」を生成する「KaraageGAN」を作って見た

f:id:karaage:20181007003455p:plain:w400

GANで唐揚げをカラッとあげる

 ディープラーニングのGAN(generative adversarial network)と呼ばれる技術で「からあげ画像」を生成してみました。「直感Deep Learning」という本から引用すると

GANは、ディープラーニングの権威の一人であるYann LeCunn によると「機械学習においてこの10年間で最も興味深いアイデア」とされています。

 とのことです。こちらの記事(英文)も参照ください。

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

  • 作者: Antonio Gulli,Sujit Pal,大串正矢,久保隆宏,中山光樹
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2018/08/17
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

 GANの具体的なメカニズムに関しては、よく贋作者と鑑定士に例えられます。具体的には、GANは贋作者の役割をするネットワークと鑑定士の役割をするネットワークの2つのネットワークがあり、贋作者ネットワーク:ランダムなノイズから、本物と見間違えるような贋作を作る一方、鑑定士ネットワークは、贋作かどうかを判別する役割を果たします。

 この2つのネットワークが競い合うように性能を向上させることで、GANは自動生成(贋作者としての役割)を実現します。

 そんな画期的技術であるところのGANを用いて「からあげ画像」を自動生成します。カラッと揚げてしまいました。

GANで「からあげ画像」生成した結果

 試行錯誤して、ちょっと「からあげ」っぽい画像を生成できました。

学習の様子

 だんだん、ノイズから「からあげ」に近づいていくことが分かると思います。

f:id:karaage:20181007004136p:plain:w400
1世代

f:id:karaage:20181007004146p:plain:w400
10世代

f:id:karaage:20181007004158p:plain:w400
100世代

f:id:karaage:20181007004211p:plain:w400
1000世代

f:id:karaage:20181007003455p:plain:w400
2000世代

GANによる画像自動生成方法

 今回は、以下の記事とGitHubのリポジトリを参考に試してみました。

DCGANで画像の自動生成 - Qiita

GitHub - elm200/image-generator-with-keras-dcgan: Image generator with keras-dcgan

 ただ、結構マシンスペックも必要なのと、環境構築も大変なので、Google Colab上で教師データの収集から含めて、簡単にGANを試せるようなチュートリアルを作成してみました。

 正直クオリティ的に実用性が高いわけではないので公開は迷っていたのですが、以下有料マガジンのセットを買っていただいた人のみ追加料金無しで見られるようにしました(マガジン購入者へのサービス的位置付けです)。単体での購入はできません、悪しからず。

まとめ

 GANで「からあげ画像」を生成してみました。ツイートの日付をみていただければ分かりますが、実は4ヶ月程前には試していたものの、なかなかクオリティが上がらず、記事やコードをお蔵入りにしていました。ただ、そのまま葬ってしまうには惜しいかなと思い、エイやっとまとめて公開してみました。

 GANは研究が今凄まじい勢いて進んでいて、人に近いクオリティで画像を中心に様々なコンテンツを自動生成できるようになってきています。実は最初は、サイトで使うフリーの画像素材をGANで自動生成したら面白いなと思って試していました。

 今回は、実際に使えるクオリティとまではいきませんでしたが、何か単語を入れるだけで即座に欲しいフリー画像を自動生成したり、更にはブログの文章をもとに、ふさわしい画像を適切に挿入してくれるようになるのも、そう遠い未来ではないかもしれませんね。

関連記事