古典的論文を読み考える

11月も下旬になってしまった。年内に届くと思っていたサーバの納入が年明けにしてもらわないといけないかも、という連絡を受け、ちょっとそれは困るのでなんとか急いでほしい、という連絡をしたりする。とはいえうちの研究室、いろんな書類を締め切り過ぎて出してご迷惑をおかけしているし(学生が多い……)、我々の研究室がたくさん事務書類を発生させているので、申し訳ない気もしている。しかし来年の論文投稿シーズンに向けた死活問題なので、自分にできることは処理が早く進むことを祈るのみである。

午前中、言語学習支援勉強会。アノテーションなどデータ作成・リリース関係は、簡単に見える作業でも意外と時間がかかるものなので(一見スクリプト書けばすぐできそうに見えても、結局目で見てチェックする必要があったり、例外に気づいたり、README を書いたり、基本的に見積もりの3倍はかかる)、進捗が少なく見えても気にしないでほしい。

逆に、先行研究の(再)実装をするとき、ちゃんと数式を追って理解していないと、全然違うものを実装していることがあるので、こちらは気をつけたほうがよい。もちろん外に出る前に気がついたら「よかった〜」とホッとするべきことなので、少々時間がかかってしまっても、こちらもそんなに気にしなくてよい。出来合いのツールを使うだけでは分からず、自分で作ってみないと理解できないことも多々あるので、かけるべき時間は無駄だと思わずじっくり取り組むとよいと思っている。

午後は機械翻訳勉強会。学生5名で、実験の進捗報告をする学生が3名、サーベイ報告(研究アイデアのディスカッション)をする学生が2名。論文に書かれているモデルを理解して実装する、というのは簡単なようでいて中々難しいのだが、B4/M1 のうちに色々試行錯誤しておくと、実装したモデルがイマイチでお蔵入りになったとしても、経験が手元に残って別の研究の時に役立ったりして、いいのかなぁ、と思ったりする。

サーベイ中の人から研究アイデアについて、興味深いアイデアをいくつか提案してもらうのだが、それ2年前に思いついてやっていたらトップカンファレンスに持っていけたね、というアイデアもあったり(今はレッドオーシャン)、あるいはそのアイデアはちゃんと実装できて結果も出ればいい研究だね、というのアイデアもあったり、大変おもしろかった。こういう研究アイデアがどんどん出るというのは、しっかりサーベイそして研究室の中で研究に関する議論をしている証拠で、研究室としての研究力も上がっているのだろうな、と思う。

逆に、色々研究アイデアが出ても、イマイチこれはどう磨いても厳しい、という場合もあり、こういう研究に対する「筋のよさ」というのはどのようにして鍛えられるのだろうか、と思ったりする(「センス」と言うと鍛えられないもののように聞こえるので、ここでは鍛えることができるスキルについて考える)。

将棋に例えると、序盤がサーベイ、中盤が手筋、終盤が詰め将棋かなと思う。そして、中盤の「手筋」というのが一番勉強が難しく、対局を数多くこなすこと、そしてそれと多少矛盾するが指しっぱなしではなく感想戦をすること、ということが必要で、うちの研究室ではここを強化するために論文の多読に加えて精読・クリティーク(査読)、そして(ちょっと多いかもしれないけど)週1回の進捗報告をしてもらっているのである。

結局のところ、筋のよい手法やアイデアが思い浮かばない人って、論文を読んでも理解できていないことが多いので(他人の論文を理解できない人が他人に理解できる手法を思いつけるわけがない、ということだろうが)、まずは論文をちゃんと理解できるようにすること、が近道で、人によって多読が必要か精読が必要かは違う、ということかな?

あと、研究アイデアの発想については(少なくとも自然言語処理分野では)最新の論文を読む必要はあまりなく、古典と言われている論文、そして自分のお気に入りの研究をする研究者の論文を一通り追っかけてみる、というのが効果的であるように思う。特にここ5年ほどは無闇に機械学習のモデルが複雑な論文が多いのだが、2000年前後の研究だと、そこまで自然言語処理機械学習が入ってきておらず、研究アイデアが理解しやすい論文が多いのである。逆に言うと、論文から機械学習成分をほとんど取り除いても内容が理解できない場合、それは自然言語処理に関する適性の問題なのかもしれない。

自然言語処理の古典の論文リストは例えば以下なので、興味ある人はどうぞ。