Perseptrone

'n Perceptron is 'n kunsmatige neuron

Dit is die eenvoudigste moontlike neurale netwerk

Neurale netwerke is die boustene van Kunsmatige Intelligensie .

Frank Rosenblatt

Frank Rosenblatt (1928 – 1971) was 'n Amerikaanse sielkundige wat opmerklik was op die gebied van kunsmatige intelligensie.

In 1957 het hy iets regtig groots begin.

Wetenskaplikes het ontdek dat breinselle ( neurone ) insette van ons sintuie deur elektriese seine ontvang.

Die Neurone gebruik dan weer elektriese seine om inligting te stoor en om besluite te neem gebaseer op vorige insette.

Frank het die idee gehad dat kunsmatige neurone breinbeginsels kan simuleer, met die vermoë om te leer en besluite te neem.

Uit hierdie gedagtes het hy die Perceptron "uitgevind" .

Die Perceptron is in 1957 op 'n IBM 704-rekenaar by Cornell Aeronautical Laboratory getoets.


Die Perceptron

Die oorspronklike Perceptron is ontwerp om 'n aantal binêre insette te neem en een binêre uitset (0 of 1) te produseer.

Die idee was om verskillende gewigte te gebruik om die belangrikheid van elke inset voor te stel, en dat die som van die waardes groter as 'n drempelwaarde moet wees voordat 'n besluit soos waar of onwaar (0 of 1) geneem word.

Perceptron


Perceptron Voorbeeld

Stel jou 'n perceptron voor (in jou brein).

Die perseptron probeer besluit of jy na 'n konsert moet gaan.

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.