本記事は、Richmond Alake氏による「How You Should Read Research Papers According To Andrew Ng (Stanford Deep Learning Lectures)」(2020年7月2日公開)の和訳を、著者の許可を得て掲載しているものです。
#【保存版】アンドリュー・ウン教授に学ぶ論文の読み方(スタンフォード大学の深層学習講義)+追加情報
機械学習と教育の世界で著名な人物による公開研究論文を通して、知識を獲得する方法を説明します。
Photo by Annie Spratt on Unsplash
###「知恵は学校教育の産物ではなく、それを獲得しようとする生涯にわたる試みの産物である」アルベルト・アインシュタイン
##はじめに
人工知能や機械学習の分野で、最先端の研究を行っている人たちが発信する情報を理解する能力は、すべての真剣に機械学習に取り組んでいる人が身につけるべきスキルです。
有益な人材であり続け、知識を増やすには、機械学習の実務者は学問的な考え方と習慣を持つ必要があります。AI、ML、DLは急速に進化しており、この分野についていくために、研究論文を通してしか得られない知識を身につける必要があります。
この記事では、研究論文を効率よく目を通す方法に加えて、以下のことをお伝えします。
- ある分野の知識を得るために論文集を読むための体系的な方法
- 研究論文の正しい読み方
- 論文や重要な情報を探すのに役立つオンラインリソース
この記事の主要な内容を知りたい場合は、「研究論文を読む」までスクロールしてください。
##まず、Andrew Ng教授とは?
この記事で紹介している情報は、Andrew Ng教授がスタンフォード大学で行った講義から得たものです。また、この記事の情報は、個人的なコツやインターネット上のリソースからの情報で補足しています。
まず、Andrew Ng教授を簡単に紹介します。
Andrew Ng教授は、おそらくインターネット上で最も有名な(そして注目されている)機械学習の教師です。彼は、Deeplearning.aiとCourseraの共同創設者でもあります。
オンライン教育の分野で継続的に活躍する一方で、スタンフォード大学の教授も務めています。
Andrew Ng教授についての詳しい情報は、google検索してみてください。
周囲の人が持っているスキルや習慣を人が身につけるのは自然なことで、博士課程の学生の多くが、研究論文の内容を適切に効率よく消化するスキルを身につけているのもそのためです。これはほぼ事実であり、先の動画の中でもAndrew氏はかなり早い段階でそのことに言及しています。
しかし、私たちは博士課程の学生ではありませんし(そういう人もいるかもしれませんが)、普通の人が研究論文を読み、その内容を心から理解するために必要なスキルは、どのように身につければよいのでしょうか。
##研究論文を読む
Photo by Christa Dodoo on Unsplash
才能があれば、機械学習の分野での専門性は有益です。例えば、コンピュータビジョンの分野で一般的な知識があることは称賛に値しますが、ポーズ推定などの重要な技術に特化した知識や専門技術があれば、その分野の専門家を探している企業や組織にとって、より魅力的なものとなります。
それでは、ポーズ推定をテーマにして、ポーズ推定に関する研究論文を読む方法を考えてみましょう。
###1. 第1ステップでは、テーマに焦点を当てたリソースを集めます。リソースには、研究論文、Medium記事、ブログ投稿、動画、GitHubリポジトリなどがあります。
「ポーズ推定」という言葉でgoogle検索すると、このテーマに関する情報を含む主要なリソースが表示されます。このステップの目的は、YouTube動画、実装ドキュメント、そしてもちろん研究論文など、関連するすべてのリソースを照合することです。この段階では、重要と考えるリソースを無制限に集めるのが理想です。有益な論文、動画、記事の候補リストを必ず作成してください。
###2. 第2ステップでは、テーマに関するリソースを深く掘り下げます。候補リストの各リソースの理解度を把握する方法があることが非常に重要です。Andrew Ng教授は、以下の表のように、理解度別のリソース表を作ることを提案しています。
理解度別リソース表 by Richmond Alake
リストに追加した各論文の内容の少なくとも10-20%に目を通すことをお勧めします。これにより、リソースの導入部に十分に触れ、その関連性を正確に評価できるようになります。
より関連性の高い論文やリソースについては、より高いレベルの理解へ進むべきです。最終的には、自分が完全に理解できる内容の適切なリソースをいくつか特定します。
「いくつの論文やリソースを読めば十分なのか」と自問しているのではありませんか。
私には答えがありませんが、Andrew氏にはあります。
Andrew氏によれば、5-20本の論文を理解すれば、そのテーマに関して基本的な理解が得られ、おそらく技術の実装に進むのに十分な理解が得られるとのことです。
50-100本の論文を理解すれば、その分野に関して高度な理解を得られるでしょう。
リソースに目を通して、特に重要な情報を抽出した後は、以下の表のようになります。
更新版・理解度別リソース表 by Richmond Alake
###3. 第3ステップは、私が研究論文を理解しようとした時に得た簡単なコツです。構造化されたメモを取り、論文の重要な発見、知見、技術を自分の言葉で要約します。
以下のステップでは、1本の研究論文をどう読むかに焦点を当てます。
##1本の研究論文を読む
Photo by Alfons Morales on Unsplash
理解を目的とした読解は、論文の内容を一通り読むということではありません。Andrew氏によれば、最初の単語から最後の単語までを一度に読むことは、理解のための最良の方法ではありません。
論文の内容を理解するためには、3回以上目を通す必要があります。
###4. 1回目は、論文のタイトル、要旨、図表から読み始めます。
###5. 2回目は、序論、結論、図表を読み、残りの部分に目を通します。
論文の序論と結論には、論文の内容に関する明確で簡潔な情報と、研究結果の要約が含まれています。ここで提示される情報には、通常、補足情報はなく、重要な情報のみが含まれます。これは、論文の他の部分に進むのに必要な特に重要な情報を得られるため、読者にとって有益です。
###6. 3回目は、論文全体を読みますが、複雑な数学や技術の公式など、未知のものは読み飛ばします。ここでは、理解できない用語や馴染みのない用語を読み飛ばすこともできます。
###7. ある分野について詳細に研究したい場合は、さらに何回か読むといいでしょう。その場合は、主に論文で紹介されている数学、技術、未知の用語の理解に焦点を当てます。
通常、情報収集や工学的な目的で研究論文を読んでいる場合、特にあと20本も読む論文がある場合は、詳細な研究に非常に時間がかかる可能性があります。
私はこの記事で紹介しているプロセスを、畳み込みニューラルネットワークLeNetを紹介するオリジナルの論文で実行しました。重要な内容をメモに要約し、それを後でMediumの一連の記事に変えました。
LeNet-5 CNNアーキテクチャの理解と実装(深層学習)
この記事では、カスタム実装したLeNet-5ニューラルネットワークを使用して、MNISTデータセットの画像分類を実行します。
towardsdatascience.com
深層学習におけるサブサンプリング層の理解
平均プーリング、最大プーリング、サブサンプリング、ダウンサンプリングはすべて、深層学習で遭遇する言葉です。
towardsdatascience.com
畳み込みニューラルネットワークにおけるパラメータ共有(または重み共有)の理解
パラメータ共有や重み共有は、深層学習研究で見落としがちなトピックです。
towardsdatascience.com
畳み込みニューラルネットワークにおける局所受容野の理解
畳み込みニューラルネットワークのすべてのニューロンがなぜ接続されていないのか、疑問に思ったことはありませんか?
towardsdatascience.com
##自分自身に質問する
Andrew氏は、論文を読む時に自分自身に問いかけるべき質問を提案しています。これらの質問は、通常、論文で提示されている重要な情報を理解しているかを示すものです。重要な情報を理解するという目的から逸脱しないように、私は以下の質問を指標として使っています。
- 論文の著者が何を達成したいこと、達成したことは何か?
- 論文で新しい方法が紹介されていた場合、その方法の重要な要素は何か?
- 論文のどの内容が自分に役立つか?
- 他に参考にしたい文献はあるか?
研究を支援する追加リソース
いくつかのオンラインリソースを利用すると、関連情報の発見と検索が比較的容易になります。以下は例です。
- 機械学習に関するsubreddit
- 深層学習に関するsubreddit
- PapersWithCode
- NIPS、ICML、ICLRなどのトップカンファレンス
- Research Gate
##おわりに
###「長く活躍するためには、短期的ではなく、継続的に学ぶこと」アンドリュー・ウン
私は機械学習とコンピュータビジョンの分野に不慣れで、知らないことがたくさんあります(謙遜ですが)。それでも、個人が一貫して知識を求めていれば、分野に関係なく、標準を超える理解や専門性が得られると私は信じています。
Andrew Ng教授が紹介してくれた方法を参考に、私は毎月4本以上の研究論文を、理解できるところまで読んでいます。正直に言うと、LeNetの論文は、心底理解するのに1週間半くらいかかりました。しかし、回数を重ねるほど、研究論文を読んだり理解したりするのがより上手く、より速くなります。
Andrew氏は動画の中で、読む予定の研究論文の束を持ち歩いていると述べています。Andrew氏は機械学習の分野の高名な人物であり、彼の習慣や学習法を真似ることは、学習の道のりに役立つと思います。
この記事が役に立ったことを願っています。
私とつながりたい方や、類似のコンテンツをさらに見つけるには
コンピュータビジョンと機械学習の修士号を取得して学んだこと
コンピュータビジョンや機械学習の分野でさらに高度な研究を計画している場合は、これを読んでください。
towardsdatascience.com
人工知能のアルゴリズムバイアスに関する議論(および対処)の必要性
あなたにはこの問題で果たすべき役割があります。
towardsdatascience.com
##翻訳協力
この記事は以下の方々のご協力により公開する事ができました。改めて感謝致します。
Original Author: Richmond Alake (LinkedIn)
Original Article: How You Should Read Research Papers According To
Andrew Ng (Stanford Deep Learning Lectures)
Thank you for letting us share your knowledge!
選定担当: @gracen
翻訳担当: @gracen
監査担当: -
公開担当: @gracen
##ご意見・ご感想をお待ちしております
今回の記事はいかがでしたか?
・こういう記事が読みたい
・こういうところが良かった
・こうした方が良いのではないか
などなど、率直なご意見を募集しております。
頂いたお声は、今後の記事の質向上に役立たせて頂きますので、お気軽に
コメント欄にてご投稿ください。Twitterでもご意見を受け付けております。
皆様のメッセージをお待ちしております。