Keras Adversarial Modelsについて

ディープラーニングにはいろいろな手法がありますが、今回はGANの実装について少し簡単に紹介します。

 


①GANとは?
②GANを簡単に実装できるライブラリー(Keras Adversarial Models)
③Keras Adversarial Modelsで実装する際の注意点
 
 


 

①GANとは?

ここでは超ざっくりの説明で済ませてしまいますが、GANとはある画像の贋作を作るような技術(本物そっくりな画像を作り上げる)のことです。

別名「敵対的学習」と呼ばれています。

細かい説明はググればいろいろ出てくるのでここでの説明はこの程度に留めます。

②GANを簡単に実装できるライブラリー(Keras Adversarial Models)

GANを実装するライブラリーとしてKerasに対応したKeras Adversarial Modelsというものがあります。

本家モジュールは以下のGithubにあります。


ここでは細かい使い方の説明は省略しますが、上記リンク先にざっくりとした使い方は説明されています。

現在、以下の直感DeepLearningという書籍を使って勉強していますが、その中の4章で

Keras-adversarial

というライブラリーが紹介されていてその存在を知りました。

細かいことはさておいてとりあえず実装して動かしてみたい!という方にはおすすめだと思います。

 

③Keras Adversarial Modelsで実装する際の注意点

上記書籍では、keras-Adversarialの導入方法が紹介されていますが、どうやら書籍に記載されている導入方法

pip install git+https://github.com/bstriner/keras-adversarial.git

だとうまく動作しない事例があるようなので、pipではなくgit cloneで導入したほうが無難のようです。

私もpipでインストールしたところ以下のようなエラーが発生してコードがうまく動かない問題に遭遇しました。

AttributeError: 'AdversarialModel' object has no attribute '_feed_output_shapes'

本家の下記Issueにもあるとおり、問題が発生する場合は、一旦モジュールをアンインストールした後、git cloneで再インストールすると問題が解消するみたいです。

 

 以下、対処手順部分を抜粋しておきます。

pip uninstall keras_adversarial
git clone https://github.com/bstriner/keras_adversarial.git
cd keras_adversarial
python setup.py install

 なお、anaconda環境で導入している場合は、単純にDOSを起動した画面ではなく、

Anaconda Promptの画面を起動した状態で上記手順を実行しないと解消しませんでしたのでご注意を。

参考になれば幸いです。

 

<