2月
- 2/1 https://www.tensorflow.org/tutorials/recurrent/ 読み始め
- 2/1 これを読めと書かれていた http://colah.github.io/posts/2015-08-Understanding-LSTMs/
- 2/1 http://karpathy.github.io/2015/05/21/rnn-effectiveness/
- 2/2 http://colah.github.io/posts/2015-08-Understanding-LSTMs/ を翻訳して理解を深めよう
- 2/3 翻訳の途中で http://qiita.com/KojiOhki/items/89cd7b69a8a6239d67ca の存在に気づく
- 2/4 ↑を読んで式をおった。LSTM をそろそろ Tensor flow でやるべき。
- 2/4 https://www.tensorflow.org/tutorials/recurrent/ に戻ってきた
- 2/4 nightly をいれないとコードが動かないらしいので http://d.hatena.ne.jp/higepon/20170204/1486189295
- 2/5 いまだにうごかない。多分これ。https://github.com/tensorflow/tensorflow/issues/7223
- 2/6 https://github.com/tensorflow/tensorflow/commit/51e5197b が 6 days ago なので一つ前のコミットの tensorflow を入れてみよう
- あれ 2/9 。ようやく動いた。http://d.hatena.ne.jp/higepon/20170204
- 2/10 コードを読み解いてまとめる。
- 2/11
- 目的: PTB data set に対して next word を予想してベンチマークする
- 出力
- Perplexity: http://www.slideshare.net/hoxo_m/perplexity
- this is ___ の候補が何個あるか。何個の中から選ぶ難しさなのか。1個だと完璧にわかるということ。
- コードの大まかな構造
- train, test, validation data 読み込み
- train
- 性能計算
- 2/12
- 2/13 http://peterroelants.github.io/posts/rnn_implementation_part01/ 実装中
- 実装したが答えがおかしい。debug 。まずは本物をそのまま動かしてみる
- update_prop の手前まではおおよそ理解した。
- 2/14 動いた。だいたい理解した。少し改造するのが次の一手かな。
- 2/15 もう一度解いている問題を確認しよう。
- t を 0 の数にするとうまく収束しない。なぜなら wx * xk なのでどうにもならない。
- t =/ 2 だと wx = 0.5 はうまくいく
- このモデルは明らかな限界が見えていてこれは Linear だからだと推測されるので次の part 2 に進むことにする
- http://peterroelants.github.io/posts/rnn_implementation_part02/
- 2/17 non-linear を淡々と
- 2/18 non-linear 動くようになった。バグも見つけた。
- 次は改造してぜんぜん違うことをやらせてみよう
- 引き算? and?
- 2/19 引き続きコードを読んでいた
- 明日は tensorflow の LSTM で上記を再現?
- 2/20 http://machinelearningmastery.com/text-generation-lstm-recurrent-neural-networks-python-keras/
- これすごい。
- http://www.mathgram.xyz/entry/keras/mnist
- 次のステップはkeras インストール。上をそのまま動かす。足し算学ばせる?かな。
- Keras に慣れる
- 2/21 Install: pip install keras
- pip uninstall theano
- pip install "git+https://github.com/Theano/Theano.git#egg=Theano"
- 2/21 keras.json でバックエンドを tensorflow から切り替える
- 2/21 Install: pip install keras
{ "image_dim_ordering": "tf", "floatx": "float32", "epsilon": 1e-07, "backend": "theano" }
-
- 2/21 最低限動くことを確認
- 2/21 No module named 'h5py'
- pip install h5py
- http://machinelearningmastery.com/text-generation-lstm-recurrent-neural-networks-python-keras/ 動かす
- 2/21 学習させる
- predict
- 2/22 日本語でやってみる
- 全部のののになる
- 英語のアリスを削って predict させると eeee になるからこれは。
- 2/23学習データが少ないからかも。まずは学習データを同程度のサイズにしてみよう
- 上がだめなら state の数も増やす。
- 2/23 うまく行った。大きいモデルで試してみる。
- 2/23 コミット
- Keras で足し算の件を学習させる
- 2/23 ファイル作る
- 2/23 raining data つくる
- dimension print
- 2/23 train 動いた
- 2/24 prediction おかしいので debug
- 2/25 試行錯誤のために以下の変更を入れた
- パラメータの自動保存
- predict 時に保存されているベストを利用する
- オリジナルのスクリプトを見直す
- 2/25 dropout 指定が原因だった。動いた! http://d.hatena.ne.jp/higepon/20170225/1488006736
- ここに細かいステップ
- 視覚化 : http://www.mathgram.xyz/entry/keras/graph
- 2/26 Keras sin カーブ推定を動かす
- Keras sin カーブ理解する
- データ範囲
- 何をどこから推定しているか
- 2/27 おりじなるscript を sin 推定と比較中 pandas
- loss が大きな値になって気づいたけど。0-1に収まるように処理しないと
- parameter save
- 可視化
- 2/27
-
- up/down の勝率を計算する方法を考える
- jupyter install
- local csv
- 2/27 notebook で loss けいさんして
- 2/28 loss 計算したら 0.5 だった
- 2/28 グラフに fit しているが上がる下がるの精度は良くないようだ。
- up/down の勝率を計算する方法を考える
- 上がる下がるの binary categorization で実装してみよう