ニューラルネットワークと深層学習
学習目標
ディープラーニングを理解する上で押さえておくべき事柄を理解する。
パーセプトロン
多層パーセプトロン
ディープラニングとは
勾配消失問題
信用割当問題
キーワード:誤差逆伝播法
ディープラーニングの基本
単純パーセプトロン
1958年にアメリカの心理学者フランク・ローゼンブラットが提案した単純パーセプトロンがニューラルネットワークの元祖です。複数の入力値を受け入れて一つの値を出力します。
単純パーセプトロンは入力層と出力層のみの2層からなる。線形分離可能な問題を有限回の反復で解くことができる。
下図は単純な例で、2つの入力値から出力値として0か1を返します

1969年にマービン・ミンスキーとシーモア・パパートが単純パーセプトロンは線形分離可能なパターンしか識別できない事を示した。この後、第1次AIブームの熱が冷め、冬の時代になったと言われています。
多層パーセプトロン
単純パーセプトロンの限界を克服するために、ニューラルネットワークに隠れ層を追加したものを多層パーセプトロンと呼びます。

ディープニューラルネットワーク
4つ以上の層(入力層と出力層と2つ以上の「隠れ層」)からなるニューラルネットワークをディープニューラルネットワークと呼びます。

この基本形をベースに現在では様々なディープニューラルネットワークが考案されています。また、ディープニューラルネットワークで学習を行うことをディープラーニングと呼びます。
隠れ層をより増やすことでより複雑な関数として機能する可能性があり、多くのディープニューラルネットワークは隠れ層の数を増やすことで発展してきました。
ディープラーニング成功以前の問題点
信用割当問題
ニューラルネットワーク内のどのパラメータが出力層での正解に貢献しているのか、誤差を生じさせているのかを見出すことを信用割当問題(credit assignment problem)と呼びます。つまり、出力の誤差からどう判断してどのパラメータを調節すべきなのかがわからないという問題です。
この問題は誤差逆伝播法(バックプロパゲーション)が発案せれることで解決されました。誤差逆伝播法では出力層で生じた誤差をネットワークの各パラメータで微分(偏微分)することでパラメータの値をどう調節すれば誤差が減るかわかるという仕組みです。
勾配消失問題
初期の頃は、ネットワークを深くすると誤差逆伝播法で誤差を全ての層に伝えることができず、学習精度を上げるのが困難でした。そのころはSVMなどの機械学習の方がニューラルネットワークよりもよく使われていました。
誤差逆伝播法では誤差の影響を伝える際に各層の活性化関数の勾配を掛け合わせていくのですが、シグモイド関数の微分の最大値が0.25にしかならず、伝播していく値がどんどん小さくなってしまう問題が生じました。これを勾配消失問題と呼びます。
シグモイド関数: $${\sigma(x) = \frac{1}{1 + e^{−x}}}$$
シグモイド関数の微分: $${\sigma'(x) = \frac{d}{dx} \sigma (x) = \sigma (x) (1 - \sigma (x)) }$$
つまり、隠れ層を増やすと誤差が伝わらない問題は、シグモイド関数の特性によります。全ての隠れ層でシグモイド関数が使われたとすると勾配消失が生じ出力層から遠くなる程パラメータの調節ができないので全体としてもうまく学習できませんでした。
