4-1-2 ニューラルネットワークとディープラーニングの関係

「深さ」はなぜ必要か

ディープラーニングの「ディープ」とは、層が「深い」という意味です。
でも、なぜ深くする必要があるのでしょうか。
層が一つでも、計算はできます。実際、単純パーセプトロンは一段の構造で判断をしていました。
ですが、現実の世界はあまりにも複雑です。

たとえば、私たちが「猫」を見分けるとき。
いきなり「猫だ」と判断しているようで、実は頭の中ではいくつもの段階を経ています。
・形をとらえる
・耳の位置を見る
・目の形を見る
・全体のバランスを感じる
こうした小さな認識が積み重なって、最終的な判断にたどり着いています。
もし一段階だけで判断しようとしたら、うまくいかない場面も多いはずです。
世界は、単純ではないからです。

単純パーセプトロンは、「まっすぐな一本の線」で世界を分けるモデルでした。
けれど現実には、曲がった境界、いくつもの条件が絡み合う問題、表面だけではわからない特徴などが、たくさんあります。
一段では足りません。
だから、層を重ねるのです。
層が増えるということは、判断を一回で終わらせず、段階的に考えるということです。
最初の層でざっくり特徴をとらえ、次の層でそれを組み合わせ、さらにその上で抽象化していく。
すると、まっすぐな線では表せなかったものが、より複雑な形で表現できるようになります。
これが「深さ」が必要な理由です。

ニューラルネットワークとディープラーニング

ここまで読んでくると、こんな疑問が浮かぶかもしれません。
「ニューラルネットワークとディープラーニングって、結局なにが違うの?」
名前も似ているし、どちらも層を持つ構造の話をしている。
実はこの二つは、対立するものではありません。
ディープラーニングは、ニューラルネットワークの一種です。

ニューラルネットワークは、脳をまねた層構造を持つモデルの総称です。
その中で、隠れ層を多く持つものを、特にディープラーニングと呼びます。
つまり、

ニューラルネットワーク
 └ ディープラーニング(深いもの)

という関係です。
すべてのディープラーニングはニューラルネットワークですが、すべてのニューラルネットワークがディープラーニングというわけではありません。

さて、どこからが「ディープ」なのでしょうか?
明確な数字の決まりがあるわけではありません。
ただ一般的には、
・隠れ層が1層程度 → 従来型のニューラルネットワーク
・隠れ層が何層も重なっている → ディープラーニング
と考えられています。

「深い」とは、層が多いこと。
そしてそれは、より複雑な特徴を段階的に学習できるという意味でもあります。

では、なぜわざわざ「ディープラーニング」と呼び分けるのでしょうか。
それは、深くなったことで、
・画像認識
・音声認識
・自然言語処理
など、従来は難しかった分野で大きな成果を出したからです。
単に層が増えただけではありません。
大量のデータと計算資源を使い、自動で特徴を学習できるようになり……そこは、技術的な転換点となったのです。

層が増えるということ

層が増える。
それは、単に数字が増えるという意味ではありません。
それは、理解の段階が増えるということです。

単純パーセプトロンは、一段で判断します。
けれど多層になると、
・最初の層でごく単純な特徴をとらえ
・次の層でそれらを組み合わせ
・さらにその上で抽象的な意味へと近づいていく
という流れが生まれます。

たとえば画像認識では、
・最初の層で「線」や「色の変化」をとらえ
・次の層で「形」や「模様」をとらえ
・さらに上の層で「目」「耳」「顔」といったパーツを認識し
・最終的に「猫」という概念にたどり着く
このように、層が上がるごとに、より抽象的な表現へと変わっていきます。

技術的に言えば、層が増えることで、より複雑な関数(非線形な関係)を表現できるようになります。
一段では表せなかった境界が、何層も重なることで、柔らかく、入り組んだ形に変わる。だから、解ける問題の幅が広がるのです。
ただし、深くなればなるほど、
・計算量は増え
・学習に必要なデータも増え
・調整も難しくなります

「深い」ことは万能ではありません。
それでもなお、深さは世界の複雑さに近づくための方法でした。