6.12. What is hiding in hidden layers? (Translation by Marta Kraszewska; martak@agh.edu.pl) Briefly we can say that the hidden layers are the tool used for processing input signals (received by the input layer) to the output layer in such way that the required response (the solving problem) can be easily found. The effect of these additional (not always present) layers is not possible to be directly observed by the user, who makes the network tasks, and then observes that the network performs them correctly. He has no access nor to enter neurons of these layers (you have to use the input layer neurons for the transmission of signals to them) neither to their outputs (effects of hidden layer neurons are revealed only indirectly, through the responses they produce and are sent by the output layer neurons). It follows that - activity of neurons in the intermediate layers is not directly visible to the network’s user - and in this sense they are hidden. Although hidden - these additional layers in neural networks play a very important and responsible function. They create an additional structure that processes information, and the most simple way to discuss their role is to provide the example of network implementation in frequently occurring pattern recognition task. In such networks, a digital image is given at the input (the first layer of the network). It cannot be a picture of a typical camera or traditional image loaded into the scanner or Frame Grabber. The reason is very simple: in such system supplied by simple image at the input, rather than some of its more sophisticated description (see Figure 2.30), the input layer neurons corresponds to its size and organization (grouping of neurons in the corresponding rows and columns) the organization of the image. Simply each point of the image is assigned to the input of neuron network, which analyzes and reports its status. Image from a digital camera or a scanner is a set of pixels, but those pixels are millions. It is impossible to build a network with millions of neurons on the input, especially that such network would have billions (!) connections for which you would need to set the value of weight. It is impossible to achieve such a structure. However, you can imagine a system that receives very simplistic digital image on the input, consisting of a small number of pixels, arranged in the form of simple characters - such as letters (Figure 2.39). These neurons represent the recognition of individual characters A B C Fig. 2.39. An example of a network that recognizes simple images Rozdział 2, str. 1/3 At the output of the network, it is expected to have decisions informing about what has been diagnosed - for example, it can be organized so that the output of individual neurons contractually assign certain decisions - for example, “A was diagnosed”, “B was diagnosed”, etc., and the size of signals at these outputs will be interpreted in terms of the degree of certainty of the appropriate decision. It is easy to note that it is possible, therefore, that ambiguous responses will be given by the network ("something is related to the extent of 0.7 to letter A, but the degree of 0.4 points with B"). It is one of the interesting and useful features of neural networks that can be therefore associated with a fuzzy logic systems (fuzzy) - more comprehensive discussion of this aspect goes beyond the book. In the presented neural network, hidden layer neurons play as intermediaries - they have direct access to the input data and they can see the image presented at the input, and based on their output further layers take certain decisions on the diagnosis of one or the other image. Therefore, it is believed that the role of the hidden layer neurons is to devise such a pre-processed sets of input data to be used by the output layer neurons in the determination of the final result. Usefulness of the intermediate layers is based on the fact, that in general making certain input transformation causes that the solution of the task given to the network becomes much easier to achieve than in the case of attempts to solve the same task in a direct way. For example, considering a pattern recognition task, it is difficult to find a rule that allows to determine what the object is shown when analyzing only bright and dark pixels in the image (and only that information has a network without hidden layer). Finding the correct recognition rule which functions at that low level is difficult because the diagnosed objects can occur in a number of varieties which differ somewhat in shape, but have the same meaning. The same object (for example the letter A) can in fact look a little different when it is scanned from the manuscript, otherwise when it comes to printed text, and another way when, for example, was photographed on fluttering banner. Even the letter printed using exactly the same characters can be represented by two completely different images to the pixel values in some selected points, for example, if it is moved (such trivial fault, which is not disturbing for the man who reads the text, can change the digital picture of character in completely dramatic way if we have to pay attention to that specific pixel is white and a black). As if that was not enough - there is an additional difficulty with the digital images of low resolution which is based on the fact that completely different objects can have very large sets of identical pixels on digital images. Expectation that the neural network with "one jump" overcomes all these difficulties, which are visible between "raw" image and the final decision of the recognition of what the image shows - might be unrealistic in that case. This reasoning is correct, because the relevant experience confirms that none of the learning process will be able to make a simple network with no hidden layer to ensure that it will be able to solve the task. Such a network without hidden layers would produce such an amazing mechanism by which the time to understand some selected and established sets of pixels as belonging to different objects, and other times would link different sets pixels with the same object. This simply cannot be done. What is not possible to be done by a network with fewer layers, in general can be performed by a network containing a hidden layer. In such tasks, neurons in this layer would find certain auxiliary values, that significantly facilitate to solve the task. For example considering pattern recognition task, hidden layer neurons can detect and encode the structure describing the general characteristics of the image and objects seen on that image. These characteristics should be more responsive to the demands of the final image recognition, than the original image - for example, can be to some extent independent of the position and the scale of recognized objects. Examples of features that describe the objects in images of letters (to facilitate their recognition) may be: the presence or absence of closed contour drawing letters (they have them letters O, D, A, and a few others, the letters like I, T, S, N, etc. do not have these characteristics) whether the character has a notch at the bottom (A, X, K), or at the top (U, Y, V, K), and maybe from the side (E, F) whether more rounded shape (O, S, C) or severe (E, W, T, A) Obviously you can find much more the differentiating features of letters and at the same time insensitive to common factors affecting their recognition (change fonts or handwriting, change the size of the letters, the tilt, pan, etc.). However it should be emphasized, that the creator of the neural network does not have to explicitly ask what characteristics of the picture may be found, because the network itself can acquire relevant skills during the learning process. Of course there is no guarantee that the neural network designed to recognize letters, learns Rozdział 2, str. 2/3 its hidden layers to detect and signal precisely those characteristics that were mentioned above. You can even bet a large sum that those characteristics mentioned by me to differentiate letters, neural network would not detect by itself. But the experience of many researchers confirm that the neural network can recognize the characteristics in the recognition tasks, that effectively facilitate recognition - although in general, the creator of the network cannot understand what is the sense of this or another characteristics encoded in the hidden layer. The use of hidden layer is intentional in every respect, because the neural network might show much more intelligent forms of behavior, however, the chance need to be given by taking into account the structure of the elements that precisely can extract "descriptive image features". It is worth noting that the nature of the extracted features is determined by the structure of the network, only through the process of learning. If we imagine the network to recognize images, all features that will be extracted by hidden layer neurons, might adapt automatically to the type of recognizable images. If we ask the network for the detection of aerial photographs of masked rocket launchers, it becomes clear that the main task of the hidden layer will become independent of the position of the object, as the shape of the suspect can occur in any region of the image and should always be recognized in the same way. If the network has to recognize letters, it should not lose information about their position (a network that will tell you that scanned letter A is somewhere on the page is not very useful as we need to know precisely where it is, and even more - in what context it presents), so in this case the objective of the hidden layer is to extract features that may allow for reliable identification of letters, regardless of its size and whatever typeface (font). What's interesting - both of these tasks can be solved (after appropriate training) using the same network - although, of course, the network learnt to recognize tanks cannot read the writing, and learnt to identify fingerprints cannot handle face recognition. Rozdział 2, str. 3/3