TIM Labs

28x28の手書き数字の場合のAutoEncoderの出力画像

| コメント(0) | トラックバック(0)
前回、28x28の手書き数字のAutoEncoderプログラムの説明をした。
そして走らせて、やっと(笑)画像が集まったので、ご覧いただこう。

10000エポックでは、この程度の画像にしか再現されない。
mnistae10000SGD.png1万エポック程度では、何が何だか分からない。
それで、一気に10万エポックまで飛ぼう。

mnistae100000SGD.png10万エポックになると、半数くらいは判別できそうだが、まだとっても苦しいところだ。

30万エポックになると、かなり数字がはっきり見えてくるようになる。
mnistae300000SGD.png30万エポックになると、かなり正確に元のイメージを再現するようになってくる。

そして、100万エポックになると、ここまで再現できるようになる。

mnistae1000000.png100万エポックになると、文句なく十分な再生が行われたと判断できるだろう。

しかし、まずい。
エポック数が100万とは、100万回も学習を繰り返さないと使えないということだ。つまり、超バカだ。

もっとエポック数が少なくて、ちゃんと再現される方法はないものだろうか。


プログラムの初期化部分に optimizerの選択があるようだ。
# Initialize model        
model = MyAE()
optimizer = optimizers.SGD()
optimizer.setup(model)
SGDというオプティマイザーが選択されているようだ。
SGDとは stochastic gradient descent(確率的勾配降下法) のことだが、面倒なので説明は省略。まあ、最初に説明されることが多い最適化方法である。

もしかして、ここを書き換えると、もっと上手くいくのだろうか?

トラックバック(0)

トラックバックURL: http://labs.timedia.co.jp/mt/mt-tb.cgi/587

コメントする

このブログ記事について

このページは、fujiが2017年3月27日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「28x28の手書き数字の場合のAutoEncoder」です。

次のブログ記事は「データ解析のための統計モデリング入門 GLMの尤度比検定と検定の非対称性 読書メモ4」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。