人工神経

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

人工神経または人工ニューロン: artificial neuron)とは、人工知能において、生物学的神経を参考にして考案されたニューラルネットワークを構成する基本単位である。人工神経は1つ以上の入力を受け取り(1つ以上の樹状突起に相当)、それらの総和から出力(シナプス)を生成する。通常、各ノードの総和には重み付けがされ、伝達関数: transfer function)もしくは活性化関数: activation function)と呼ばれる非線型関数に渡される。伝達関数としてはシグモイドが最も一般的だが、不連続な線型関数、ステップ関数といった非線型関数も使われることがある。一般に、伝達関数は単調増加である。

基本構造[編集]

m個の入力を持つ人工神経を考える。各入力信号を x_1 から x_m とし、重み付けを w_1 から w_m、バイアス項を b、伝達関数を \varphi とする。

k 番目の人工神経の出力は次の式で表される:

y_k =  \varphi_k \left( \sum_{i=1}^m w_{ki} x_i + b_k \right)

数式を図示すると以下のようになる。

Artificial neuron.png

出力は他の人工神経に(重み付けされたシナプスを通って)伝播するか、最終的な出力の一部として使われる。

このモデルは、線形変換と \varphi(非線形を含めた何らかの変換)を交互に繰り返すということしか言っていなく、\varphi_k もニューロンごとにバラバラであっても良いとすると、恒等変換も線形変換であるので、つまり、任意のいかなる関数変換をも表現できるモデルということになる。形式ニューロンは二値データの範囲内において、チューリングマシンと等価になっている。

伝達関数の種類[編集]

人工神経の伝達関数は、ネットワークを強化または単純化するような特性を持つものが選ばれる。実際、線型伝達関数を使った多層パーセプトロンには、全く等価な単層ネットワークが必ず存在する。従って、多層ネットワークの利点を生かすには非線型関数が必須である。

以下ステップ関数と線形結合の説明では、人工神経への全入力の重み付けされた総和を u で表し、入力数を n で表す。

u = \sum_{i = 1}^n w_{i} x_{i}

ここで w はシナプスの重み付けベクトルであり、x は入力ベクトルである。これはバイアス項を加える前の値。

ステップ関数(形式ニューロン)[編集]

ステップ関数の出力 y は 0 か 1 の二値であり、u がしきい値 b より大きいか小さいかで出力が決定される。入力の総和がしきい値を超えたとき、出力信号が 1 として出力される。

y = H(u - b) = \left\{ \begin{matrix} 1 & \mbox{if }u \ge b \\ 0 & \mbox{if }u < b \end{matrix} \right.
\varphi(x) = H(x)

線型結合(単純パーセプトロン)[編集]

出力 yu にバイアス値 b を加えた値となる。

y = u + b
\varphi(x) = x

この式に基づいたネットワークを「単純パーセプトロン」と呼ぶ。一般にこのような純粋な形式の伝達関数は回帰設定の場合のみしか使えない。二値分類設定では出力の符号で 1 または 0 に対応させる。これはすなわち、上述のステップ関数で b の符号を反転した場合と等価であり、学習アルゴリズムで有効である。

シグモイド関数[編集]

\varphi(x) = \frac{1}{1+e^{-x}}

比較的単純な非線型関数であるシグモイド関数は、微分の計算も容易であることからバックプロパゲーションを伴うニューラルネットワークで使われる。ネットワークを数学的に扱うことが容易になるため、シミュレーションの計算負荷を減らしたいと思っていた初期の研究者がシグモイド関数をこぞって採用した。

Rectifier[編集]

青がrectifier、緑がsoftmax

下記関数を rectifier

\varphi(x) = \max(0, x)

また、下記関数を softmax と呼び、

\varphi(x) = \log(1 + e^x)

これらが活性化関数として使われることもある。

批判[編集]

人工神経は、生物物理学的には正しいモデルではないと批判されることが多い。あくまで、生物を参考にしてモデルを作ったというレベルであり、生化学的にちゃんと再現しようという意図は全くなく、1952年に発表されたホジキン-ハックスレー型モデルと比較しても大きく異なっている。

形式ニューロン[編集]

関連項目[編集]