hidden layer
/ HID-un LAY-er /
A hidden layer is any layer of neurons in a network that sits between the input and the output — neither the part you feed data into nor the part you read answers from. It's called "hidden" not because it's secret, but simply because you never directly see its values; they live inside the machine, doing intermediate work. If a network is an assembly line, the input layer is the raw materials, the output layer is the finished product, and the hidden layers are all the work-in-progress stations in between.
Hidden layers are where the real thinking happens. Each one takes the patterns found by the layer before it and combines them into something more abstract. In an image network, an early hidden layer might detect edges, the next might assemble edges into shapes like eyes and wheels, and a later one might recognize whole faces or cars. Nobody tells the layers to specialize like this — they discover such a hierarchy on their own during training. The depth of a network simply means how many hidden layers it has; "deep learning" is named for stacking many of them.
More hidden layers and more neurons give a network more capacity to represent complex patterns — but it's not free. Bigger networks need more data and more computation to train, and they're more prone to overfitting, meaning they memorize quirks of the training examples instead of learning the general rule. Choosing how many hidden layers and how wide to make them is one of the everyday balancing acts of building a network, with no formula that fits every problem.
A network reading handwritten digits has 784 input neurons (one per pixel of a 28×28 image) and 10 output neurons (one per digit). Between them you might place two hidden layers of, say, 128 and 64 neurons. You never inspect those 192 hidden values directly — but it's there, in the hidden layers, that pixels quietly become strokes, and strokes become digits.
Hidden layers are the in-between stages where raw input is gradually turned into abstract features.
More hidden layers is not automatically better. Beyond what your data and problem need, extra depth mainly adds cost and overfitting risk — and very deep stacks can be hard to train because gradients vanish on the way back.