博士で身につけるべき研究力とは穴埋め問題の作成能力

研究室生活 基礎文法最速マスターでも、著名な id:next49 さんの 発声練習 と並んで取り上げられて恐縮しているが、そういうわけで少し研究に関するエントリを書いてみる (笑)

を読んでみた。これはやればできる卒業論文の書き方をまとめたものらしいが、ぶっちゃけ web で公開されているもののほうが、卒論の書き方の指南書としてはおもしろい。しかしながら、こちらの本のほうは、卒論を書くということ以外の話が充実しているので、それはそれで読む価値あると思う(とくに博士に進むか迷っている人とか)。あと、上記のページには「エンジニア・職業研究者をめざす学生のための本」として

  • 企業への就職の方向で検討している人へ
  • 学者志望の人へ
  • 進路についてどーもイメージが湧かない人へ

の3種類の本がそれぞれ数冊ずつ紹介されている(書籍版では全部まとめて数冊しか紹介されていないので、これだけでも web 版のほうが情報量があることが分かるだろう)。こういうのって、紹介するのはそれなりの理由があるものなのだから、迷っている人は読むといいと思うのだが、ほとんどの人は「読んでみたら」と言われても読まず、「悩んでいる」と言い続けたりするものなのだよね。積んどくでもいいから買うところから始めたらいいんじゃないかなぁ。本を買うとか、勉強会に出るとか、知識や経験を増やすための投資(お金だけじゃなく時間も使う)を惜しんでいては先に進んでいかないと思うのだが……。

話を戻すと、この本の PART 1 のところがどうも書き下ろしで、ここが自分が読んでとてもおもしろかったので、紹介。たとえばp.24

大学院は学部の "上級学校" ではありません。ある職業への専門教習コースにすぎません。学部卒で大学を去ることは "頭が悪いための中退" ではなく、合理的な選択肢です。修士号がなくても優秀な科学者は大勢います。「入試があるから受験しなければならない」という強迫観念だけで大学院に進んではダメです。

これ、「学部卒」のところを「修士卒」「博士卒」に入れ替えても全く同じことが言えるのだが、学生でいるうちは、学校というシステムの中から出ることが怖いので、自分が進もうと思う選択以外をする人のことを馬鹿にする人がいたりするのは悲しいことである。博士に進まないで修士で就職するというのも立派な選択(というかほとんどの場合それが正解であって、大学院重点化されてから博士の人数が増えたので、本来の適正人数以上に進学しているという現状かなと思う)だし、博士号を取得しても大学教員への道を選択せずにエンジニアになるというのもすばらしい選択だと思う(そういう選択肢が存在しない分野もあるので、情報系は恵まれているのだろうが……)。
続くセンテンスで

職業としての研究者への進路を取ることは、正確に言えば、自由意志によるというより、"徴兵制" に近いものです。[...] 学術から "召集" を受けた人間は、研究の道に「進まざるをえない」のです。

ともあるのだが、確かに「研究者になりたい」からなるというより「研究者にならざるをえない」からなるというほうが、精神的にも楽なのではないかなぁ(そこまで断定気味に主張するものではなく、そうでない人もいるのだけど)。自分がなにに向いているかというのは、たぶん自分以外の人のほうがよく見えていて、そういう道に進んでいるほうが、周りもいろいろと助けてくれるのかなと思ったりもする(助けてもらわなくても自分で切り開く人もいるので、そうしなければならないというわけではない)。
職業としての研究者についての話も次のページに書いてあって、

研究に必要な金は自分で取ってくることが研究者の掟です。学生のうちに研究費の申請書の書き方を身につける必要があるのです。なかには学生に下書きをやらせず、「君は研究に没頭してくれ」という指導教官もいますが、このような先生の下で研究費申請書を書く経験をまったく積まないまま卒業すると、研究者として生存できず路頭に迷うことになります。

ということで、自分も松本先生からときどき「学振出してみたら」と言われたりして(本当はそこまで出す気なかった)、研究計画書を書いたりなんだりする経験値を積んだので、少しずつそういう環境に慣れておかないといけないのかなと思う。いつまでも実験だけしていればよい・論文だけ書いていればよい、というわけにはいかないし、そのうち学生が論文を書ける環境を死守しなければならない立場になるわけだし……(結局のところ、博士号を取得して大学に残るのって、それが好きかどうか、ということなのだろうか?)。お父さん・お母さんがお金を稼いできてくれて、子どもに「あなたは好きなだけ遊んで、勉強していていいよ」と言ってくれるのは理想的な家族なんだろうが、子どももいつまでも子どもでいられるわけではなく、いつかは自分がお父さん・お母さんにならなければならない、というのと同じである。親から受けた恩は、親に返すのではなく、自分の子どもに返す、そういう話。

あと、この話は web 版にも書いてあるが、

本当は、論文を書いてから実験するのが正しいのです。[...]実験するとどうなるかを自分の頭の中でシミュレートし、"こうなるはずだ" と予測を持つことが大事です。どのような結果が、どのくらいの不確かさを持って発生するかを、数字として書ける程度に想像を固めます。データは架空であっても、論文全体のスケッチを書いてしまうのです。

というのは全くその通りで、だからこそ、

ちなみにプロの研究者は、研究費申請書を頻繁に書きます。申請書は「こうすればうまくいくはずだ。実験はまだだけど」という文書ですから、架空データによる予測論文の一種です。だからプロの研究者は、予測論文を書いてから実験するという習慣に慣れています。モーツァルトの「作曲はもうできたよ。あとは譜面に書くだけさ」という言葉どおりの手順を進めるのが、本物のクリエーターなのです。

という話にもつながり、自分は修士のころからさんざん「論文はストーリーが大事だ、実験をなんとなくしましたではいけない」と繰り返して言われ、特に「既存の研究と比較して精度が数%上だった、というのにはほとんど意味はない。なぜ向上したのか、そして向上しても解けていない問題はなんなのか、それらはどうすれば解決できそうなのか、そこにこそ研究の価値がある」という考え方を叩き込まれたので、「まず実験してみよう」と考えるのは研究を志す学生としては十分注意したほうがよい。博士号を取得した(もしくは取得見込み)はいいものの、路頭に迷わないためにも……

自分の話をすると、自分も最初はどういうふうに研究をすればいいのか全く分からず、博士に進学するまでは言われるがままにやっていただけであり、Microsoft Research に行って自分でどういう研究をするか、どういう手法でやればうまく行きそうか、ということを、実際のデータにまみれながら考えて(データを見るのはおもしろかった)、それで少し研究が楽しくなったので、あまり人のことは言えないのだが……。

博士のときの研究で、@taku910さんからアイデアをもらった研究があるのだが、あるとき @taku910 さんがメールをくれて10行くらい箇条書きで「イントロはこう、関連研究はこう、アルゴリズムはこんな感じで、実験はこういう実験をすれば正しさを示せるはず。これで国際会議1本くらいは行けるでしょう。どうでしょうか」という内容を示してもらい、「え、こういうふうにやるんだ?!」と本当にびっくりした。ほとんど穴埋め問題になっていて、しかも穴も調べるだけで分かるという感じ。でも、実際そうやって論文(ストーリー)を書いてから実験をすると、びっくりするくらいスムーズに行くので、たぶん研究のお作法としては、こういう手順でやるべきなんだと思った(それ以降自分もそのスタイルを真似している)。どのように穴埋め問題を作るかが出題者の力量が問われるところなのだが、穴が埋まっていない状態の問題用紙を見ただけで、出題者の意図というか、いい問題(=研究)かどうかが分かるのである。修士では問題解決能力が必要、博士では問題発見能力が必要、とよく言われるが、自分からすると、修士では穴埋め問題に答えられる能力が必要、博士では穴埋め問題を作る能力が必要、とそういうことだと思う。

とはいえ、エンジニアとしては「まずコード書こう」「まずデモを作ろう」という姿勢は賞賛されるもの(実際ベストプラクティスでもある)なので、どちらがいいというものではなく、分野や職種によって違う、ということであり、自分がやりたいことと分野や職種がマッチするような選択をしましょう、という話。自然言語処理なんかだと、「まずデータ見よう」「まず人手で少しタグづけしてみよう」というのがあって、そこから「じゃあこういう研究になるか」というのが決まり、そこでようやくそれに必要なプログラムを書く、という展開になるのであり、実際プログラミングに費やす時間は全体からすると本当に少ないのではなかろうか。数字を挙げた方が実感湧くのであれば、自分の場合、論文を書くときプログラミングに費やす時間は多くて全体の1/3、少なければ1割かそれ以下くらい。分野や研究スタイルによっても違うかもしれないが、これは研究計画書を書いたりする時間や雑用の時間は含めていないので、職業としての研究者におけるコードを書く時間の占める割合は、仕事全体からすると本当に少なくなってしまうのではないかなーと思う(情報系ですらこれなので、それ以外だとどうなることやら)。

「自分には何が向いていて何が向いていないのか」「自分がやりたいのは何で、やりたくないのは何か」というのを見つめ直すモラトリアム期間でもあるので、限られた時間で自問自答しましょう。博士号を取得してエンジニアになる場合、Google のような博士号取得者がたくさんいる企業は少数派であり、修士で就職しておけばよかった、と思ってもすでに手遅れにならないように……(そういえば昨日東大であった Google Tech Talk の話では、今年は Google 東京オフィスの人数を1.5倍にするため大量採用するとのことだったので、就職したい人にとってはチャンスだと思う。いい会社だと思うので、みなさんトライしてください!)