How does connectivity work between neurons in a fully connected (dense) layer and the layer before it?
Select an answer to reveal the explanation.
Short Explanation and Infographic
A dense layer is exactly what it sounds like: densely, fully wired up. Every single neuron in that layer reaches back and grabs input from every neuron in the previous layer, no exceptions. That's different from a convolutional layer, which is deliberately stingy and only looks at a small local patch at a time, that's the local-patch option you should rule out. It's also not one-to-one wiring, that would barely be a neural network worth the name, and it's definitely not neurons wiring to each other within the same layer, that would break the whole feedforward flow. Fully connected means full connectivity, layer to layer.
Full explanation below image
Full Explanation
In a fully connected, or dense, layer, every neuron receives input from, and has a learnable weight connecting to, every single neuron in the preceding layer. This produces a dense weight matrix where the number of parameters equals the number of neurons in the current layer multiplied by the number of neurons in the previous layer, plus one bias term per neuron. This exhaustive connectivity allows the layer to combine information from across the entire previous layer's output when computing each of its own activations, which is why dense layers are typically placed toward the end of a network to synthesize globally extracted features into a final decision.
The local-patch distractor describes the behavior of a convolutional layer, not a dense layer; convolutional layers deliberately restrict each neuron's receptive field to a small local region of the input and share weights across spatial positions, which is the opposite design philosophy from full connectivity. The one-to-one distractor is wrong because it describes something closer to an identity mapping or a highly restricted architecture with no meaningful combination of features; a true dense layer would lose almost all of its representational power under that constraint, and it is not how dense layers are defined or implemented. The same-layer distractor is wrong because it describes lateral or recurrent-style connections within a layer, which is not how standard feedforward dense layers operate; connections in a fully connected feedforward layer strictly flow from the previous layer's outputs to the current layer's inputs, never sideways within the layer itself.
A good memory aid: "dense" literally means densely packed connections, so picture a complete bipartite graph between the two layers, every node on one side wired to every node on the other. This exhaustive wiring is powerful for combining global information but also expensive in parameter count, which is one reason CNNs use convolutional layers with local, shared weights for the earlier feature-extraction stages before handing off to dense layers near the output.