突然来た

論文の締め切りまで2週間を切って,学習器をさらに高速化する画期的なアイデアを思いついた.実装は10-20行ぐらいで済みそうな予感.どうしようかと思いつつ,現在の内容を書いた 2p 日本語の原稿を30分で英訳.英訳後のページ数は 3.5p しかない.あと 4.5p 書くか short paper として葬り去るか悩むところ.時間も無いし,困った.
共著の論文をチェックしてる場合じゃないかも.

[追記 2/8] 適当に実装してみたら,ちゃんと速くなった.無駄がだいぶあるので,今日頑張ってチューニングしよう.論文はグダグダ足して,5p弱だけど,実験+1p, 新しいアイデア+1p で7pぐらいの内容にはなってきた.
[追記 2/9] 昨日は最優先の用事があって結局何もしなかったが,今日少しチューニングして,前のアイデアより効果がありそうな雰囲気になってきた.もっと劇的に効くと思っていたのだけれど.最終的なモデルがかなり変わっていたので変だと思っていたが,バグ発見.直したら丸め誤差の影響とみなせるぐらいの違いしか出なくなった.良かった.計算量の見積りを調整してさらに速くなった.最速の学習器をさらに 20% ぐらい高速化.こんなもんかいな.
[追記 2/10] 学習器の繰り返しの回数/学習データのサイズが増えれば増えるほど,高速化が顕著になるようだ.100回ぐらいループを回すと,2.5倍ぐらい速くなる.Perceptron だと高速化はより顕著で,20回のループでも簡単に数倍出た.こりゃいい.Kernel Averaged Perceptron の結果も入れよう.Perceptron / Averaged Perceptron はコード共有してるので自動的に Averaged Passive Aggressive も実装終わり.
[追記 2/11] 新しいアイデアの部分の実装のメモリ効率を改善しようと頭をヒネっていたがナカナカ難しい・・・夜ようやく思いついて実装.対照実験で,L1正則化付き対数線形モデル (SGD) の学習器を走らせているけど,素性を展開する分メモリ食いなので大変.Max. 23GB 消費するので時間計測用のマシン (32GB) ではパラメタチューニングできないため,256GB 積んだ別のマシンで9並列で実行中.Max. 32GB 消費し,繰り返し回数1000回で ~24h かかる OWLQN のに比べればだいぶ楽.しかし,SGD はハイパーパラメタが多過ぎる orz 30回で収束させようとすると,三つのハイパーパラメタの組み合わせを多数試す必要があり,本末転倒だ・・・
[追記 2/12-14] 実験は進むが論文は進まず・・・6p+\alpha ひたすら書き直し 7p+\alpha 実験のところが全然埋まらない.SGD のハイパーパラメタのチューニングがまだ終わらない・・・精度が出ない・・・orz・・・ずるじゃないんだよ,ずるじゃないんだよ,網羅的に探索してるしさ.比較研究を可能な限り良く見せようとする,この必死さを伝えたい.
[追記 2/15] SGD 実験ようやく終わりそう.
[追記 2/16] 論文出した.最後はいつも通りのノーテーション地獄だった.次は通るレベルまでちゃんと仕上げて出したい.徹夜明けのところ深夜まで残って議論してくれた同僚氏に感謝.
[追記 2/18] 読み直したらゴミ論文すぎ・・・あっちゃこっちゃで整合性が取れてなかったり記号がぐちゃぐちゃ.内容的には去年トップ会議に通ったネタより上なのに勿体無い・・・査読者に申し訳ないので投稿取下げ