前編では延々とニューラルネットワークの説明が続いてしまいましたが、今度はそのニューラルネットワークでどのようにしてディープラーニングを行っているのかについてご説明してこうと思います。
ディープラーニングというのは、基本的には「物事を理解するための手法」に過ぎません。その際に、ニューラルネットワークが使われると言うのはご説明のとおりです。
では、一体それはどのようにして使われているのでしょうか?
情報の繋がり、人が学んできた道を辿る機械
ニューラルネットワークの強みは、この小さな計算装置(パーセプトロン)の繋がりを自在にコントロールできることに有ります。
前編で使った「哺乳類判定器」の例で言えば、「哺乳類の選定」と「卵を生むかどうか」の繋がりは非常に重要だったため、より重点的な太い繋がりを作りました。しかし、「魚の選定」においては、「卵を生むかどうか」よりも、「足があるかどうか」の方が重要だと考えられます。それは、卵を生まない動物は哺乳類ぐらいで、足がない動物の大半が海棲生物だからです。
では、どうやって繋がりの太さや情報の重要性を決めるのでしょう?
それは「人が教える知識として学ぶ」か「経験則から徐々に学ぶ」かのどちらかです。
人が教える場合は「教師あり学習」と呼ばれ、正解と不正解をいちいち機械に教えます。この場合、情報の正確度や重要性は人間を通して機械は簡単に理解できるということです。つまり、人が「哺乳類は卵を生まない、恒温動物だ」と教え、さらに「クジラのような海棲哺乳類もいるから気をつけてね」とわざわざ教えるのです。
こうすれば、機械は哺乳類→恒温動物、哺乳類→非卵生生物、と関連付けて情報を整理することが出来ます。
しかし、「経験則から学ぶ」場合、これは「教師なし学習」と呼ばれ、正解か不正解かは教えません。これだと何も理解できないのではないかと思いますが、そうでもないのです。
例えば、クジラやイルカのようなややイレギュラーな海棲哺乳類の存在は、「教師あり」の場合には人が教えましたが、「教師なし」の場合には「恒温・肺呼吸・胎生・足なし」の動物がイルカやクジラしかおらず、魚類とも全く違うことに気付いて初めて理解します。
きちんと、「哺乳類」と分類するかどうかは分かりませんが、少なくとも「彼らが魚より哺乳類に近い生き物である」というのは、いろいろな生物を見ていく上で気付くはずです。色々な生物を見ていく内に、今まで魚だと思っていたイルカがエラ呼吸をしていないことに気づき、卵を生まずに胎児をそのまま生み出す事に気づきます。そして、哺乳類以外の動物の殆どが「卵生」であることに気付くので、「卵生ではなく胎生である」というのが哺乳類の判断において重要であると考えるようになります。
結果として、イルカやクジラは哺乳類と言える存在であり、単に陸で足を使って生活するかヒレを使って海で生活するかの違いしか無いのだと理解することになります。
これは人が哺乳類や魚類を分類してきたのと殆ど同じ過程です。
人も「教師なし学習」型の機械と同じように、誰も教師のいない世界で動物の事を学び、自ら動物を分類し、哺乳類という種族で分ける事を思いついたのです。もしかすると、機械は全く別の理解をして、人とは違った解釈で彼らを分類するかもしれません。もしそれが、人にも理解できる客観的な解釈だった場合、それは「機械が新たに発見した哺乳類の分類方法」ということになります。
人工知能にとって本当に必要なことは、この「教師なし学習」です。というのも、機械が処理できる情報量に対して、人間の処理できる情報量は遥かに少ないのです。人が寝ている間も、食事をしている間も、機械は考え続けます。そして、人の代わりに物を理解するようになり、人の代わりに人に近い判断ができるようになるのです。