AI、特にディープラーニングが想像以上の進化を見せているのは、みなさんご存じの通りだ。しかしこの、「ディープラーニング」という言葉、筆者にはどうにもふに落ちない部分がある。「ディープラーニングとは…である」という説明をしているサイトを見ても、「それ、昔のニューラルネットワークと結局何が違うの?」という疑問が沸いてくるのだ。

 手前味噌だが、弊社の「まるわかり!人工知能最前線」に掲載されているkeyword欄の定義から見てみよう。「深層学習フレームワーク」の説明に、簡潔な定義があった。『多層のニューラルネットワークに大量のデータで機械学習を施す「深層学習(ディープラーニング)」』であるという。つまり、「多層のニューラルネットワーク」であればいいわけだが、多層とは何層以上なのだろうか。

3層以上あれば「ディープ」

 同じ本の「脅威のディープラーニング、原型は日本人が開発」という記事の中で、『ニューラルネットを3層以上重ねたものを、一般に「ディープ・ニューラル・ネットワーク(DNN)」と呼ぶ』とある。つまり多層とは3層以上ということのようだ。このDNNに対して、また定性的だが「大量のデータを使って」学習させれば、「ディープラーニング」と名乗ってよいらしい。

 ちなみに同じ記事では「単純なニューラルネットワークの例」として3層構造の図を示している。単純な例でもDNN、というのはやや矛盾を感じるが、実はこれはこれでしかたがない話なのだ。図としては「単純」なので、たいていはニューラルネットワークを紹介するときは3階層で示される。しかしニューラルネットワークの学習アルゴリズムにとって、3階層あると十分「複雑」な問題だったのである。

 これは、1980年代後半から1990年代前半に起きた第二次AIブームのとき、ニューラルネットワークの応用事例の多くは2階層だったことでもわかる。当時のニューラルネットワークに使われた、誤差逆伝播法(バックプロパゲーション)による学習技術では、3階層にするとうまく誤差が伝達できないという大きな課題があった。

 出力層で生じた正答とのズレ(誤差)が中間層や入力層に戻っていき(逆伝播)、そこにおける重み付け変数の値を修正するというのが誤差逆伝播法の骨子だ。基本的にいちばん誤差が減る方向にパラメーターを少し修正する(最急勾配法という)。3階層のネットワークでも学習が成立することは甘利俊一氏が1967年に示していた。これをランメルハート氏が再発見して、「バックプロパゲーション」と名付けたのが、1980年代後半にニューラルネットワークが注目された理由だ。