ジョイジョイジョイ

ジョイジョイジョイジョイジョイ

君たちはどう研究するか

IBIS 2023 のパネルディスカッション「君たちはどう研究するか」にて研究の取り組み方についてお話しました。この記事はそこでお話した内容を編集したものです。

🔍研究テーマの決め方について

僕は研究テーマ選びはあまり重要ではないと考えています。どういうテーマにめぐり合うかは運なので、そこで思いつめても仕方がありません。なので、僕は自分から積極的にテーマを探しにいくということはしていません。それよりも、テーマを決めたあとの掘り下げ方という自分でコントロールする部分に集中して研究に取り組んでいます。

その人の地力によって、テーマとして成立させられるストライクゾーンが決まってくると考えています。初心者うちは、王道のテーマで王道のストーリーでしか成立させられないので、このストライクゾーンが狭く、それ以外のテーマは良いテーマではないと判定して見逃してしまいます。しかし、王道のテーマは多くの人が考える混みあった領域なので、そこで勝負していくのは難しいです。なので、ストライクゾーンを広げて、他の人がそのテーマ大丈夫?と思うようなところや、あまりにもナンセンスなのでテーマとしてカウントせずに見逃してたようなところを、テーマとして成立させられるような実力を付けることがまずは大事です。それができるようになると、自然とオリジナリティーのある研究ができるようになっていきます。

以前の記事「論文読みの日課について」でも紹介したように、僕は毎朝論文を読む日課にしています。そこでは研究テーマそのものを見つけることは目標にしていません。それよりも、テーマの掘り下げ方の引き出しを増やすことを目指して論文を読んでいます。掘り下げ方のパターンがたくさん身につけば、どのようなテーマであれ、面白く仕上げることができるようになっていきます。

普段論文を読んだり、他の研究をしていると、何かしらは研究テーマを思いつくと思います。例えば、「生成モデルを使って研究テーマを自動生成する方法」とか、テーマ選びは重要であると思うのなら「研究テーマだけから被引用数を予測するモデルを作ってテーマによる違いを分析する」とか何でも良いです。些細なものであっても、それが自分の中から出てきたアイデアであれば大事にしてメモしておくべきです。今はそのテーマは成立しないと思ったとしても、将来的に実力が付いて成立させられるようになることもあります。また、寝かすことでアイデアが良くなることもあります。例えば今は生成モデルが過熱していますが、今生成モデルについて考えている些細なことを、数年後に生成モデルが落ち着いた頃に試すと意外と面白いとなることもあります。すでに誰かにやられているテーマかどうかも気にする必要もありません。掘り下げ方が身についてくると、同じテーマでも取り組み方次第で自分らしさを織り込んだ全く別の研究として仕上げることができるようになっていきます。

というわけで、テーマ選びは悩みすぎずに、何でも良いのでさっさとはじめて、さっさと終わらせるのが一番です。そうしているうちに実力もついてきて、ストライクゾーンが広がって、自然と自分らしい研究ができるようになってきます。

📆 研究プロジェクトの進め方

僕は一つの研究プロジェクトは一か月を目安に終わらせるようにしています。サーベイや予備実験などの準備に 1 週間、実際に論文を書いたり実験をするのに 2 週間、最後の調整に 1 週間ほど使っています。

僕は論文のプロジェクトは 1 枚の Google Docs で管理しています。準備の段階では思いついたフレーズやサーベイの内容をひたすらそこに書きつけていきます。ある程度素材が溜まってきたら、素材を論文の形に落とし込んでいきます。

以前の記事「論文の書き方」でも紹介したように、論文を書く際には、まずはいわゆる吐き出し稿 (vomit draft) を最速で仕上げることに注力します。この時には、英語の誤りは気にせず、適切な引用先が分からなければ空欄にしておきます。というのも、白紙の原稿は不安を煽るので、初稿が出来上がるまではどうしても原稿に向き合うのを先延ばしにしてしまうからです。一番良くないのは締め切り近くでも白紙の部分があるために投稿をあきらめてしまうことです。初稿さえできれば未知の要素がなくなるので、ぐっと原稿に向き合いやすくなります。また、初稿さえできてしまえば、品質はともかく投稿には間に合わせることができます。とにかく間に合わせるのが一番大事なことです。初稿が出来上がったあとは、要所要所を調整していって、ベストエフォート品質で締切に間に合わせるということを常に意識しています。

僕は結構プロジェクトを終えるのが早いと自負しています。これはメッセージを伝えることを明確なゴールにしているからというのが一つの理由です。論文も結局は書き手から読み手へのコミュニケーションツールです。読者がその論文を読んだときにどういうメッセージを受け取るかということが最も重要です。なので、その論文を読んだあとに読者がどういうメッセージを受け取るのかという最後の部分をはっきりさせて、そこにたどり着きさえすればその過程は何でもよしとして論文を構成していきます。定理とか、実験とか、提案手法さえも、このメッセージを伝えるための手段に過ぎないと考えています。なので、うまく証明できないとか、実験が上手くいかないときには、潔くあきらめて他の手段を探すようにしています。自分がなぜそのメッセージを強く信じているんだっけということを考えていくと、どうしたらそのメッセージをうまく伝えられるかは自ずと答えが出てきます。

自分がそのメッセージを強く信じている度合はとても重要です。そのメッセージを強く信じてさえいれば、いかに実験がうまく行かなくても、いや、でもこうだと何か他の手段を考えつくことができます。論文にも自然と説得力が出て、査読で何が来てもはっきりと打ち返すことができます。

ただし、想定外の実験結果などにより、自分でもそのメッセージを強く信じられなくなってくることがあります。このときには、そのまま進むと泥沼化してしまうので、一度冷静になってそのプロジェクトを見直すべきです。本当にそのメッセージが正しいのかを客観的に確かめにかかるべきです。そこでやっぱりこのメッセージは間違えていたという確信を得るに至ると、「〇〇を信じている方がいるかもしれませんが実は違います」という新しいメッセージで研究プロジェクトのテコ入れをすることができます。僕の ICML 2022 の論文 Re-evaluating Word Mover’s Distance もこのような経緯でこういう形仕上がりました。

メッセージは、プロジェクトを開始したときにはうまく言語化できない感情のような状態ですが、最終的には 1~2 文くらいで言語化し、研究発表するときにはスライドの最後に Take Home Message として掲載しています。僕の研究における例は Speakerdeck のスライドから確認できます。

論文 10 ページくらいを費やして 1~2 文のメッセージを伝えれば良いと考えるとずいぶん気が楽になると思います。逆に、10 ページ書いて 1~2 文だけかと思うかもしれませんが、皆さんが過去に読んだ論文を思い返してみると、9 割の論文はそんなのあったなというくらいではっきり思い出せないと思います。ということは、1~2 文でも明確に読者の心に刻むことができれば、上位 1 割に入ることができます。なので安心して 1~2 文のメッセージをいかに明確に伝えるかということに注力して論文を書いてください。

このように、どういうメッセージを伝えるのかというゴールをはっきりさせて、そこをめがけて進んでいくというのを意識してプロジェクトを進めるようにしています。こうすると、迷走することなく、しっかりと成果を出すことができるようになると思います。

😵‍💫 研究がうまくいかないときの対処法

一番大事なのはアウトプットのハードルを下げることです。アウトプットが止まるのが最悪で、悪循環に陥ってしまいます。なので、些細なことでも中途半端でも良いので、アウトプットをして前に進まなければいけません。どれだけ考えても成果がない場合は、成果がないこと、そのテーマに 1 カ月取り組んだけれども難しすぎて何も成果が得られませんでしたということを素直にアウトプットすれば良いです。そうすると、同じような境遇に陥りそうな人を救うことができます。

僕の ICML 2022 の論文 Re-evaluating Word Mover’s Distance もそんな感じで、もともとイケてる手法を提案しようとしていたのですが上手くいかず、結局上手くいかないということを論文にしました。どうすれば上手くいくかということは提案していません。それでいいと僕は思っています。論文にするには何か素晴らしい結果を報告しないといけないという固定観念を捨て去って、自分が何に取り組んできたのか、何を考えたのかということを一番大事にしてアウトプットすれば良いと思います。

また、手を動かせば進むようなことに取り組むこともおすすめです。サーベイ論文を書くのはとてもよいアイデアだと思います。既存手法を再実装して GitHub に公開したり、ブログに入門記事を書いて間口を広げるというのも良いと思います。

そもそも、なぜ研究するのか、なぜ論文を書くのかというと、究極的には誰かの役に立つためだと僕は思っています。特に、研究コミュニティーの役に立つためです。つまり、研究コミュニティーにプラスになったら成功と言えます。

既存手法を再実装して GitHub に公開するというのも、コミュニティーのためには大いに役立ちます。論文を書いて出版するのと同じか、ひょっとするとそれ以上の効果さえ生めるかもしれません。なので、そういう活動が肌に合っていると思えば、そちらに取り組むのが良いと思います。

一番大切なことは、とにかくアウトプットをすることです。ゼロよりは何か捻り出すほうが断然良いです。そして、自分が持っているもののなかで、どれをアウトプットすればコミュニティーのためになるかということを基準にアウトプットすることを決めていけばよいと思います。コミュニティーの役に立つことを続けていれば、長期的には研究コミュニティーから逆に自分が大事にされる番が回ってくると思います。

📝 論文の書き方

今回の内容は抽象的な考え方を中心にお話しました。具体的な論文の書き方については、以前の記事「論文の書き方」に書いたのでそちらも参照ください。

おわりに

このような言語化の機会を与えていただいたことに感謝です。これまで感覚的に研究を進めることが多かったので、言語化しているうちに自分でもハッとさせられることが多くありました。研究の取り組み方は三者三様だと思いますが、一つの事例として皆さんの参考になれば幸いです。

連絡先: @joisino_ / https://joisino.net