A collection of fragments of understanding in the pursuit of deeper questions.
Why is this Topic important? Papers: "Cognitiva 85" & "Learning Representations by Back-Propagating Errors".
Content of the Lecture:
Recap: The Backpropagation of the Error Method (BP) An Artificial Neural Network (ANN) is a computational model that is vaguely inspired by the biological network of neurons constituting the brain of vertebrates. It can be used as a trainable classifier of data points. Similarly to the biological analogue, it consists of a set of computing units, or neurons and of directed links connecting them. The strength and sign of a link is given through its weight. The neurons take in a set of inputs and produce an output based on a given input function and a given non-linearity, the activation function. If we bundle many neurons to a layer, and then connect multiple layers by linking the neuronal output of each layer to the neuronal input of the next layer, we get a deep neural network structure, where we differentiate between the input layer, the output layer and the in-between-laying hidden layers. Based on data on the input layer, the network will perform a forward-pass of the information and make a prediction. During training, the prediction is then compared with the ground-truth, or label, of the data. A loss is calculated based on a difference-norm between the prediction and the true label of the data point. Subsequently, weights of the network are updated. If back-propagation is used, which is the most common algorithm for supervised learning of ANNs, the derivative of the loss with respect to each weight is obtained, the information passed backwards and the weights adjusted accordingly.
The above described concept can be formulated mathematically. A network with L layers can be defined as:
Where is the state of the j-th hidden layer and the input for the i-th neuron in the j-th hidden layer is the output layer and the input layer. The forward-mapping is defined by the non-linear activation function and the weight vector . Most often, the bias term of the j-th layer is included in the weight vector, thus defines the weight vector of a layer containing neurons. Now, let's fix the network architecture, meaning the number of neurons, the wiring scheme and the activation , and define the network parameters as all the weights . If we define all parameters between layer j and l as , we can write the l-th layer as a function of the j-th layer , given the parameters :
For a given data set , a global loss function gives a measure of the difference between the network output and the label y. During training, the goal is to minimize the expectation value of the global loss based on a data distribution . Common loss functions are the Mean-Squared-Error (MSE) for regression:
And the Cross-Entropy Loss (CE) for classification with C classes:
If the backpropagation algorithm is used, updating the weights is done by taking the derivatives of the loss with respect to all weights:
The introduced learning-rate factor does in general not need to be constant, thus it can be adaptive over time.
Backpropagation Backpropagation (BP) is a widely used algorithm in training feedforward neural networks for supervised learning. It computes the gradient of the loss function with respect to the weights of the network for a single input/output example, and does so efficiently, unlike a naïve direct computation of the gradient with respect to each weight individually. This efficiency makes it feasible to use gradient methods for training multilayer networks, updating weights to minimize loss; gradient descent, or variants such as stochastic gradient descent, are commonly used. The backpropagation algorithm works by computing the gradient of the loss function with respect to each weight by the chain rule, computing the gradient one layer at a time, iterating backwards from the last layer to avoid redundant calculations of intermediate terms in the chain rule; this is an example of dynamic programming.
We want to calculate the weight error, which is the gradient of the loss with respect to the input of the neuron j of the l-th layer :
First, we calculate the gradient with respect to the ultimate layer L:
Then, we calculate the gradient with respect to an intermediate layer l:
We note, that the gradient can also be written with a dependency to the weight:
Thus, we arrive at the recursive form:
Which gives us the weight update equation as follows:
Where is the learning rate.
Biological Plausibility Issues
Feedback Alignment Papers: "Random Synaptic Feedback Weights Support Error Backpropagation for Deep Learning" & "Bio-Inspired Computer Vision: Towards a Synergistic Approach of Artificial and Biological Vision".
From a biological perspective, one of the biggest issues with backpropagation is that it uses the same weights for the forward and the backward pass. This is tackled with a learning method called feedback alignment. Instead of using the transposed weight matrix W^T^ for the backward pass, it uses a matrix of randomly initialized and fixed weights B. On simple example (such as MNIST), the method has been shown to work almost as well as regular back-propagation. We note the change in weight update:
Backpropagation
Feedback Alignment
Where is a random matrix with fixed weights (does not get updated) belonging to the l-th layer.
(A) The Backprop learning algorithm requires that neurons know each others' synaptic weights, for example, the three coloured synapses on the feedback cell at the bottom must have weights equal to those of the corresponding coloured synapses in the forward path. (B) Backprop computes teaching, or modulator, vectors by multiplying the error vector e by the transpose of the forward weight matrix W, that is, . (C) Our feedback alignment method replaces with a matrix of fixed random weights, B, so that . Thus, each neuron in the hidden layer receives a random projection of the error vector. (D) Potential synaptic circuitry underlying feedback alignment, shown for a single unit (matrix superscripts denote single synapses). There are many possible configurations that could support learning with feedback alignment, or algorithms like it, and it is this structural flexibility that we believe is important.
FA is on par with BP for Linear Classification Problems & Works in Multilayer Networks
![]() |
![]() |
|---|
Why Does Feedback Alignment Work? Some mathematical reasoning and the convergence proof is shown in the original paper and stated again in a follow-up paper. Intuitively: for FA the feedback weights are fixed, but if the forward weights are adapted, they will approximately align with the pseudo-inverse of the feedback weights in order to make the feedback useful. In some sense, the network learns how to learn, which is pretty dope.
Variations of Feedback Alignment Papers: "Direct Feedback Alignment Provides Learning in Deep Neural Networks" & "Adaptive Bidirectional Backpropagation: Towards Biologically Plausible Error Signal Transmission in Neural Networks".
There are variations of feedback alignment, which show to be useful especially for deeper network architectures. The variations shown below are Feedback Alignment (FA), Direct Feedback Alignment (DFA), Indirect Feedback Alignment (IFA), Bi-directional Feedback Alignment (BFA) and Bi-directional Direct Feedback Alignment (BDFA).
![]() |
![]() |
![]() |
|---|
The figure to the left gives an overview of different error transportation configurations. Grey arrows indicate activation paths and black arrows indicate error paths. Weights that are adapted during learning are denoted as Wi, and weights that are fixed and random are denoted as . The figure to the right describes the Bi-directional Feedback Alignment. Black arrows represent forward activation paths. Red arrows indicate error (gradient) propagation paths.
The figure below introduces the last discussed variation, i.e., the Bi-directional Direct Feedback Alignment.
Deep Learning without Weight Transport Papers: "Deep Learning without Weight Transport".
![]() |
![]() |
![]() |
![]() |
|---|
Target Propagation as a BP Alternative The concept of Target Propagation (targetprop) goes back to Lecun (1986). The intuition is simple: instead of focusing solely on the "forward - direction" model (), we also try to fit the "backward - direction" model (). f and g form an auto-encoding relationship: f is the encoder, creating a latent representation and predicted outputs given inputs x, and g is the decoder, generating input representations/samples from latent/output variables. The main idea is to compute targets rather than gradients, at each layer. Like gradients, they are propagated backwards. In a way that is related but different from previously proposed proxies for back-propagation which rely on a backwards network with symmetric weights, target propagation relies on auto-encoders at each layer. Unlike back-propagation, it can be applied even when units exchange stochastic bits rather than real numbers. By its nature, target propagation can in principle handle stronger (and even discrete) non-linearities, and it deals with the biological plausibility issues described before.
Local Learning Papers: "Training Neural Networks with Local Error Signals".
![]() |
![]() |
|---|
There are approaches that train neuronal networks using Local Layer error signals. This has the advantages that activations don't occupy space in memory, and that parallelization becomes easy (each layer in own GPU, train all simultaneously). One can use a combination of Similarity Matching Loss (sim) and Cross Entropy Loss (pred).
Optimization vs. Generalization
Bio-Plausible Deep Learning Through Control A novel, Bio-plausible Network Learning Algorithm: "Deep Feedback Control". It is based on a recurrent loop that stops when the output error is 0.
Advantages of the Deep Feedback Control (DFC) Algorithm: