読者です 読者をやめる 読者になる 読者になる

機械学習の研究日誌(1)

 前回のエントリ(新しい世界に踏み出そうか迷っている - 祝いのカンパナ)を書いたところ、機械学習内外の多くの方からご助言を頂いた。意見を総合すると「機械学習はなかなか難しいけど、やってみたらいいんじゃない?」とのことだったので、せっかくの人生だしちょっとやってみることにした。

研究方針

 研究をやる大前提として、

  • 機械学習をマスターすることを目的にしない
  • 機械学習を勉強していくプロセスを楽しむ

の2つの基本方針を決めた。いかんせん機械学習は難しいという事実は変わりないので、難しくてやっていくうちに出来なくて精神的に苦しくなってしまうのを避けるためだ。こうしておけばどうにも難しくて研究を辞めたくなった時でも簡単に辞められるので逃げ道の確保にも繋がる。

 また、「楽しんでできる範囲で留めておくと人間どこまでも伸びるんですよ」ということを昔先生に言われたことも思い出してこういう方針に決めた。受験勉強とかでもそうだけど、物事にハマるコツは「対象となることの難易度が易しすぎす、難しすぎない」ことだ。そういった感じで難しすぎない教材を選ぶとか、難しい箇所はパスして理解が付いてきたら後から読み返せばいいことにするとか工夫してあげることが大切だ。

 こうすると目標が無いので最終的にどこに行き着くかわからなくなってしまうけれど、それでいいんだと思う。日々の研究生活を楽しむこと自体が僕の人生を豊かにするし、やっていく過程で思わぬ副産物みたいなものが出来てそれが別のことに役立ったりするものだと思う。

学習の高速道路

 将棋棋士羽生善治先生がよくおっしゃってることだけど、今の時代はインターネットやコンピュータの普及によって、物事を学習する高速道路が敷かれている。なのでその高速経路を通って学習していけばマスターすることは早いんだけど、その高速道路の終点で大渋滞が起こっていて、そこから抜け出せるかどうかはまた別の話になってくる、というのが「学習の高速道路理論」と呼ばれている。

 では機械学習における学習の高速道路とは何かと言うと、

qiita.com

でも推奨されているスタンフォード大の先生が教えてくれるCourseraという無料のオンライン講座を受けることが今の定跡となっているらしい。なのでオンライン講座を受けてしまえばいいかと思うんだけど、その前提条件として数学の線形代数の知識とかが必要になってくるらしい。ということでまずは基本を固めることに重点を置いて研究を進めることにした。

最近読んだ本 

 最初から理論的な本を読んでしまうといきなり嫌になってしまうので、まずは数式とかが一切出てこない文庫本をいくつか読んだ。

 

人工知能の核心 (NHK出版新書 511)

人工知能の核心 (NHK出版新書 511)

 

  去年放送されて話題になった、NHKスペシャル 天使か悪魔か 羽生善治 人工知能を探るという番組がベースになっている本。単なる番組の再収録という感じでは全然なくて、羽生先生がほとんどの部分を書き下ろしている。2017年の最新の人工知能のトピックとか、羽生先生が考えている人工知能との付き合い方、人工知能に出来ること・出来ないことなどがまとまっていて面白かった。

 

  ディープラーニングとは今まで人間が経験則で決めていた特徴量を機械が自分で考えて獲得できる技術で、それが人工知能分野においていかに凄いことなのか、ということが数式なしで説明されている本。推論、探索、エキスパートシステムなど人工知能の歴史について書いてあるので、人工知能分野を俯瞰的に見るのにも適している本。ディープラーニングの章が難しかったので何回か読み返すことになると思う。

 

入門 コンピュータ科学 ITを支える技術と理論の基礎知識

入門 コンピュータ科学 ITを支える技術と理論の基礎知識

 

  前にも貼ったけど、機械学習以前にコンピュータ科学を俯瞰的に学習したいので読んでいる教科書。情報系の学生では無い人はこの節だけ読んでいけば概要を学習できますよ、というガイドが付いているのでそれに従って読み飛ばしながら読んでいる。それでも600ページある大書なのでまだ半分ぐらいしか読めてない。データストレージ、データ操作、OS、ネットワーク、アルゴリズム、プログラミング、ソフトウェア工学あたりは読んだ。これからDB、CG、人工知能、計算理論と章が進んでいく。読み飛ばしたところも後から読む予定なので、しばらくは読むことになると思う本。

 

プログラミングのための線形代数

プログラミングのための線形代数

 

  機械学習に必要な数学の知識としてオススメされていたので買った本。買ってみたら350ページもあって面食らっているんだけど1.2節の「行列と写像」のところだけでとりあえずはいいらしい。昨日届いたばかりなのでまだ少ししか読めてないけど、数学者のための数学ではなくてプログラマのための数学本ということで、説明がとてもわかりやすくて読みやすい。よくできたプログラミングの入門本を読んでいる時の感覚によく似ている。学生の頃もこういう教科書だったら数学が嫌いにならなくて済んだのに……。先生との相性ってとても大事だよなあと思った。受験生の頃も、先生が変わった途端にいきなり成績上がったこととかよくあったし……。

感想

 いざやり始めてみると、読みたい本とかがどんどん出てきて、これは時間がいくらあっても足りそうにないな、でも凄く長い間楽しめそうだな、ということを思った。大学って自分の好きな学問に時間をどんどん投資できて、一流の先生に教えてもらえて、凄く恵まれた環境だったんなんだな……ということを思い返した。なんで情報系の学科にしなかったんだろう、と毎日のように思うけど、でも30歳までに辿り着いたから幸運なのかな、とも思う。

 とりあえず、一歩踏み出せたなという感じがする。先週までは一歩踏み出すのにすらビビっていたから、それを考えたら大きな進歩だ。日中は暇さえあれば本を読んでいるので、やっぱり自分がやりたかった分野だというのは間違いない気がする。とにかく熱が冷めないうちにオンライン講座に取り掛かって面白がりたいので、線形代数の本だけは優先的にバーっと読んでしまいたい。楽しくできるペースでゆっくりやっていきたいと思います。