最終更新日:
著者のRichmond Alake氏は、イギリス在住のコンピュータビジョンエンジニアです。同氏がMediumに投稿した記事『研究論文の読み方:機械学習実務者のための実用的アプローチ』では、研究者でなくても機械学習に関連する学術論文を読める方法が解説されています。
研究活動がさかんな機械学習の最新情報を入手するには、専門メディアやブログだけではなく、最新の学術論文を読むのが重要となります。しかし、学術論文を読むとなると、二の足を踏む人が少なくないのが事実です。
こうしたなか、Alake氏は学術研究の経験がなくても学術論文を読む方法として、以下のような7つのステップを提案しています。
学術論文を読むための7つのステップ
|
なお(Alake氏の記事には書かれていないことですが)NeurlPSのようなトップカンファレンスで採択される論文は英語で執筆されています。英語の学術論文であっても、DeepL翻訳等で翻訳すれば、論文の大意は日本語で理解できるでしょう。
なお、以下の記事本文はRichmond Alake氏に直接コンタクトをとり、翻訳許可を頂いたうえで翻訳したものです。また、翻訳記事の内容は同氏の見解であり、特定の国や地域ならびに組織や団体を代表するものではなく、翻訳者およびAINOW編集部の主義主張を表明したものでもありません。
目次
AI/ML研究出版物を理解する方法
データサイエンティストや機械学習の専門家に、研究論文を読むことは必要だろうか。
短い答えは「イエス」だ。また、正式な学歴がなかったり、機械学習の分野で学部卒の学位しか取得していなかったりしても、心配する必要はない。
学術論文を読むのは、学歴がない人にとっては気が重いかも知れない。しかし、学術的な読書経験がないことが、データサイエンティストが機械学習やAI開発のための貴重な情報源や知識を活用することの妨げになってはならない。
この記事はあらゆるスキルレベルのデータサイエンティストを対象として、NeurIPS、JMLR、ICMLなどの学術誌に掲載された研究論文を読むための実践的なチュートリアルを提供する。
研究論文の読み方に本格的に取り組む前に、研究論文の読み方を学ぶ最初のフェーズでは、関連するトピックと研究論文の選定について説明する。
・・・
ステップ1:トピックの特定
機械学習やデータサイエンスのドメインには、多くのテーマドメインが存在する。しかし、このことは必ずしも機械学習のなかの各トピックのすべてに取り組むことが最良の選択であることを意味していない。
入門者向けの知識を全般的に学ぶのは勧められるが、長期的に機械学習を学ぶ場合、キャリアの展望、機械学習の実践、業界の関心から言って専門化にシフトすることが多いと推測される。
ニッチなトピックを見極めて取り組むのは難しいかも知れないが、結構なことである。しかし、経験則から言ってプロフェッショナルなポジションを得ることに興味がある分野か、あるいはすでに経験があるML分野を選択するのが良いだろう。
ディープラーニングは私の興味のある分野のひとつで、私はコンピュータビジョンの問題を解決するために、アプリでディープラーニングモデルを専門的に使っているコンピュータビジョンエンジニアだ。そのため、ポーズ推定、行動分類、ジェスチャー識別などのトピックに興味がある。
役割にもとづいたML/DSの職種と関連するテーマの例を以下に示すので、参考にしてほしい。
機械学習関連の職種とトピックの対応表
コンピュータビジョンエンジニア | 畳み込みニューラルネットワーク、リアルタイムオブジェクト検出、敵対的生成ネットワーク、ポーズ推定 |
自然言語処理エンジニア | Transformer、リカレントニューラルネットワーク、LSTM、言語モデリング、計算言語学、形態素解析、テキスト分類、単語埋め込み |
データエンジニア | データパイプライン、データモデリング、セキュリティとプライバシー |
データサイエンティスト | データパイプライン最適化、データ拡張、データビジュアライゼーションアプローチ、パターン認識 |
ディープラーニングエンジニア | シングルショット検出、Transformer、特徴抽出 |
ロボティクスエンジニア | 逆運動学、自動化、マッププランニング、強化学習 |
AI倫理学者 | AI倫理、説明可能なAI |
この記事では「ポーズ推定」というテーマを選んで調査し、関連する研究論文を選んで研究してみよう。
・・・
ステップ2:研究論文を探す
機械学習関連の研究論文、データセット、コード、その他の関連資料を調べる際に使用する最も優れたツールのひとつがPapersWithCodeだ(※訳註2)。
PapersWithCodeのウェブサイトにある検索エンジンを使って、私たちが選んだトピックである 「ポーズ推定」に関連する研究論文やコンテンツを入手しよう。以下の画像は、その方法を示している。
検索結果のページには、検索したトピックに関する短い説明と、関連するデータセット、モデル、論文、コードの表が表示される。詳しい説明は省略するが、今回のユースケースで興味があるのは、(トピックに関連した)「コード付きの素晴らしい論文」である。このセクションには、タスクやトピックに関連する論文が含まれている。この記事では「DensePose:Dense Human Pose Estimation In The Wild(DensePose:未加工な密になった人間のポーズの推定)」を選んだ。
・・・
ステップ3:ファーストパス(コンテキストと理解を得る)
この時点で私たちはすでに研究する論文を選択し、その内容から価値ある学習や発見を引き出す準備を整えている。
最初にやってしまいそうなことは、ノートを書き始め、文書の最初から最後まで読み、そしておそらく途中で休憩を取ることであっても不思議ではない。しかし、研究論文の内容に関するコンテキストを把握することが、より実践的な読み方である。どんな研究論文でも、タイトル、要旨、結論の3つは理解を得るための重要な部分だ。
選んだ論文におけるファーストパスの目標は、以下の通りである。
- その論文が(自分が選んだトピックと)関連性があることを確認する。
- 論文の内容、方法、知見を知ることで、その論文のコンテキストを把握する。
- 著者の目標、方法論、成果を認識する。
タイトル
タイトルは、著者と読者が情報共有する最初の場である。したがって、研究論文のタイトルは直接的で、曖昧さを残さないように構成される。
研究論文のタイトルはその研究と読者の仕事との関連性を示すものであり、最も重要なポイントだ。タイトルの重要性は、論文の内容を簡単に認識させることにある。
この記事で採りあげる事例の場合、タイトルは 「DensePose:未加工な密になった人間のポーズの推定」である。これは、研究の大まかな概要を示し、高い活動レベルや現実的な状況の環境において、適切にポーズ推定を提供する方法を検討していることを意味する。
要旨
要旨の部分は、論文の内容を要約したものだ。300~500文字程度の短いセクションで、その論文の内容を端的に伝えるものである。要旨は、論文の内容、研究者の目的、方法、そして技法などの概要を説明する短い文章でもある。
機械学習の研究論文の要旨を読むと、通常、データセット、手法、アルゴリズム、その他の用語について言及されているのに出くわす。論文の内容に関連するキーワードは、コンテキストを提供する。メモを取り、すべてのキーワードを記録しておくと便利だろう。
今回の論文「DensePose:未加工な密になった人間のポーズの推定」の場合、要旨の中で以下のキーワードを確認した:姿勢推定、COCOデータセット、CNN、領域ベースモデル、リアルタイム。
結論
特に高度な学術的経験を持たないデータサイエンティストや実務家の場合、ファーストパスの段階で論文をいちばん上から下まで読むと、疲れを感じることが少なくないだろう。論文の後半部分から情報を抽出することは、長い勉強セッションの後では退屈に思えるかも知れないが、結論部分は短いことが多い。したがって、ファーストパスで結論のセクションを読むことが推奨される。
結論のセクションは、その研究の著者(たち)と/あるいはその貢献、成果、将来の発展に関する約束、限界について簡潔にまとめたものだ。
研究論文の主な内容を読む前に結論の部分を読んで、研究者の貢献、問題のドメイン、成果が自分のニーズに合っているかどうかを確認しよう。
この格別に簡単なファーストパスのステップに従うことで、研究論文の範囲と目的、そして内容のコンテキストを十分に理解して概観できる。このステップの後にもう一度じっくりと読み返すことで、より詳細な情報を得られる。
・・・
ステップ4:セカンドパス(内容に親しむ)
内容に親しむのは、最初のステップに関連するプロセスである。このプロセスは、研究論文の中の序論セクションや図表に関わるステップだ。
前述したように、論文の知見に親しむ作業は後のステップでより詳細で包括的な検討を可能にするためのものなので、研究論文の核心にいきなり踏み込もうとする意気込みは必要ない。
序論
研究論文の序論は、研究活動の目的を概観するために書かれる。こうして書かれた研究の目的は、問題領域、研究範囲、先行研究の取り組み、方法論などに言及し説明する。
一般に序論では、類似したあるいは異なる方法を用いて同様の問題に取り組んだ過去の研究成果との対応関係が見出される。他の論文の引用により、問題領域の範囲と幅が示され、読者の探索領域が広がる。この時点では、ステップ3で説明した手順を取り入れるだけで十分だろう。
序論がもたらすもうひとつの利点は、研究論文の内容に近づき、理解するために必要な知識を提示されることである。
グラフ・図解・数値
研究論文の中にある図解資料は、問題定義の根拠となる要素や提示された方法の説明を読者が理解できるようにする。一般的に論文では新規技術の定量的性能に関して、類似のアプローチと比較した情報を提供するために表が使用される。
一般的にデータや性能を視覚的に表現することで、論文のコンテキストの直感的理解を養える。前述の高密度ポーズの論文では、著者が論じるポーズ推定アプローチに関する性能をイラストで表現している。
ディープラーニングの分野では、人工ニューラルネットワークの構造をトポロジカルに描いた図解がよく見られる。これも読者の直感的な理解を助ける。イラストや図解を使って読者自身が情報を解釈し、結果がどうあるべきかという先入観を持つことなく、より広い視野を得られるのだ。
・・・
ステップ5:サードパス(熟読)
サードパスはセカンドパスと同様に、本文のより重要な部分をカバーすることになる。このパスで最も重要なことは、自分にとって難しいと思われる複雑な計算や技法の定式化を避けることだ。また、このパスでは、理解できなかったり馴染みのなかったりする言葉や定義も読み飛ばせる。こうしたわからない用語、アルゴリズム、技法は、後で読み返すためにメモしておくべきだろう。
このパスでは、論文の内容を広く理解することが第一の目標である。要旨から結論まで再び論文を読み進めていくが、セクションとセクションの間に必ず休憩を挟もう。さらに、メモ帳を用意し、重要な洞察や教訓を聞き慣れない用語や概念と一緒に書き留めておくことをお勧めする。
ポモドーロ・テクニックは、熟読や勉強に割く時間を管理するのに有効な方法だ。この方法を説明すると、1日を仕事のブロックに分割し、その後に短い休憩を入れるというものである。
私の場合は50分勉強して15分休憩するという、50対15という分け方が効果的である。この方法を2回連続で行い、その後30分ほど長めの休憩を取るようにしている。時間管理術に慣れないうちは25/5など比較的簡単な分け方を採用して、自分の集中力や時間的な余裕に応じて、時間配分を調整するとよいだろう。
・・・
ステップ6:フォースパス(最終パス)
最後のパスでは前のパスでメモしていた用語、専門用語、概念、アルゴリズムなどを確認するため、通常、メンタルと学習能力が要求される。このパスでは、記録された論文の不明な部分について外部資料を使って理解することに重点を置く。
未知のテーマに対する徹底的な学習は、期間の定めがなく、時には数日から数週間に及ぶこともある。最終パスを成功に導くための重要な要素は、さらなる探求のために適切なソースを突き止めることだ。
残念ながら、インターネット上には求めている情報をまとめて豊富に提供してくれるソースはない。しかし、インターネット上には複数のソースがあるので、それらを適切に活用することで知識のギャップを埋められる。以下に、そのようなリソースのいくつかを紹介する。
- 機械学習のSubreddit
- ディープラーニングのSubreddit(※訳註3)
- PapersWithCode
- NeurlPS、ICML、ICLRなどのトップカンファレンス
- Research Gate(※訳註4)
- Apple公式機械学習サイト
研究論文の「参考文献」のセクションでは、技法やアルゴリズムについて言及されている。したがって、調査している当の論文は参考文献からインスピレーションを得たり、それらにもとづいていたりする。そのため、参考文献のセクションは熟読セッションで利用する貴重な情報源となる。
・・・
ステップ7:要約(オプション)
10年近く技術的なテーマや職種に関わる学問や職業に携わってきたなかで、新しく学んだ情報を長期記憶に留めておくために最も効果的な方法は、探求したトピックを再確認することだった。新しい情報を自分の言葉で書き直したり、タイプしたりすることで、提示されたアイデアを理解しやすく、かつ記憶しやすいように補強できた。
さらに、ブログやソーシャルメディアを活用することで、学習成果やメモを公開することも可能だ。その話題やテーマに慣れていない読者を想定して、掘り下げたばかりのコンセプトを多くの人に説明しようとする試みには、トピックを本質的かつ詳細に理解していることが必要となる。
・・・
まとめ
データサイエンティストやMLの初心者が研究論文を読むのは、恐れを抱くほど挑戦的なことであるのは疑いようがない。ベテランでさえも一瞥して研究論文の内容をうまく消化するのは困難だ。
データサイエンスという職業の性質は非常に実践的かつ複雑だ。つまり、データサイエンスの領域はまだ発展途上の分野であるAIと密接に関連しているため、実務家にも学術的なマインドセットを使うことが要求される。
要約すると、研究論文を読むために踏むべきすべてのステップは以下の通りである。
- トピックを特定する。
- 関連する研究論文を探す。
- タイトル、要旨、結論を読んで、研究活動の狙いや成果を漠然と理解する。
- 序論を読み込むと同時に論文で紹介されている図解やグラフを探索して内容に慣れる。
- 熟読して論文の隅から隅までに書かれた主たる内容を消化する。
- 知らない言葉、専門用語、概念、方法などを外部の資料を使って調べる。
- 本質的な要点、定義、アルゴリズムなどを自分の言葉でまとめる。
お読み頂きありがとうございました。
この記事は、Nvidia Developerブログで最初に公開されました。
・・・
記事がお役に立てれば幸いです。
私とつながったり、この記事と似たようなコンテンツを探したりするには、次のようにしてください。
- Mediumメンバーになることで、私の執筆をサポートする
- 私のニュースレターのEメールリストに登録する
- LinkedInにアクセスして、私に連絡を取る
- Twitterから私の最新情報をリアルタイムに取得する
原文
『How to Read Research Papers: A Pragmatic Approach for ML Practitioners』
著者
Richmond Alake
翻訳
吉本幸記(フリーライター、JDLA Deep Learning for GENERAL 2019 #1取得)
編集
おざけん