形式ニューロン

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
人工神経 > 形式ニューロン

形式ニューロン(けいしきニューロン、: formal neuron)や Threshold Logic Unit とは、1943年に神経生理学者・外科医であるウォーレン・マカロックと論理学者・数学者であるウォルター・ピッツが発表した最初の人工ニューロン: artificial neuron[1]。伝達関数としてはヘヴィサイドの階段関数を使い、入出力の値は 0 または 1 の二値だけをとる。

概要[編集]

このモデルはチューリングマシンと同等の計算能力を持ち、多層構造で、XOR も扱え、線形非分離な問題も扱える。

このモデルは、以下の通り。入出力は 0 または 1 である。

実例としては、以下の通り。XOR は3層、他は2層である。

AND
OR
NOT
XOR

マカロックらはニューロンの状態が 0 または 1 で表現できることに強くこだわっており、論文冒頭が Because of the “all-or-none” character of nervous activity で始まり二値であることを強調している。しかしながら、1986年デビッド・ラメルハートらのバックプロパゲーションでは、形式ニューロンとのモデルとしての違いは、入出力が 0 または 1 の二値ではなく実数になり、二値のヘヴィサイドの階段関数実数も出力できるシグモイド関数になった点にある。

パーセプトロン[編集]

1958年フランク・ローゼンブラットが形式ニューロンを参考にパーセプトロンを発表した。

擬似コード[編集]

以下の擬似コードはマカロックとピッツの形式ニューロンの実装例である。入力は真理値(真または偽)、出力も真理値である。オブジェクト指向的モデルとなっている。トレーニング方法は定義されていない。関数型のモデルであれば、TLUクラスの代わりにTLUという関数が、入力ベクトルと重み付けベクトルとしきい値を引数とし、真理値を出力とするものになるだろう。

 class TLU defined as:
  data member threshold : number
  data member weights : list of numbers of size X
  function member fire( inputs : list of booleans of size X ) : boolean defined as:
   variable T : number
   T  0
   for each i in 1 to X :
    if inputs(i) is true :
     T  T + weights(i)
    end if
   end for each
   if T > threshold :
    return true
   else:
    return false
   end if
  end function
 end class

参照[編集]

  1. ^ Warren S. McCulloch; Walter Pitts (December 1943). “A logical calculus of the ideas immanent in nervous activity”. The bulletin of mathematical biophysics (Kluwer Academic Publishers) 5 (4): 115-133. doi:10.1007/BF02478259.