パーセプトロン

パーセプトロン人工ニューロンです

これは可能な限り最も単純なニューラルネットワークです

ニューラルネットワークは、人工知能の構成要素です。

フランク・ローゼンブラット

フランク・ローゼンブラット(1928 – 1971)は、人工知能の分野で著名なアメリカの心理学者でした。

1957年彼は本当に大きな何かを始めました。

科学者たちは、脳細胞(ニューロン)が電気信号によって私たちの感覚から入力を受け取ることを発見しました。

その後、ニューロンは再び電気信号を使用して情報を保存し、以前の入力に基づいて決定を下します。

フランクは、人工ニューロンが学習して決定を下す能力を備えた脳の原理をシミュレートできるという考えを持っていました。

これらの考えから、彼はパーセプトロンを「発明」しました

パーセプトロンは、1957年にCornell AeronauticalLaboratoryのIBM704コンピューターでテストされました。


パーセプトロン

オリジナルのパーセプトロンは、多数のバイナリ入力を受け取り、1つのバイナリ 出力(0または1)を生成するように設計されていました。

アイデアは、各入力の重要性を表すために異なる重みを使用することであり、または(0または1)のような決定を行う前に、値の合計がしきい値より大きくなければならないというものでした。

パーセプトロン


パーセプトロンの例

(脳内の)パーセプトロンを想像してみてください。

パーセプトロンは、コンサートに行くべきかどうかを判断しようとします。

Is the artist good? Is the weather good?

What weights should these facts have?

CriteriaInputWeight
Artists is Goodx1 = 0 or 1w1 = 0.7
Weather is Goodx2 = 0 or 1w2 = 0.6
Friend Will Comex3 = 0 or 1w3 = 0.5
Food is Servedx4 = 0 or 1w4 = 0.3
Alcohol is Servedx5 = 0 or 1w5 = 0.4

The Perceptron Algorithm

Frank Rosenblatt suggested this algorithm:

  1. Set a threshold value
  2. Multiply all inputs with its weights
  3. Sum all the results
  4. Activate the output

1. Set a threshold value:

  • Threshold = 1.5

2. Multiply all inputs with its weights:

  • x1 * w1 = 1 * 0.7 = 0.7
  • x2 * w2 = 0 * 0.6 = 0
  • x3 * w3 = 1 * 0.5 = 0.5
  • x4 * w4 = 0 * 0.3 = 0
  • x5 * w5 = 1 * 0.4 = 0.4

3. Sum all the results:

  • 0.7 + 0 + 0.5 + 0 + 0.4 = 1.6 (The Weighted Sum)

4. Activate the Output:

  • Return true if the sum > 1.5 ("Yes I will go to the Concert")

If the treshold value is 1.5 for you, it might be different for someone else.

Example

const treshold = 1.5;
const inputs = [1, 0, 1, 0, 1];
const weights = [0.7, 0.6, 0.5, 0.3, 0.4];

let sum = 0;
for (let i = 0; i < inputs.length; i++) {
  sum += inputs[i] * weights[i];
}

const activate = (sum > 1.5);


Perceptron Terminology

  • Perceptron Inputs
  • Node values
  • Node Weights
  • Activation Function

Perceptron Inputs

Perceptron inputs are called nodes.

The nodes have both a value and a weight.


Node Values

In the example above the node values are: 1, 0, 1, 0, 1


Node Weights

Weights shows the strength of each node.

In the example above the node weights are: 0.7, 0.6, 0.5, 0.3, 0.4


The Activation Function

The activation functions maps the result (the weighted sum) into a required value like 0 or 1.

The binary output (0 or 1) can be interpreted as (no or yes) or (false or true).

In the example above, the activation function is simple: (sum > 1.5)

In Neuroscience, there is a debate if single-neuron encoding or distributed encoding is most relevant for understanding how the brain functions.

It is obvious that a decision like the one above, is not made by one neuron alone.

At least there must be other neurons deciding if the artist is good, if the weather is good...

Neural Networks

The Perceptron defines the first step into Neural Networks.

The perceptron is a Single-Layer Neural Network.

The Neural Network is a Multi-Layer Perceptron.