論文の通りに実装されてない

最近9時に娘を送って10時半に大学に着くのだが、4月以降は8時に送って9時半に着くような感じになるのかなぁ。理想的には4月以降も9時に送り(10時半に大学着、17時に大学発で)18時半に迎え、という感じだが、これだと休みなしにノンストップで仕事をしても7.5時間なので、30分の休みを挟んで1日8時間確保しようと思うと8時になるのである。

午前中はメール処理。最近 GMail で T を押すとそのままタスクが作成できる(そして T を押したメールへのリンクが自動的に作成される)ことを知り、便利に活用している。あとは GMail からカレンダーへの追加ができればよいのだが……。

昼から言語処理学会の年次大会の発表練習。ポスターが A0 縦ではなく横であることが発覚したので急遽作り直してもらったが、なんとかみんな作り直したようである。さすがに縦横違うとまずいので、気が付いてよかった。ワークショップの口頭発表もしっかり練習し、内容的には OK。あとはみんな練習あるのみ、かな?(話しているとき、ポスターやスライドではなく聴衆の方を向く、ということだけは何度も言っているのだが、これは頭で分かっていても場数を踏まないとできるようにならない)

午後は進捗報告。recursive neural network の実装を見たりするが、どうも論文に書かれているアルゴリズムと実装されているコードが若干違うような(汗)。機械学習の勉強会、ちゃんとやっておいたほうがいいような気がする。しっかり時間をかけて数式を追う(理解するまですごく時間がかかることがあるので、考え続けることに慣れる)経験をしておかないと、詳細を知らずに出来合いのツールを動かすことしかできなくなってしまう危険性がある。とはいえ、時間は有限なので、一つ勉強会を増やそうと思うと何か断念しないといけないわけだが……。

別件で、プログラムの高速化についてのアドバイスをしたりする。Python から他のコマンドを呼んだりするとき、そのコマンドが何回も呼ばれると呼び出しコスト(プログラムを exec する)が馬鹿にならないので、できるだけ入力をまとめて呼ぶようにしてコマンドの実行回数を減らすと、一気に出力された結果を後処理する操作を入れたとしても、トータルで時間が短縮できることがあるのである。あと、同じ計算を何回も実行せず、1回実行したものはメモ化するよう伝えた(計算量が N^2 から N になる)のだが、メモ化を知っている人と知らない人がいて、やっぱりちゃんとアルゴリズムやデータ構造を教えておかないとな、と思ったりする。

いまデータ収集中の実験をしている学生がいて、アイデア自体はおもしろいのだが、データ収集が難航しているようだ。マイニング系の研究テーマは、有用な知識が取れてナンボなので、当たるまでいろいろ試すしかないし、データを増やせば解決するのか、そもそもデータを増やしてもダメなのか見極めが難しく、うまくいかなかったとき撤退するタイミングが悩ましい(多腕バンディット問題っぽい)。十分時間をかければ期待値的に何かは当たると思うのだが、時間が十分ないときは、運ゲーだよな……。