1. Introduction
An Artificial Neural Network (ANN) is a mathematical model which is intended to be a universal function approximator which learns from data (cf. McCulloch and Pitts, [
1]). In general, an ANN consists of a number of units called artificial neurons, which are a composition of affine mappings, and non-linear (activation) mappings (applied element wise), connected by weighted connections and organized into layers, containing an input layer, one or more hidden layers, and an output layer.The neurons in an ANN can be connected in many different ways. In the simplest cases, the outputs from one layer are the inputs for the neurons in the next layer. An ANN is said to be a feedforward ANN, if outputs from one layer of neurons are the only inputs to the neurons in the following layer. In a fully connected ANN, all neurons in one layer are connected to all neurons in the previous layer (cf. page 24 of [
2]). An example of a fully connected feedforward network is presented in
Figure 1.
In the present work we focus essentially on feed-forward artificial neural networks, with
L hidden layers and a transfer (or activation) function
, and the corresponding supervised learning problem. Let us define a simple artificial neural network as follows:
where
is the input to the network,
h indexes the hidden layer and
is the weight matrix of the
h-th hidden layer. In what follows we shall refer to the two equations of (
1) as the two-step recursive forward formula. The two-step recursive forward formula is very useful in obtaining the outputs of the feed-forward deep neural networks.
A major empirical issue in the neural networks is to estimate the unknown parameters
with a sample of data values of targets and inputs. This estimation procedure is characterized by the recursive updating or the learning of estimated parameters. This algorithm is called the backpropagation algorithm. As reviewed by Schmidhuber [
3], back-propagation was introduced and developed during the 1970’s and 1980’s and refined by Rumelhart et al. [
4]). In addition, it is well known that the most important algorithms of artificial neural networks training is the back-propagation algorithm. From mathematical point view, back-propagation is a method to minimize errors for a loss/cost function through gradient descent. More precisely, an input data is fed to the network and forwarded through the so-called layers ; the produced output is then fed to the cost function to compute the gradient of the associated error. The computed gradient is then back-propagated through the layers to update the weights by using the well known gradient descent algorithm.
As explained in [
4], the goal of back-propagation is to compute the partial derivatives of the cost function
J. In this procedure, each hidden layer
h is assigned teh so-called delta error term
. For each hidden layer, the delta error term
is derived from the delta error terms
; thus the concept of error back-propagation. The output layer
L is the only layer whose error term
has no error dependencies, hence
is then given by the following equation
where ⊙ denotes the element-wise matrix multiplication (the so-called Hadamard product, which is exactly the element-wise multiplication
in Python). For the error term
, this term is derived from matrix multiplying
with the weight transpose matrix
and subsequently multiplying (element-wise) the activation function derivative
with respect to the preactivation
. Thus, one has the following equation
Once the layer error terms have been assigned, the partial derivative
can be computed by
In particular, we deduce that the back-propagation algorithm is uniquely responsible for computing weight partial derivatives of
J by using the recursive equations (
4) and (
3) with the initialization data given by (
2). This procedure is often called "the generalized delta rule". The key question to which we address ourselves in the present work is the following: how could one reformulate this "generalized delta rule" in two-step recursive backward formula as (
1) ?
In the present work, we shall provided a concise mathematical answer to the above question. In particular, we shall introduce the so-called two-step rule for back-propagation, recently proposed by the author in [
5], similar to the one for forward propagation. Moreover, we explore some mathematical concepts behind the two-step rule for backpropagation.
The rest of the paper is organized as follows.
Section 2 outlines some notations, setting and ANN framework. In
Section 3 we recall and develop the two-step rule for back-propagation. In
Section 4 we introduce the concepts of F-propagation and the associated F-adjoint and rewrite the two-step rule with these notions. In
Section 5 we provide some application of this method to study some simple cases. In
Section 6 conclusion, related works and mention future work directions are given.