Thursday, 6 October 2011

Am I being foolhardy in considering CODIL to be a model how the brain works?


In discussing Artificial Intelligence Steven Pinker, in The Language Instinct writes (my highlighting):

Since innate similarity spaces are inherent to the logic of learning, it is not surprising that human-engineered learning systems in artificial intelli­gence are always innately designed to exploit the constraints in some domain of knowledge. A computer program intended to learn the rules of baseball is pre-programmed with the assumptions under-lying competitive sports, so that it will not interpret players' motions as a choreographed dance or a religious ritual. A program designed to learn the past tense of English verbs is given only the verb's sound as its input; a program designed to learn a verb's dictionary entry is given only its meaning. This requirement is apparent in what the designers do, though not always in what they say. Working within the assumptions of the Standard Social Science Model, the computer scientists often hype their programs as mere demos of powerful general-purpose learning systems. But because no one would be so foolhardy as to try to model the entire human mind, the researchers can take advantage of this allegedly practical limitation. They are free to hand-tailor their demo program to the kind of problem it is charged with solving, and they can be a deus ex machina funnelling just the right inputs to the program at just the right time. Which is not a criticism; that's the way learning systems have to work!

In various past and future postings on this blog I am arguing that CODIL is a model of at least some aspects of how the brain works and in making wide claims it is important that I ask myself whether I am being foolhardy, and whether I am making extravagant claims for a model general purpose learning system for the brain.

The brain is, in effect, a black box which can carry out a wide range of tasks and it is appropriate to consider another black box system and look at how we might ask how it works. Let us consider the stored program computer, forgetting all we know about how it works and how it is programmed. We observe that the computer can do a very wide range of what appear to be very intelligent tasks. A quick survey of what a computer is capable of reveals the world wide web, weather forecasting systems, great skill in playing chess, support of sophisticated digital cameras, the management of stock control in a large supermarket chain, etc., etc.. It would be very easy to come to the conclusion that the computer is inherently very intelligent to be able to do all these things. We might also follow Pinker's line and suggest no one would be so foolhardy as to try to model the entire [range of computer activities].

Of course we happen to know how computers work, and we would not try and determine the basic principles of the stored program computer by an in depth study of how it forecast the weather or controlled a jumbo jet. We would think someone mad if they suggested that if we studied the chess playing skills of a particular program it would tell us anything useful about how the computer central processor worked – although it might tell us something about the mind of the human that programmed the computer! We know that the computer central processor knows nothing about the application it is running, and the chip could be at home in a robot on the surface of Mars or generating animated images for a 3D film show. The computer is a box and if you put information into it written in a suitable language, processed information comes out. Any “intelligence” it displays is the result of the information put into the box and is not an explicit function of the processor.

While it is clear that the brain does not work in exactly the same way as a computer chip it is worth considering whether it works along similar lines. Does the neural net made up of brain cells provide a general purpose processor and memory store which is independent of the tasks which it is called on to do? Is what it does dependant on the input of information in a suitable language and are different externally apparent behaviours, including “intelligence” wholly dependant on the information that has been input? If so cherry picking human tasks, such as playing chess, or speaking a particular human language, and studying them to the point of exhaustion may tell you little or nothing about the internal workings of the brain – or the internal language in which tasks are described and processed.

So why should the research I have done with CODIL be any different? A look at the origin of the underlying idea gives a clue.

In early 1967 I was a comparative newcomer to computing but was asked to familiarise myself with a very complex sales accounting application prior to redesigning the programs to work on an early interactive computer system. The system would need to cover some 5000 different product lines and a large number of customers ranging from single householders to organisations such as London Transport and the United States Air Force. The market was pretty dynamic as there were many competitor companies selling similar products. In addition my computer experience to date, although limited, had given me a good insight of what could go wrong, particularly in mistakes and misunderstandings in the specification and testing of the sales divisions requirements.

My reaction was a bit like Pinker's reaction to modelling the mind. Using conventional systems programming techniques I came to the conclusion that there was no way that an accurate global model of the whole company's ever changing contract arrangements could be constructed without significant errors, delays and opportunities for misunderstanding. It might be possible to build a reasonably reliable model of the easier parts of the task but the more comprehensive you tried to make it the more expensive and less reliable it became. As someone with a background in theoretical chemistry I was well aware that if one mathematical model is inadequate for the task you reformulate the problem in terms of a different mathematical model.

It was clear that the sales staff responsible for the sales of specific products and/or customers would always be better informed about the real world marketing situation than the computer specialists. What was needed was a way in which the sales staff could be in charge of the process and to be able to do this they required good two-way communication between themselves and the computer. Rather than try and draw up a comprehensive global model explicitly covering all actual and likely sales contracts, customers and products, I decided to model how sales staff thought about the problem ... and came up with a possibly implementable design - as no-one had told be that “everyone knew” this was impossible. This later led to the far more general approach underlying CODIL.

In a future post I will be discussing the way CODIL may be related to modelling the Mind but first it is appropriate to consider some of the ideas which lay behind the idea but re-interpreted in the way I am thinking about it today.

The Information Mirror

The basic philosophy involves the idea of an active information mirror which can store the information that is input, selectively make logical deductions using the information it holds, and reflect back the information in the same format as it originally arrived. In the same way that a light mirror will reflect back any images (ideally without any distortion) the information mirror should be able to store, process and reflect back information relating to any task. There is one critical feature of a good mirror and that is that the “reflection mechanism” is the same whatever image it is reflecting.

So how does a child learn language. Basically it reflects back the language of the other people around it and if it was brought up in a different culture it would end up speaking a different language. Other skills are learnt in similar ways from different “teachers” including books, the T.V. And life experiences. As a result every person's mind reflects a different composite view of the world.

The starting point of the research into CODIL was to say that if an explicit all-embracing model of the sales task in impractical why not build a system that reflects how the sales staff think about the contract problem, and if the mirror interface is good enough (for admittedly a specialised task) the system and the human sales staff can work together on the task in a what amounts to a symbiotic relationship.

What came First? The Program or the Data?

People do not naturally think about the world in terms of “program” and “data” and comparisons with the “stored program computer” model can be extremely misleading. The underlying theory behind the computer is that they make it possible to execute algorithms – where an algorithm is a pre-defined mathematical definition of the task to be carried out. This means that the stored program computer approach can only handle tasks which it is possible to pre-define the task and there needs to be some kind of intelligent “creator” to draft the algorithm/program. Of course the computer was originally developed to handle a class of mathematical tasks, involving analysis of well defined sets of data which people find intrinsically difficult – so it is reasonable to assume that it was not designed to be a good model of the kinds of information processing activities that humans find easy.

Instead of being based on rules for processing numbers, the CODIL approach tries to work in a way that people find easy – by processing information organised into sets, using a recursive bottom up model, rather than the global top-down model of the stored program computer. Many of the differences are dealt with in the earlier post Ten Important Differences between Brains and Computers so will not be repeated here, except to say that a significant feature is that there is no need for any distinction between “program” and “data”.

Evolution and Language

Recent research into the emergence of the human species strongly suggests that the rate of development of tool making entered onto a rapidly expanding curve about 75,000 years ago and it is suggested that language as we now know it probably started at a similar date. However in terms of Darwinian type evolutionary models there appears to be no significant changes in the genes to explain such a leap forward. However if you take a Lamarckian model working on a culturally based language knowledge, including the knowledge of language, can be directly passed from parents to their children. If the circumstances arise where better language has significant survival value there will be continual pressure to develop better communication skills – which will lead to rapid improvements in both language and language communicated culture.

If this is the case there would be very little difference between the innate brain mechanisms of a human living 200,000 years ago and modern man – the difference would be in the opportunity to learn language as a child. Language would be come just another task the human brain is capable of learning and any research into the origins of language would need to start with an understanding of (a) the way the brain works in the absence of a developed language and (b) how the brain of a child uses the innate brain functions to learn language.

CODIL provides a candidate “symbolic assembly language” for the pre-language brain the key features being

  1. It uses an associative model of information which could easily be mapped onto a neural net
  2. The basic processing algorithm is very simple and could be implemented by repeated units on a neural net – and one can envisage evolutionary simpler forebears.
  3. The initial serial version of the system had considerable processing powers which have been demonstrated on a wide range of different tasks.
  4. The CODIL language is little more than lists of linked symbols – but is easy for people to read and mentally convert into natural language
  5. The approach works on a bottom up basis – knowing nothing to start with and is designed to handle task which contain incomplete or fuzzy information and great variability.
What Next?

We all now know of a good example to a major advance being suppressed (admittedly only for a few years) see The Establishment rejected research which later got the Nobel Prize.

This research was abandoned over 20 years ago because I had, in effect, a nervous breakdown, because of the hostility I was getting from the Computer Science establishment. This means I am no longer in a position to resume the research on a full time basis – but will continue to put ot more information and ideas on this blog. However I will be very happy to liaise with anyone interested in taking the ideas further, and can provide information on the working system, and possibly some working software (for the BBC Computer)/

No comments:

Post a Comment