この前[rebuild](https://rebuild.fm/208/)で機械学習を進めていく上のマインドセットについての話がありました。
その中では、以下のような事を言っていました。
* とにかくログ(作業ログ)をしっかり取る事
* 「兎に角試す」から「死ぬほど考える」に思考を切り替える事
ログをしっかり取る事については、Deep Learningの学習は実行のスパンが長いので前にどんな作業をしていたのかとか、何を解決しようとしていたのか分からなくなると言っていました。
確かにそれはあることで、色々試行錯誤しているうちに何をしているのか分からなくなる事がよくあります。目標を見失わないためにも、何をしているのか、どんなパラメーターでやっている(やってきた)のかログを取る事が重要です。
また、普段のプログラミングでは、思いついた事をすぐにコードに反映させて結果を確認する事が、数十秒から数分の間にできます。しかしながら、Deep Learningでは学習に時間がかかるためそのスパンが数時間から長いときには数日になります。その為、思いついた事の結果を確認するまでのスパンが長くなります。思いついた事をちょこちょこ試すよりも、死ぬほど考えて一回一回の実行の密度を濃いものにした方が結果としてより早く良い結果を得られるとのことでした。確かに考えて見るとそうで、試そうと思ったらくだらないミスでグラフが表示されなかったり、何をやっていたのか分からなくなったりしてしまいます。ログを取得する事と合わせて大切だなと思いました。
私もログをGithubで残したり、考えて実行するように意識していこうと思います。
### 紹介されていたURL
[Lessons Learned Reproducing a Deep Reinforcement Learning Paper](http://amid.fish/reproducing-deep-rl)
[ログのすすめ](http://gihyo.jp/dev/serial/01/continue-power/0009)
0 件のコメント :
コメントを投稿