#僕は暗闇の中、さまよっていた。
「深層学習とやらをやってみたい。」
そう思い立ち、よく良いと言われているゼロから作るDeep Learningを読んでみた。
なんとなくわかった気がしたが、
本に載っていたコードをいじってみたがうまく動かない。
ここまでかと思い諦めかけたとき、光が差した。
青空文庫で作者っぽさ判定(KERAS + character-level cnn)
#学習してみた
青空文庫のクローリングが終わり、
記事のaozora_cnn.pyを実行してみました。
epoch100まであるのですが、3日かかって学習がすべて終わりました。
epoch11のモデルのファイルが最高値みたいでした。
チェックポイントを設定しています。
チェックポイントにより、
検証時のaccuracyが最高値の場合は、
/tmp/配下にその時点のモデルをweight*.h5dfファイルとして保存します。
Epoch 11/100
378700/378774 [============================>.] - ETA: 0s - loss: 0.1420 - acc: 0.9449Epoch 00010: val_acc improved from 0.87362 to 0.89609, saving model to /tmp/weights.10-0.14-0.94-0.41-0.90.hdf5
378774/378774 [==============================] - 2298s - loss: 0.1420 - acc: 0.9449 - val_loss: 0.4083 - val_acc: 0.8961
#判定してみた
epoch11以降はモデルのファイルが保存されなかったので、
epoch11のチェックポイントで作成した/tmp/weight-*.h5dfファイルを指定して、aozora_classification.pyを動かしてみました。
判定する文字列はsampleにもあるやつで。
中島敦『山月記』の冒頭を判定してみます。
~隴西の李徴は博學才穎、天寶の末年、若くして名を虎榜に連ね、ついで江南尉に補せられたが、性、狷介、自ら恃む所頗る厚く、賤吏に甘んずるを潔しとしなかつた。~
結果は、・・・
| 夏目漱石 | 芥川龍之介 | 森鴎外 | 坂口安吾
---|---|---|---|---
0 | 1.056089e-09 | 1.293081e-07 | 0.000033 | 3.249434e-07
森鴎外っぽいってなるってる!
できたっぽい!(全くコード変えてないから当たり前ですが)
#「夢なら覚めた。だけど僕らはまだ何もしていない。進め。」
判定してみた。夏目漱石っぽいみたい。
| 夏目漱石 | 芥川龍之介 | 森鴎外 | 坂口安吾
---|---|---|---|---
0 | 0.125387 | 0.000199 | 6.651750e-07 | 0.026747