人工知能と競プロやってくブログ

深層学習・機械学習・AI・atcoder・競技プログラミングについて調べてやってみたことをまとめるブログです

IMDBを畳み込みニューラルネットワーク他で判定する簡単サンプル

https://gyazo.com/da61ade299139b71499ec87572a8ad86 KerasにはIMDBの学習を行うサンプルが5個も入ってます。
なので、せっかくだから作ってみました。

IMDBの学習方法

Kerasのexamplesの中に

  • imdb_lstm.py (LSTM)
  • imdb_fasttext.py (FASTTEXT)
  • imdb_cnn.py (CNN)
  • imdb_cnn_lstm.py (LSTM)
  • imdb_bidirectional_lstm.py (Bidirectional_LSTM)

と5つ、学習を行うコードが入っています。
このコードにモデル保存を追記しIMDBを学習させます。
この部分のコードについては、このブログエントリーでは触れません。
後述のGitHubリポジトリにコードが入っていますので、そちらを参照してください。

学習したモデルを読み込んでIMDBを識別するコード

jupyter notebookで使えます。
コード内のprediction_mode変数の値を切り替えることで、読み込む学習済みモデルを変更することができます。

GitHubリポジトリ

ここに全てのコード、バイナリが入っています。

github.com

学習モデルの比較

学習ログから、テストデータの正答率(val_acc)を比較したところimdb_fasttext, imdb_cnnの順で成績が良かった。

5つの学習モデルのログは、こちらのGoogleスプレッドシートで見ることができる。

Train-Log-IMDB-Prediction-In-Keras

参考

abdel.me

データセット - Keras Documentation