View on GitHub

Notes

reference notes

Neuron

A neuron is a fundamental unit of the nervous system, and its structure and function are crucial to understanding neural networks.

Neuron (cont.)

Neuron (cont.)

Artificial Neural Networks (ANN)

ANN (cont.)

Historical Notes

Several key milestones mark the development of neural networks:

What’s Special in a Neural Network?

How does the ANN model the brain?

Mathematical Functions

Artificial Neuron

An artificial neuron consists of input signals (xi), weights (wi), activation level (Σwixi), a threshold function (f), network topology, and a learning algorithm.

Artificial Neuron (cont.)

Artificial Neuron (cont.)

ANN Promises

ANN Unsolved Problems

An example of the use of ANN

Other Neural Networks Applications

Hidden Nodes

Learning Process in Neural Networks

Learning Types

The detailed structure and functions of neurons and artificial neural networks contribute to their powerful applications and ongoing research in the field of artificial intelligence.

Learning Types

Unsupervised Learning

Unsupervised learning programs adjust themselves to determine the output without specific targets to match.

Supervised Learning

In supervised learning, inputs are provided with expected outputs. The learning algorithm adjusts the network to minimize errors.

McCulloch-Pitts Neuron Model

McCulloch-Pitts Neuron Model (cont.)

I1          I2          I3
  \         |         /
    \       |       /
      \     |     /
        \   |   /
          \ | /
           TO

Example 1

SUM = (I1 * W1) + (I2 * W2) + (I3 * W3)
    = (1 * 1) + (0 * 1) + (1 * (-1))
    = 0

Example 1 (cont.)

T = 1, O = 0

Example 2

SUM = (I1 * W1) + (I2 * W2) + (I3 * W3)
    = (1 * 1) + (0 * (-1)) + (1 * 1)
    = 2

Example 2 (cont.)

T = 1, O = 1

The McCulloch-Pitts Neuron Model provides a foundational understanding of how neurons compute logical functions, forming the basis for building digital circuitry.

Perceptron Learning Algorithm

Frank Rosenblatt (1958, 1962) developed a learning algorithm for a type of single-layer network known as a perceptron. The perceptron employs a simple form of supervised learning, adjusting its weights to minimize errors after attempting to solve a problem instance.

Perceptron (Artificial Neuron)

A perceptron models a neuron, receiving n inputs, summing them, and producing an output. It is used for classifying linearly separable classes, often in binary classification scenarios. It consists of input signals (xi), weights (wi), an activation level (Σwixi), a threshold function f, network topology, and a learning algorithm.

Linearly Separable

Linearly separable indicates that classes of patterns with n-dimensional vectors can be separated with a single decision surface.

Perceptron (cont.)

The perceptron comprises weights, a summation processor, and an activation function. Inputs and connection weights are typically real values. The perceptron produces an output based on the weighted sum of inputs: if Σxiwi ≥ threshold (θ), the output is 1; if Σxiwi < threshold (θ), the output is 0.

The Role of Weights and Bias

The perceptron may include another input called bias, treated as just another input. The bias allows shifting the transfer function curve horizontally along the input axis, while the weights determine the slope.

Equation of a Straight Line

The equation y = mx + b relates to the perceptron’s behavior, with y representing the output, x the input, m the slope (determined by weights), and b the bias.

Transfer (Activation) Functions

Transfer functions translate input signals to output signals and use a threshold to produce an output. Types include threshold (unit step), sigmoid, piecewise linear, and Gaussian.

Threshold (Unit Step)

This function sets the output at one of two levels, depending on whether the total input is greater or less than some threshold value.

Sigmoid

The sigmoid function includes logistic and tangential functions, producing output in the range of 0 to 1 and -1 to +1, respectively.

The Learning Rate

The learning rate controls how much weights and bias are changed to update the perceptron based on error reduction.

Perceptron Learns by Adjusting Weights

After attempting to solve a problem instance, the perceptron adjusts its weights to reduce the error. The difference between the desired and actual output values is calculated, and weights are updated to minimize the average error over the entire training set.

Adjustment

The perceptron adjusts weights based on the difference between desired and actual output values for each component of the input vector. This minimizes the average error over the entire training set, and the perceptron learning procedure learns the correct output for each member of the training set.

A Perceptron that Learns “AND” and “OR” Concepts

The perceptron can be trained to calculate appropriate weights and thresholds for classifying different classes, forming decision boundaries between classes.

Linearly Inseparable Problem

The perceptron fails for nonlinear applications, as demonstrated by Minsky and Papert (1969). It cannot solve linearly inseparable problems with a single-layer architecture. An example is the XOR function.

Neural Network with Hidden Layer(s)

Linearly inseparable problems can be addressed with a neural network that includes hidden layers.

Backpropagation Learning Algorithm

The backpropagation algorithm starts at the output layer and propagates error backward through hidden layers. It updates weights based on the amount of error, and the process continues until the output is close to the desired response.

Sigmoid Function

The sigmoid function is continuous, providing non-linearity in the learning model. It is used in neural networks to introduce non-linearity.

Multi-layer Perceptron (MLP)

To build a nonlinear classifier based on perceptrons, MLP structures are found through experimentation. The backpropagation algorithm adjusts parameters, and hidden layers are essential for complex problem-solving.

Learning in MLP via the Backpropagation Learning Algorithm

The backpropagation algorithm updates weights by comparing actual and desired outputs. It is an iterative process, and adjustments are made until the network’s response is close to the desired response.

Example

A neural network for training the recognition of digits 0–9 is presented. The input patterns are fed into input units, and adjustments are made to weights based on the discrepancy between desired and actual outputs.

The Perceptron Learning Algorithm and its variations provide a foundation for understanding how artificial neural networks learn from data and adjust their parameters to perform various tasks.