What's the difference between 'feed forward network' and 'fully-connected network'?
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
In the field of artificial neural networks, two terms that often create confusion are "feedforward network" and "fully-connected network." Although they can be related, they refer to different aspects of the architecture of neural networks. In this article, we'll explore the distinctions between the two, focusing on technical details and providing examples where relevant.
Understanding Feedforward Networks
A feedforward network is a type of artificial neural network where the connections between the nodes do not form a cycle. It is the simplest form of neural network and constitutes the basis of more complex networks. Information in a feedforward network flows in one direction—from input nodes, through any hidden nodes, and finally to output nodes.
Key Characteristics of Feedforward Networks
- Unidirectional Data Flow: The hallmark of a feedforward network is that it processes inputs in one direction only. This unidirectional data flow prevents cycles and ensures that the output of any node is not fed back into itself.
- Layered Structure: Typically, a feedforward network consists of an input layer, hidden layer(s), and an output layer. Each layer is fully connected to the subsequent layer, meaning every node in one layer connects to every node in the next layer.
- No Feedback Loops: Unlike recurrent neural networks, feedforward networks do not have loops in their architecture. This makes them less suitable for tasks where contextual or historical data is needed.
- Common Usage: Feedforward networks are often used for simple tasks where data can be transformed into feature vectors, such as basic image recognition and simple regression tasks.
Exploring Fully-Connected Networks
A fully-connected network, often synonymous with a fully-connected layer or a dense layer in a deep learning model, refers to a layer in which each node is connected to every node in the previous and subsequent layers.
Key Characteristics of Fully-Connected Networks
- Dense Connections: In a fully-connected layer, neurons are densely connected. This means that every neuron in the layer takes input from all neurons in the previous layer, making computations intensive but comprehensive.
- Compositional Flexibility: Fully-connected layers offer flexibility, allowing contrasting features to be built upon by offering a complete set of rank combinations from inputs. This flexibility often makes them useful in final layers of convolutional neural networks (CNNs) to combine extracted features for decisive predictions.
- Parameter-Heavy: These networks often require more parameters compared to sparse architectures like convolutional or recurrent layers, potentially causing overfitting if the dataset is not sufficiently large.
- Versatility in Networks: While a fully-connected layer can exist in a feedforward network, it can also be part of other architectures like recurrent networks or transformer-based models, showing its versatility.
Relation Between Feedforward and Fully-Connected Networks
- Feedforward with Fully-Connected Layers: A standard feedforward neural network may consist entirely of fully-connected layers. This means each layer feeds its output as input into the subsequent layer without forming cycles.
- Feedforward without Full Connectivity: Conversely, feedforward can also refer to networks where not all layers are fully connected. For instance, a network could have convolutional or sparsely connected layers forming the middle layers of the network.
Example Scenario
Consider a scenario where a feedforward network is used to classify images. The network might comprise:
- An input layer that accepts flattened input image vectors.
- One or more intermediate fully-connected layers that process these inputs intensively.
- An output layer that predicts the class label.
In this example, the term "feedforward network" describes the unidirectional flow of data through these layers, whereas "fully-connected network" is a description of the connections within each individual layer.
Summary Table
| Feature | Feedforward Network | Fully-Connected Network |
| Data Flow | Unidirectional (no cycles) | Not specifically unidirectional (used in various networks) |
| Applications | Simple image recognition, regression tasks | Feature combination in CNNs, densely connected models |
| Connectivity | May or may not be fully connected | Each neuron connects to every neuron in the previous layer |
| Structure | Input / Hidden / Output layers | Typically implemented in a single layer |
| Commonality | A broader category including various architectures | A specific configuration that can be part of many architectures |
Additional Considerations
- Overfitting Risks: Fully-connected networks, especially deep ones, are prone to overfitting, necessitating techniques like dropout or regularization.
- Computational Complexity: Fully-connected layers are computationally demanding due to their sheer number of connections, unlike more efficient, sparse architectures.
- Training: In terms of training, both types of networks utilize backpropagation, but the structure affects the gradient descent optimization complexity.
Understanding the distinctions and relationships between feedforward and fully-connected networks provides insight into architectural choices when designing neural networks for specific tasks. As these concepts often integrate within various deep learning frameworks, clarity on their functionality and applications can guide more efficient and effective model deployments.

