本章ではパーセプトロン(parceptron)というアルゴリズムが紹介されている。
このパーセプトロンが、後々学ぶニューラルネットワークやディープラーニングのための基礎的な概念となっている。
- パーセプトロンとは
- 複数の信号を入力として受取り,1つの信号を出力する
- 流す・流さないかの二値の値
- 複数ある入力信号のそれぞれに固有の重みをもつ
- 重みは信号の重要性をコントロールする
- 重みは電流の抵抗に相当する
- 動作原理
- 送られてきた信号の総和が閾値を超えたときに発火し、1を出力する
$$ y = \left\{ \begin{array}{} 0 & (w_{1}x_{1} + w_{2}x_{2}\leq \theta) \\ 1 & (w_{1}x_{1} + w_{2}x_{2}> \theta) \end{array} \right. $$
単純な論理回路の重み(ω)と閾値(θ)を決めてみる
2入力1出力のパーセプトロンにおいて, 論理ゲートを表現するような重みと閾値を考える。
ANDゲート
x1 | x2 | y |
---|---|---|
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
このときは (w1, w2, θ) = {0.5, 0.5, 0.7} などにすれば,上表のように動作する.
NANDゲート
x1 | x2 | y |
---|---|---|
0 | 0 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
このときは (w1, w2, θ) = {-0.5, -0.5, -0.7} などにすれば,上表のように動作する.
ORゲート
x1 | x2 | y |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 1 |
このときは (w1, w2, θ) = {0.5, 0.5, 0.2} などにすれば,上表のように動作する.
パーセプトロンの実装
- バイアスの導入