論理回路のパーセプトロンを実装してみる

パーセプトロンは、複数の信号を入力として受け取り、計算して、1つの信号を出力するシンプルなアルゴリズムで、ニューラルネットワークの起源になっているものです。

 

 

 

画像1.パーセプトロン

 

ここで図で囲まれた◯のことを「ニューロン(Neuron)」と呼び、信号が出力されることを「ニューロンの発火(Neuronal firing)」と呼びます。パーセプトロンは「入力に対する重みw」と「発火のしやすさバイアスb」の2つで構成され、様々な入力に対して適切にwとbを設定することで、パーセプトロンは機能するようになります。

今回、具体的に、論理回路のAND、OR、NAND、XORのパーセプトロンのをPythonで実装します。

 

\begin{equation}
f(x)= \left \{
\begin{array}{l}
1 (x=1のとき) \\
0 (x≠1のとき)
\end{array}
\right.
\end{equation}

 

 

1.ANDゲートの数式と実装


論理回路ANDゲートを表現するパーセプトロンはこのようなイメージになります。

 

 

画像2.ANDパーセプトロンのイメージ

 

 

 

ANDでは入力Aと入力Bの2つのYESが揃うとニューロンが発火します。とても簡単ですね。では、どのように重みwとバイアスbを設定すれば適切なANDゲートの機能をパーセプトロンに持たせられるか見てみます。

 

 

2.ORゲートとNANDゲートの実装


論理回路ANDゲートを表現するパーセプトロンはこのようなイメージになります。

 

 

3.XORゲートの実装


論理回路ANDゲートを表現するパーセプトロンはこのようなイメージになります。

 

 

 

Leave a Comment