logo

人工ニューラルネットワークとは? 📂機械学習

人工ニューラルネットワークとは?

定義

実際の生物の神経系を模倣したネットワーク人工神経網artificial neural network (ANN)と言う。

数学的定義

モチーフ

神経系は、ニューロンの結合で構成される。神経細胞体は樹状突起によって刺激を受け取り、軸索突起を通じて電気刺激を伝達する。人間を含む多くの生物は、このように単純なニューロンの結合を環境に適したものに進化させてきた。その結果、神経系は光を検出したり、足を動かしたり、記憶したり、想像するなどの複雑な仕事をすることができるようになった。

20190317\_195625.png

20190317\_201846.png

人工神経網はニューロンから、神経細胞体をノードとして、軸索をリンクとして模倣したネットワークだと言える。各ノードは、神経細胞体と同じように、情報を受け取り、それを伝達する過程で有意義な結果を得る計算を実行する。

簡単な例として、データ $Y := \begin{bmatrix} 5 \\ 7 \\ 9 \end{bmatrix}$ と $X := \begin{bmatrix} 2.2 \\ 3.1 \\ 3.9 \end{bmatrix}$ に対して、$Y$ と $X$ の相関関係について把握する問題を考えよう。

この問題は非常に簡単なので、$Y \approx {\color{red}2} X + \color{blue}{1}$ のような線形相関関係があることを容易に推測することができる。

この問題を単回帰分析 $Y \gets X$で解いた場合、設計行列で表した時 $$ \begin{bmatrix} 5 \\ 7 \\ 9 \end{bmatrix} = \begin{bmatrix} 1 & 2.2 \\ 1 & 3.1 \\ 1 & 3.9 \end{bmatrix} \begin{bmatrix} \color{blue} {\beta_{0} } \\ {\color{red}\beta_{1}} \end{bmatrix} $$ の最小二乗解 $( \color{blue} {\beta_{0} } , {\color{red}\beta_{1}} )$を求める問題になる。

一方、この問題に対する人工神経網は

20190317\_205730.png

のように構成できる。まずは$Y = {\color{red}w} X + \color{blue}{b}$のような関係があるだろうと想定してみる。この時、$\color{red}{w}$を重みweight、$\color{blue}{b}$をバイアスbiasと呼ぶ。与えられたデータ$\begin{bmatrix} 2.2 \\ 3.1 \\ 3.9 \end{bmatrix}$を受け取ったノード$X$は、まずは$( {\color{red}w_{1}} , \color{blue}{b_{1}} )$を使って$\begin{bmatrix} {\color{red}w_{1}} 2.2 +\color{blue}{b_{1}} \\ {\color{red}w_{1}} 3.1 +\color{blue}{b_{1}} \\ {\color{red}w_{1}} 3.9 +\color{blue}{b_{1}} \end{bmatrix}$を計算し、ノード$Y$へと渡す。

20190317\_205604.png

もし、このように大雑把にピックした値が気に入らなければ、以下のようにもっと良い重みで更新し続けて、満足のいく結果が出るまで繰り返す。

20190317\_210511.png

この意味で人工神経網は、機械が自ら学習するという概念のマシン ラーニングmachine Learningを実現していると見なすことができ、このプロセスがより複雑で効率的に進化したものがディープ ラーニングdeep Learningであると見なしてもよい。

理論的側面

統計学や数学に精通している学習者は、これらの技術に対して理論的な基盤が整っていないという点で強い嫌悪感を表すことが多い。誤差が最小になるような、学習が最適化される条件について知られていることもないし、どんな関数を使用しながらもなぜそれを使うのかその理由を知らない場合が多いからである。しかし、新しい論文の新技術がベンチマーク上でパフォーマンスが向上していれば何も言えない。

もちろん、これらのことに対して何らかの数学的アプローチをする学者がいたかもしれない。しかし、研究がある程度進展する頃に産業界では既に古くなってしまうのが現実だ。理論を学ぶ人にとってはあまり価値がないことだ。

それにもかかわらず、これらの技術を軽視することはできない明白な理由がある。結果を信頼できないものとしてもパフォーマンスがあまりにも優れているからだ。ディープラーニングはデータ科学において拒否できない誘惑である。すぐに流行が過ぎ去るとしても、パフォーマンスが圧倒的に良いので学ぶ価値は十分にあり、数学ほど厳密ではなくてもその分野ではその分野なりの理論的基礎が築かれているので、心を開いて受け入れてみるのも悪くない。

一緒に見る