Bidirectional GAN をGoogleColaboratoryで試してみた

シェアする

  • このエントリーをはてなブックマークに追加
スポンサーリンク

はじめに

今回は、GoogleColaboratoryを使ってKeras-GANに実装されているBidirectional GAN を試していきたいと思います。Bidirectional GAN は教師なし学習で、名前にもあるように双方向のネットワークになっている。図を見るとわかりやすいのだが、Discriminatorに入る前に二種類の学習を行なっている。上では普通のGANと同じく、Generatorを学習している。そして、下では、エンコーダE をデータxを入力として学習している。そして、双方のDiscriminatorに入力する形を見てほしい。G(z)xzE(x)が対応しているのがわかると思う。これは、dataの正解データとしてxfeaturesの正解データとしてzが与えられていて、双方向に学習が行われている。また、Discriminatorの正解データは(x,E(x))となっている。これがBidirectional GANの仕組みです。

他のGANについてもこちらでまとめてあります。

GoogleColaboratoryでGAN超高速入門

GoogleColaboratoryの使い方はこちら

論文:https://arxiv.org/abs/1605.09782

Keras-GAN にある Bidirectional GAN のコードはこちら


対象者

 Bidirectional GAN を手っ取り早く試してみたい方。色々なGANに興味があるけど書き方がわからない方。Kerasでの実装を知りたい方。

 GANの基本を知っていることが前提になっています。

 こちらはGANの基本を押さえることができる良記事になっているので、読んでから進むことをお勧めします。


Bidirectional GAN

前回同様、Keras-GANにあるコードではGoogleColaboratoryではエラーが返ってきてしまうので、書き直しました。今回もMNISTFashion-MNISTを使っていきたいと思います。


MNIST

 GoogleColaboratory上では見づらいので40000epoch学習させて10000epoch毎にサンプル画像を出力させています。学習回数とサンプル画像を出力するインターバルはtrain関数の引数で変更できるので、変更しながら試してみてください。

コード

出力結果


Fashion-MNIST

コード

出力結果


 今回は、Bidirectional GAN GoogleColaboratory上で試してみました。GoogleColaboratoryを使うことで簡単に試すことができると思うのでぜひやってみてください。

他のGANについてもこちらでまとめてあります。

GoogleColaboratoryでGAN超高速入門

最後まで読んでいただきありがとうございました。よろしければこの記事をシェアしていただけると励みになります。よろしくお願いします。

スポンサーリンク
レクタングル広告(大)
レクタングル広告(大)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル広告(大)