1. Feed-Forward Neural Networks (FFNs)
A Feed-Forward Neural Network (FFN), also known as a feed-forward artificial neural network or a multilayer perceptron (MLP), is a type of artificial neural network architecture that is widely used in deep learning and machine learning. It is one of the simplest and most common types of neural networks.
The term "feed-forward" refers to the flow of information through the network, where the data inputs are processed through the network's layers in a forward direction, without any loops or cycles. The network consists of an input layer, one or more hidden layers, and an output layer. Each layer is composed of artificial neurons or units, which are also referred to as nodes.
In a feed-forward neural network, each neuron in a layer is connected to all the neurons in the subsequent layer. Neurons within the same layer do not have direct connections to each other. Each connection between neurons is associated with a weight, which represents the strength or importance of the connection.
The information flow in a feed-forward neural network is as follows:
Input Layer: The input layer receives the raw data or features as inputs. Each input feature is represented by a neuron in the input layer.
Hidden Layers: The hidden layers process the inputs by performing a linear combination of the inputs and applying an activation function to produce an output. The activation function introduces non-linearity into the network, allowing it to learn complex patterns in the data. Multiple hidden layers allow the network to learn increasingly abstract representations of the input data.
Output Layer: The output layer produces the final predictions or outputs based on the processed information from the hidden layers. The number of neurons in the output layer depends on the specific problem being solved. For example, in a binary classification problem, there may be one neuron in the output layer representing the probability of belonging to one class, while another neuron represents the probability of belonging to the other class.
During the training process of a feed-forward neural network, the weights of the connections between neurons are adjusted iteratively using optimization algorithms, such as gradient descent, to minimize the difference between the network's predictions and the desired outputs. This process is known as backpropagation, where the errors or gradients from the output layer are propagated backward through the network to update the weights and improve the network's performance.
Feed-forward neural networks are powerful models capable of learning complex patterns and making predictions on various tasks, including classification, regression, and pattern recognition. However, they have limitations in capturing sequential or temporal dependencies in data, which can be addressed by other types of neural networks, such as recurrent neural networks (RNNs) or transformers.
There are two types of Feed-forward neural networks;
(a) Dense Networks:
Dense Networks are also known as Fully Connected Networks or Multilayer Perceptrons (MLPs). these are the simplest type of artificial neural networks where information moves in only one direction, forward, from the input nodes, through the hidden nodes (if any), and to the output nodes.
(b) Convolutional Neural Networks (CNNs):
These are primarily used for grid-like data, such as images. Variants include: i. LeNet ii. AlexNet iii. VGGNet iv. GoogLeNet/Inception v. ResNet (Residual Network) vi. DenseNet vii. EfficientNet viii. Transformer-based Vision models like ViT (Vision Transformer)
Last updated