ディープラーニングとニューラルネットワーク
ディープラーニングとニューラルネットワーク †
ディープラーニングの理論を学ぶ前に、ディープラーニングが生まれるまでの歴史を簡単に振り返ります。
形式ニューロンの誕生 †
脳は多数の神経細胞(ニューロン)のつながり(ネットワーク)によって形成されています。1943年、この神経細胞をモデル化した「形式ニューロン」が発表されました。
ここで、xは別ニューロンからの入力、wは重み、θは閾値を表しています。別ニューロンからの各入力xに対してそれぞれ重みwを掛け合わせた値の総和がある値θを超えた場合、次のニューロンに伝える出力は1、越えなかった場合、出力は0となります。例えば、入力が(1,3,5)で重みが(0.5,0.9,0.1)である場合、総和は1×0.5+3×0.9+5×0.1 = 3.7 です。この場合、閾値が3であれば1が出力され、閾値が4であれば0が出力されることになります。 これによって1つの神経細胞を非常に簡略化して表現しています。
パーセプトロンへの拡張 †
形式ニューロンモデルの考え方に基づいて、1958年に開発されたのが「パーセプトロン」です。
開発したとは言っても、Fig. 1.2を見ればわかるように形式ニューロンを入力層と出力層の2層に拡張しただけです。
しかしながら、実はこれがとても重要で、入力層と出力層に分けることよって重みwを最適化することが可能になります。この重みを調整する作業を「学習」と呼びます。つまり、パーセプトロンにより簡単な「学習」ができるようになったというわけです。
とはいえ、この「学習」には限度があり、理論的に解けない問題が多く存在することが発覚し、次第に日の目を浴びなくなりました。
重みの最適化の方法についてはこちらを参照してください。
ニューラルネットワークの誕生と衰退 †
1958年に発表されたパーセプトロンでは入力層と出力層の間の重みを調整することで学習できるようになりましたが、理論的に解けない問題、具体的には非線形分離問題を解けないという難点がありました。
この課題を解決する方法は単純で、入力層と出力層の間に中間層を挿入するだけです。
このように層を増やしていき、更新する重みの数を増やすことで入力・出力層だけの単純なパーセプトロンで解決できない問題も解くことができます。以降は、入力層と出力層だけのパーセプトロンを「単純パーセプトロン」、単純パーセプトロンに中間層を挿入したものを「多層パーセプトロン」と呼ぶことにします。
また、多層パーセプトロンの学習を効率的に行うアルゴリズムも考案されました。