Blog
吉田です.
今日は,普段どのようにして専門知識を仕入れているかについて書いてみようと思います.特に自分が得意でない分野を知りたいと思った時に,どうするかに注目したいと思います.自分の専門の場合は,いくらでも時間を注ぐことが出来るので,世界中のリソースを全て探し当てて勉強すれば良いのですが,ちょっと興味が有るぐらいではそこまでやる時間は取れません.なので出来るだけ効率的に分かった気になるのが目標です.
まず,論文を直接読むのはあまり効率的では無いと思います.論文は広い分野の中の或る問題に対して一つの解決方法を書いているだけで,分野全体を俯瞰することは目指していません.論文だけ読んで分野全体を理解するには,最低50本ぐらい読む必要が有ると思います.
なので現実的にはサーベイや講義録を読むことになると思います.サーベイは,或る分野のそれまでの結果をまとめた文献のことです.例えば僕が研究している性質検査ですと,
Combinatorial Property Testing: Surveys and Works by Oded Golredich
などが有ります.
ある程度興味が定まった後に,サーベイを読むのはとても良いことだと思います.探し方も簡単で,”<興味のあるもの> survey”と言うクエリで検索すれば良いでしょう.
問題になるのは何に興味が有るのか分からない時でしょう.たとえば機械学習って大事な気がするけど,どこから手をつけて良いか分からない時などです.いきなりサーベイを探しても,機械学習全体が見渡せるサーベイは恐らく無いです.サーベイはもう少し限定した話に対して書かれていることが多いからです.
新しい分野を一から勉強し始めたいという時に便利なのが,大学の講義録です.ここで特にお薦めしたいのは海外(主にアメリカ)の大学の講義です.海外の大学では,学生が講義の内容を清書して提出するのが単位をとる条件になっているらしく,その清書された講義録がウェブに上がっていることが多いです.なので自学自習にとても向いています.
大学の講義の内容は主に三種類に分かれています.
(1) 毎年開設されている講義
機械学習とか自然言語処理とか,当たり障りの無いタイトルの講義です.枯れた内容を扱うので,日本にも同じ内容を扱った良い講義は有ると思います.ただ,海外の大学の方が授業回数が多く(25回ぐらい有る),最初からある程度深い話まで学べるというメリットがあります.
例としては,
Probability and Computing [pdf] by Ryan O’donnell
が挙げられるでしょう.これは確率と計算という学部生向けの講義です.最初の方はとても簡単ですが,最後の方はかなり高度な内容を扱っています.これが一つの資料で学べるのは凄いことだと思います.
(2) その年にしか開設されない講義
こちらは先生が今研究していることを好き勝手に話すという形式で,まさに先生が一緒に研究する院生を養うための授業になっています.この様な講義は残念ながら日本には殆ど無いです.僕も研究を始める時は,こう言った講義をかなり読みました.
例としては,
Graph Partitioning and Expanders by Luca Trevisan
が挙げられると思います.
私の個人ページへのリンクですが,昔読んで面白かった講義を以下にまとめています.
(3) 分野横断的な講義
これは専門知識を蓄えるというよりは教養を蓄えるのが目標の講義だと思います.これに関しては日本にも十分素晴らしいものがあり,例えば東大の学術俯瞰講義などが面白いです.
さて講義録で学ぶのが良いというのは分かりましたが,ではどうやって探せば良いでしょうか.基本的には講義録は各先生のウェブページにばらばらに存在していますが,最近はOpen Course Ware (OCW)の様に大学としてまとめて公開しているところも有ります.OCWは講義録,課題,ビデオなどをウェブから見れるようにしたもので,日本でも話題になったので,ご存知の方も多いかもしれません.例えば日本オープンコースウェア・コンソーシアムからは,日本でOCWを開設している大学を見つけることが出来ます.
世界でOCWに最も力をいれているのはMITで,公開されている授業はとてつもなく多いです.恐らく皆さんが興味があるのは,MathematicsとElectrical Engineering and Computer Scienceでしょう.
僕が読んだものの中で,比較的広い話題を扱っているものを少しだけリストアップしてみます.
- Advanced Algorithms by Michel Goemans: データ構造,線形計画法,近似アルゴリズム,ストリーミングアルゴリズムなどから広い話題.
- Randomized Algorithms by David R. Karger: 乱択アルゴリズム全般,これまでここに紹介した乱択アルゴリズムは大体載っていそう.
- Distributed Algorithms by Nancy Linch: 分散アルゴリズム全般
- Topics in Theoretical Computer Science: An Algorithmist’s Toolkit by Jonathan Kelner: 理論計算機科学からスペクトラルグラフ理論(グラフの固有値と性質の関係),幾何,束,線形計画問題や半正定値計画問題に対する反復法など.
- The Art of Counting by Richard Stanley: これは単に面白かっただけですが,只管,場合の数やある性質を満たす物の数を数えます.
僕の趣味が反映されて理論計算機科学寄りなので,実際には皆さんが興味が有るものを自分で見つけるのが良いと思います.例えば,
などは興味が有る人が多そうです.OCWに有る講義は(1)に分類されるものが多いので,最初に書いたように,自分が詳しくない分野を学ぶのに最適だと思います.もっと専門的な(2)に分類されるものは,学科や研究所単位のページの講義リストを見るのが良いかもしれません.例えば理論計算機科学の場合はTheory of Computation: Who is teaching whatを普段から良く見ています.今年で言うと,
- Philosophy and Theoretical Computer Science by Scott Aaronson
- Algorithms for Planar Graphs and Beyond by Erik Demaine, Shay Mozes, Christian Sommer, Siamak Tazari
がとても面白そうです.何だかMITの宣伝の様ですが,一番講義を公開することに積極的な大学なので仕方がありません.
講義録は事あるごとに色んな人に読むことを薦めているのですが,残念ながら実際に読み始めたという人は余り見ません.個人的にはかなり効率的な勉強法だと思っているのですが…一人で読むのが大変ならば,輪講形式で,周りの人を誘って一緒に読み進めるのも良いと思います.一つ目の利点としては,一緒に読むことでモチベーションを保つことが出来るということ.二つ目の利点としては,読み終わった後は複数の人が同じ知識を共有しているので,それを実際に製品開発に活かしやすくなるということが有ると思います.
Tag