単純パーセプトロンでは線形分離不可能な問題を解けなかった。
多層パーセプトロンでは任意の関数が近似可能と証明された。
ディープラーニングでは、指数的に表現力が向上した。 今回は

ニューラルネットワークは非常に単純なモデルである

ニューラルネットワークのモデルとは人間でいうところの脳の構造である。
入力層の形式ニューロン数のサイズを持つテンソルを受け取り、出力層の形式ニューロン数のサイズを持つテンソルを返す関数です。
そしてその関数は行列の合成関数として表記できるため、関数のふるまいを操作・制御をすることが出来ます。
機械学習することのできる条件として、関数のふるまいを制御できることは必須です。
実際ループや条件式などで関数を記述すると、関数のふるまいの制御は非常に困難なのです。

他の機械学習のモデルに比べてニューラルネットワークのモデルは驚愕するほど単純なのです。
小数を行列の要素の数だけ用意すればよいだけなので、当たり前ですね。
こんな簡単なモデルであるにもかかわらず、表現能力は機械学習の中でも随一です。
上手にモデルの組み立てを考えてあげればどんな関数でも近似できるのです。

テンソル
ベクトルの事。多数の値を束ねて一つの値として管理した配列である。

ニューラルネットワークの表現力

表現力とは複雑な関数をどれだけ高精度に近似できるかという指標である。

隠れ層を一つ以上持つ三層以上のニューラルネットワークでは任意の連続関数が近似できるとお話ししました。

これは、1989年にG.Cybenkoの論文"Approximation by Superpositions of a Sigmoidal Function"で証明されています。
日本語では普遍性定理などとよばれています。

関数の近似とは何か

どんな問題解決・行動も、入力と出力の対応関係に適応されます。
将棋の最善の一手(出力)も、現在の盤面(入力)から決められる関数の結果ですし、
あなたが次に行動する行為は(出力)、脳の構造・記憶・体験・現在の環境といった無数の変数(入力)から決められる関数の結果です。

過去の情報から、関数を近似して予測することを機械学習の分野では特に回帰問題といいます。

関数の近似の例

関数の近似を簡単な例を出して考えてみます。

あなたは明日に控えた学期末テストの勉強を全然していません。
単位が足りず卒業のピンチです。
合格するためにはどれくらいの時間、勉強すればいいか考えることにしました。

これは過去の勉強時間と点数の対応表です。

このように図にプロットすれば私たちは簡単に合格するために必要な勉強時間を予測できます。
人間の脳は優秀な知能だから、機械学習を使わずとも妥当な関数を即座に近似できるのです。
人間が近似した関数を人工知能にプログラムするのがエキスパートプログラムでしたね。

さて、深層学習を上手に利用すれば、妥当性のある関数が得られます。
得られた関数では、18時間勉強すれば60点取れるかもしれないと示されています。
これで明日のテストは安心ですね。

まとめ