FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

どのように論文を読むか

仕事柄論文を読む機会は多くあって、自分なりの読み方、まとめ方、深堀の仕方などはある程度ルーティンがあります。しかしそれが本当に最適解なのかどうかは分かりません。もっと自分に合ったやり方があるかもしれないし、今の方法がベストなのかもしれない。

"How to read a paper" という、論文、というか論文形式のメモがあり、これは当時カナダのWaterloo大学にいたSrinivasan Keshav先生が長年の経験からどのように論文を読めばよいのかというのをまとめたものになっています。これを読んでみて、なるほどなと思ったのでメモとして残しておきます。

ちなみに検索するとこの先生は現在はケンブリッジ大学の先生のようです。よく見てみると日本語に訳されている方もいるようで、原文と日本語訳は一読の価値があります。

http://svr-sk818-web.cl.cam.ac.uk/keshav/papers/07/paper-reading.pdf

svr-sk818-web.cl.cam.ac.uk

github.com

以下は私のメモ。


ポイントとしては、「まずは浅く」「重要と思ったら深く」という手順で読む。ここでは3-passで読むとよいとなっている。

  • 1回目。だいたい5~10分で終わらせる。アブストとIntroductionを注意深く読む。見出しをチェックする。結論を読む。参考文献で、既読のものをチェックする。
  • 2回目。だいたい1時間で終わらせる。論文のグラフや図を注意深く読む。論文の内容を把握する。
  • 3回目。4~5時間かける。論文の内容を脳内で再実装する。つまり、著者と同じ仮定で同じことを考えてみて、これと実際の論文を比較することで、その論文の革新性、隠れた欠点や思い込みを見つける。

すべての論文についてこれをやる必要はなくて、それぞれのステップはフィルタリングの役目を果たしている。つまり、1回目でAbstractを読んで「なんか違うな」と思ったらもう読まなくてもよろしい。2回目は、輪講で発表したり、内容を要約するためにはこれくらい必要となる。3回目は、自分の研究分野と被っており、深く理解する必要がある場合にここまで突っ込む、ということになる。

このステップをたどることにより「優れた論文とは何か」ということまでわかってくる。2回目のpassにおいて、グラフや図を見て、「軸が怪しいな?」「抜けがあるな?」というのは、急ごしらえの粗悪品の論文の可能性が高く、あまり評価されないかもしれない。

論文の執筆者にとっても、この3ステップの事実はとても重要なものとなる。つまり「多くの読者は、さらっと、1回きりしか論文を読まない」ということである。つまり、頭から読み始めて「この論文は何をターゲットにしているのか」「問題はなにか」「解決策は何か」ということを明快に提示し、読者に可能な限り分かりやすくストーリーを伝える必要がある。難しいことだけ、ストーリーも考慮せずに適当に書くと、多くの読者は「なんじゃこりゃよく分からん」と言って読むのをやめてしまい、それきり決して読まれることはない。このため、論文の著者は可能な限り注意深くストーリーを構築し、読者に明確な流れを伝える必要がある。


次に文献調査の方法。新しい分野に手を出すときは、文献調査が必要になる。そのためには多くの論文を読む必要があり、単純に頭から攻めていくと大変な労力となる。これにも、3-passの方法が提案されている。

  • ステップ1. Google ScholarCiteSeer (注: 未だとarXivなども使えるかな?)を使って、キーワードを使って最近の論文を3~5件探し出してくる。

ここでは、最近の研究の傾向や、関連論文の調査が重要。研究の概要をつかんで、運が良ければ最近の研究のサーベイ論文へのリンクが見つかるかもしれない。そうすればもうやることはない!

  • ステップ2. 参考文献によく引用される著者を見つけ、その人のウェブサイトにアクセスし、彼らが最近発表した論文を調査する。

ステップ2では、サーベイ論文が見つからない場合に、この分野を引っ張っている先生の論文を見つけ、その人が今何を研究しているのかをチェックする。

  • ステップ3. トップ会議のProceedingsに目を通し、質の高い関連研究を見つける。これらの論文と、ステップ2で見つけた主要な著者の論文をチェックし、上記の論文を読むためのpassを2まで行う。

これにより文献調査が完了となる。このステップは検索技術に似ているような気がしている。まずはカオスの海から、重要そうな、何度も現れる著者を見つけて、その分野のルートとなるノードを見つける。そのノードから広がっている重要そうな項目を見つけ、全体を把握するという訳だ。


ちなみに自分のやり方は少し違う。自分の場合は多くの場合1-passなのだが(だからこそ明快な論文を書くことは重要である!)、例えばPowerPointなどに自分の言葉で1段落ずつ要約を書き起こしてみることだ。図を自分で書いて見たりして内容を理解しようとする。この方法は、上記のステップ2~3をいきなり実行するようなものなので、結構な労力も掛かるし、数をこなすのには向かないのかもしれない。

あと、やはりpass-2を1時間でこなせる英語読解能力の違いは大きいなと思う。自分、いやNon-Nativeの方は十数ページの論文をざっと読むだけでもかなり時間がかかると思う。だからこそ、現代技術の粋を集めた機械翻訳を有効的に活用していきたい...