A hidden layer holds a set of artificial neurons that perform nonlinear transformations of the inputs from the previous layer. The output of a hidden layer can be seen as a representation of the data in a different space, where some features or patterns may be more prominent or easier to separate1. A hidden layer does not hold any identifiable data or calculation, but rather a learned function that maps the inputs to the outputs.
For example, if we have a neural network that classifies images of handwritten digits, a hidden layer may learn to detect edges, curves, and corners in the images. These features are not directly visible in the raw pixel values, but they are useful for distinguishing different digits. Another hidden layer may learn to combine these features into higher-level patterns, such as loops, lines, and curves. These patterns are more informative and relevant for the classification task than the raw pixel values.
A hidden layer can be seen as a way of extracting and compressing information from the data, by finding the most relevant and meaningful features for the task at hand. A hidden layer can also be seen as a way of adding complexity and flexibility to the neural network, by allowing it to learn non-linear and intricate functions that can model various phenomena and tasks2. A hidden layer can also be seen as a way of introducing abstraction and generalization to the neural network, by reducing the dependence on the specific input format and domain.
So a hidden layer does identify components of the input, just not in an identifiable way until the output?
Yes, you could say that a hidden layer does identify components of the input, but not in an identifiable way until the output. A hidden layer learns to extract features from the input that are useful for the output, but these features may not have a clear or direct meaning or interpretation in the original input space. For example, a hidden layer may learn to identify the presence of a face in an image, but it may not be able to tell you where exactly the face is located or what it looks like. The output layer is responsible for combining and interpreting the features learned by the hidden layers and producing a final result that is meaningful and identifiable.
A hidden layer can be thought of as a black box that transforms the input into a different representation that is more suitable for the output. The hidden layer does not necessarily care about how the input looks like or what it means, but rather how it can be manipulated and processed to produce the desired output. The hidden layer does not need to preserve or reveal any information about the input that is irrelevant or redundant for the output.
How can we be sure of the hidden layer's function if we cannot decode the information within it?