@yuichirominato 2019.02.11更新 94views

【深層学習】(量子でない)DCGANを学んでみた


はじめに

量子コンピュータの世界では今年機械学習が流行っていますので、いち早くついていけるように機械学習を学びます。しかし既存の機械学習の内容がわからないと理解が進まないのも多々ありますので、量子コンピュータへの応用を前提に既存機械学習を少しずつ見直してみます。

GANとは?

ジェネレーターとディスクリミネーターという2つのニューラルネットワークがバトルしながら画像の精度をあげていきます。

お寿司

ジャパンなのでお寿司をGANしてみます。寿司GANです。勉強会に参加してきました。AIワークショップ|初心者だけどDCGANできちゃった

https://aifashion.connpass.com/event/113913/

早速やってみます

google colabをつかいます。まずは、google colabは12時間しか使えないらしいので、チェック。勉強会の通りです。

#インスタンスの時間を表示。12hで何が何でもリセットされるので要チェック
!cat /proc/uptime | awk '{print $1 /60 /60 "hours"}'

0.0165944hours

次にGPUモードのチェックです。

#GPUモードになっているか確認。'/device:GPU:0'ならOK
import tensorflow as tf
tf.test.gpu_device_name()

'/device:GPU:0'

ファイルのアップロード

Google colabはファイルをアップロードできるようです。天才安田から用意されたosushi.zipをアップしました。中身は、いい感じでお寿司でした。

お寿司著作権があったらやなのでモザイクかけました。

ファイルの展開して整える

ファイルをgoogle colabにzipファイルでアップし、展開します。

#ZIPを展開するコマンド
!unzip osushi.zip

その後綺麗に整形するコマンドが施されました。

リサイズ完了
リサイズ完了
リサイズ完了
リサイズ完了
リサイズ完了
...以下続く

大量の整ったお寿司画像が準備されました。

さっそくGAN

numpyとkerasで作業が進んでいくようです。GANばります。

着々と作業が始まります。

GANは最初乱数から画像を生成するので、epoch0はグレーになりました。

なんとなくRGBが出現してきました。。。

そして、60epochですでになんか形が。。。

そして、90epochで明らかにお寿司を予感させます。

120epochで鮮やかに

こっから先はクオリティが上がるまでじっくり待ちます。。。mode collapseが起こるとダメみたいですが、気にせず待ちます。まだ1000epochですがいい感じに寿司っぽくなってきたので、載せます。

モーフィング

GANは乱数から生成し、乱数にはそれぞれパラメータに対応するようです。乱数の制御によって正しくGANできているかを調べられるようです。

どうやらGANはとても計算時間がかかりますが、美味しそうなお寿司が乱数から画像生成できました。量子コンピュータでは将来的にこの辺りの計算時間を改善できるのかどうか興味ありますね。今後リサーチします。

以上です。

Recommended


CONTACT

info@mdrft.com

ブログトップへ Wikiへ移動

量子コンピュータ一般

量子ゲートアルゴリズム

量子アニーリング一般

量子アニーリングアルゴリズム

BlueqatSDKの使い方