【GAN】kerasでGANを試してみた【備忘録】
はじめに
こんにちは、がんがんです。
今回はDeep Learningの生成モデルであるGANについて実験した際の備忘録です。
自分の名前と似ているため、GANを初めて知ったときから試してみたいと考えていました。
しかし、理論は知っていても実装したことがありませんでした。
ですので、まずは手を動かそうと思い、息抜きとして実装していきました。
追記【2019.04.29】
GItHubのリンクを追加しました。
github.com
概要
- 生成モデルであるGANについて実際に手を動かしてみた
- 実験としてMNISTを生成していく
参考記事
GANの参考記事はいくつかありますが、特に参考になったものを掲載しておきます。
プログラムや理論は主にこちらを見ながら理解していきました。
バイトへの出勤中の電車内でずっと読んでました。
qiita.com
以前紹介したこちらで紹介したものもCycle GANというGANの一種です。
また、最近購入した以下の本でもGANについての解説がされています。
こちらでは主にDCGANについて解説されており、次回以降で利用していきます。
直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ
- 作者: Antonio Gulli,Sujit Pal,大串正矢,久保隆宏,中山光樹
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/08/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
実行環境
OSはUbuntu 16.04 LTS
です。
・ Python 3.5.2 ・ Keras 2.1.5
実験
実験は参考記事を参考にしてMNISTのデータにて行います。
理論については参考記事にて非常に分かりやすく書かれています。そのため、そちらを参考にして下さい。
qiita.com
実験結果を以下に示します。
500 iteration後
7500 iteration後
15000 iteration後
30000 iteration後
90000 iteration後
徐々に数字らしいものを生成していることが分かります。
コード
こちらのGitHubにあるコードとほぼ一緒なため割愛します。
変更点としてはepoch数を減らしたぐらいです。
function APIで書くのはやめたので、GANに関する変更点は得にないです。
まとめ
今回はGANについての実験をしてみました。
実際にコードを書いてみると、なんとなくしか理解できていなかったものがより理解できたように感じます。
次回はGANの派生系であるDCGANについて実験してみます。