パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

ゼロから作る Deep Learning

すでに遅し、という気がしなくもないが、ここの所ずっと流行っている Deep Learning 系の本で、わかりやすいと評判のこの本を読んでみた。以前「人工知能は人間を超えるか」という本も読んで、おおざっぱなイメージは掴んでいたが、実際ディープラーニングがなんなのかは良くわかっていなかった。この本を読んで、自分でも文字認識のプログラムが書けそうに思えるくらいには理解したような気がする。

要するに、ある入力があった際にある出力をする関数を作りたいのだが、それをどうやってつくるか、というのが一つの見方だろうか。入力と出力のペアがあれば、学習によってその関数が作れるのが Deep Learning の凄い所らしい。Deep にすることで、表現できる関数の種類が大きく広がる。一方、学習で関数を収束させにくくなるのを克服する手法が色々提案されている感じ。昔は、この関数を人間が考えて、良い性能の関数が作れた人が偉い、みたいな世界だったが、これからは、良い性能の関数を生み出せる学習方法とかニューラルネットの構造とかを見つけられた人が偉い、みたいな事になるように思えた。

次は、良い性能の関数を生み出せるニューラルネットの構造を見つけられるニューラルネットを作った人が偉い、ということになるのかな。これは繰り返せるので、この階層を重ねていくと性能をどんどんあげていけるとか? これを Deep Deep Learning とか呼ぶ… かも。

とりあえず入力と出力データのペアを(できるだけたくさん)用意すれば、万能のニューラルネットが学習して、目的の関数を作れるようになればいいのにな。それは近い将来かもしれない。

ちなみに、この本を読んで Python が使えるようになろうと思ったが、まだ、あまりちゃんと掲載されているコードを読んでいないので、そっちの成果は出ていなかったり…