Part 1 : TITLE PAGE | Preface | What is Consciousness? | Outline of the system Part 2 : Building bricks | Layer-1 | Layer-2 | Layer-3 | Layer-4 | Layer-5 Part 3 : Discussion | Arguments | Conclusions | Addenda Tartan Hen Publications : Home | more books | Contact : feedback@tartanhen.co.uk PERCEPTIONConcerning AimsThe purpose of this book is to convince the reader that the project is feasible, not to provide a blueprint for a practical implementation. That applies with equal force to this section of the text. The Structure of a #Perception Layer-1, the stimulus-response part of the system, has a structural component which I have called a "#perception". Each #perception is equivalent to a small computer. Each has its own processor, its own memory, its own stored program, and its own input and output #signals. It receives input #signals from sensory #arrays, or from other #perceptions. A #perception is broadly similar to the component of neural networks which is called a "perceptron". Because it has its own program, it more powerful and more flexible than a perceptron which is limited to simple "and" and "or" connections between the input signals. I make no claim, however, that a #perception is a model of any structural component within any biological brain. What I do claim is that it carries out a function which is similar to something which is going on in biological brains. It is an easily described unit, which has considerable power. There is, moreover, no doubt that it would be technically feasible to implement such a unit as part of an artificial system. A #Perception can Evolve A #perception could be evolved in small steps from very simple beginnings. In the early stages of development it would have very few input #signals and a very primitive way of processing them. It can then grow in gradual stages, by introducing more input #signals, more complex ways of specifying the relationships between them, and more comple ways of identifying a match. It, therefore, meets the criterion I have set for the development of my hypothetical brain mechanism. Stored within a #perception is a pattern of #signals, which it is required to recognise. It also has a program which has the task of comparing and matching the stored pattern with the actual #signals it is receiving. A #Perception and Clocks Elsewhere within the system there is a clock, which chops time into intervals. All #signals which arrive within the interval of time between successive ticks of the clock, are judged to be "simultaneous". So each #perception, reads its input #signals, compares the pattern of these #signals with its stored pattern, and then output one or more #signals, with a strength proportional to the quality of the match which was obtained. To the output, the #perception also attaches a priority level. The output is sent either to a response #array, which will trigger some physical response, or to other #perceptions which may process these #signals along with others obtained from other #perceptions. Feature Detection With those things in mind, we can now consider the function carried out by a #perception. The basic principle is easy to understand and is an established part of the design of neural networks. It has also been established by laboratory experiements that something very similar happens in the mammalian brain. It is best described by means of an example. The diagram below is supposed to represent a pattern of retinal cells.
It has three rows. The top and bottom rows are different from the central row. We must imagine a horizontal line of bright light focused by the lens, landing on the central row. This will trigger a response from the cells of the central row. But if bright light also falls on the other two rows, the output from these is "wired" to inhibit the signal from the central row. So the central row can send a signal elsewhere, only if a line of bright light lands on it but does not land on the top and bottom rows. This then is an arrangement which can detect a short segment of a horizontal line. We must imagine that is a multitude of these feature detectors all over the array of cells, in every part of it and with every possible orientation. The array is then equipped to detect vertical and sloping lines as well as horizontal ones. The same idea can be used to construct corner detectors also with every possible orientation. If the output signals of severlal of these primitive feature detectors are then sent to another #perception it can combine them to recognise a more complex feature. This is illustrated by the diagram below.
This shows a rectangle and superimposed on it are four line-segment and four corner features. In my system, every #signal carries an indication of its location. This location refers to its source withiin the sensory array. This location has no direct correspondence to locations in the external world. It is a strictly internal thing, which relates only to the sensory array. Each of the primitive feature detectors will pass on this location information (as well as orientation) in its output #signal. The higher level #perception which receives its input from the more primitive feature detectors, must use those locations to recognise the characteristic pattern of primitive features belonging to the rectangle-feature which it is programmed to detect. This stragegy, of combining primitive feature detectors, to detect more complex features has been used successfully with printed character recognition systems. But the technique is limited to cleaarly printed characteris. It is not as effective for handwritten characters and other less regular objects. Many of the more advanced techniques used for recognising handwriting and speech, are jealously guarded commercial secrets. But I repeat, my purpose is not to demonstrate efficient commercially practical algorithms. I want only to demonstrate feasibility. The Continuity of Lines Stand on a mountain top on a clear day and scan the valley below. You will proably see rocks and heather and areas of bracken or similar vegetation. You will, probably, also see the thin tracery lines of footpaths and sheep tracks. They stand out clearly from the surrounding countryside. Now descend and try to walk along one of those paths. You may find it surprisingly difficult. In places these paths become very indistinct and you may find yourself clambering over very rough country. Why is that? Why is it that something which is very easy to see from a distance, is so hard to see clearly from close range? At first pass, the whole thing is counter-intuitive. It ought to be easier to see something from close to. The answer, of course, is continuity. From a distance, you are able to see all the places where the path is distinct, not just one of those spots, on which you may be standing. You can then link them up across the places where it is not distinct. At close range, when you are standing one one of those indistinct places, you cannot see the other places where it is distinct. It is like a dotted line. At close range you can get lost in the spaces between the dots. Another illustration.
This one shows a schematic version of that hillside far below, with patches of dark and light. And the next diagram shows the same scene covered by #perceptions, all of them trying to detect a short line segment in their own part of the array. The red ones have succeeded. The blue ones have not.
All are connected to a higher-level #perception which is trying to detect a continuous sequence of adjacent line segments. Each line-segment detector has a location extending over the segment length. The continuous line detector can now detect the feature it is looking for and attach to it, a sequence of locations which is in effect a set of graph-points though which the line travels. Calculating the Area Enclosed Detecting and tracing a continuous line is a starting point of object recognition. Once the trace has been detected and recorded in terms of the locations of successive points, a number of other things can be done with that information. If the line has a closed pathway, we can calculate the area it surrounds. This is an elementary exercise in school vector algebra.
Each line-segment has a direction. Those which are directed to the right, sweep out an area beneath them which is positive (shown in red). Those directed left sweep out a negative area (shown in blue). Subtract the negative from the positive and the result is the area inside a closed pathway. Identifying Shapes by the Distribution of Area If we can calculate the area, then we can also calculate the distribution of that area in various sub-divisions. Chop the area up into chunks by dividing it vertically by lines at regular intervals between the LEFT and RIGHT boundaries. We can start by dividing it in half, then into thirds, then into quarters, and so on. The further we take the series the finier will be our ability to distinguish betwwen similar shapes. For each set of sub-division record the relative sizes of the sub-areas. Now rotate the shape clockwise a number of degrees. Repeat the area calculation exercises. Repeat the whole exercise for more rotations. The finer are the rotations the greater will be the ability to discriminate. Once we have a set of parameters for each set of divisions for each degree of rotation, ]we will have a set of numerical parameters which uniquely identify a two dimensional shape. When we compare thoses parameters with those which have been derived from a set of standard shapes (circle, triangle, rectangle and so on) we will find that the comparison which yields the smallest discrepancy, will tell us which of those standard shapes is the closest approximation to our newly processed shape. We can then describe the new shape as being "roughly circular" or "nearly a triangle" and so on. The method is clumsy and inefficient. Much more efficient algorithms have been developed. The reader is referred to the method known as Radial Basis Functions. But my method is a good deal easier to understand, and it illustrates clearly the basic ideas. Shapes can be parameterised and these parameter will allow comparison with standard idealised shapes. Identifying Shapes by The Characteristics of the Boundary Line A golfers usually carries more than one club in his/her golf-bag. For very similar reasons, our brain mechanism could have several different ways to achieve certain results. A useful strategy would be to try all the methods at the same time. When one method gets a result, it tells the others and they stop or go into background mode. That would mean that they operate only when there is time to spare. If the chosen result, turns out later to be wrong, then the other methods can be rouse to full scale operation again. Could that be why the realisation that we have been climbing a gum tree, often occurs when we do not appear to be thinking of anything in particular? Anyway, it is entirely appropriate that our system should have several different approach to object recognition. So here is another method based on that sequence of data about the boundary line. First of all, note the form of the data which we have. It consists of line segments. Each segment has a starting point and an ending point. It is, in mathematical terms, a "directed line" or a "vector". The diagram below shows a boundary line with a number of short directed segments (in black). Each segment has an arrowhead to indicate its direction. Various statistics can then be calculated for the line as a whole. The average direction. The standard deviation of these directions. The red dots on the diagram mark the centre of every fifth segment. The blue lines join these red dots. We find then that the direction of the blue line as a whole approximates much more closely to straight line. We could re-draw that set of blue-line segments, starting at a different position. These tricks iron out small local departures from the trend of the line. Similar tricks are used in calculating time-series statistics. Often it is called the method of moving averages. We can use the same technique to identify major changes of direction. From these computed statistics we can then characterise a shape in terms of (say) (1) total rotation - the sum of all the changes of direction from one segment to the next. (If the total equals 360 degree, the boundary line is a closed figure.) (2) wiggliness - The standard deviation of all directions (3) smoothness - The average change of direction from one segment to the next. Part 1 : TITLE PAGE | Preface | What is Consciousness? | Outline of the system Part 2 : Building bricks | Layer-1 | Layer-2 | Layer-3 | Layer-4 | Layer-5 Part 3 : Discussion | Arguments | Conclusions | Addenda Tartan Hen Publications : Home | more books | Contact : feedback@tartanhen.co.uk Copyright © Hugh Noble (Nov 2006) |