AI lost in the wilderness
There have been a number of people that have looked at current AI research and found it lacking, which indicates that all is not well with endeavour. Some examples of critical views from the inside being: Rodney Brooks has argued that there is a lack of understanding of life and intelligence, Seymour Papert misses the days of big ideas for Artificial Intelligence, Marvin Minsky complains about grad students studying simple robots,
However I would say that these are simply symptoms of the main problem which is within the quest for an intelligent machine itself. Part of the problem is that we don't know what intelligence is.
A confusion of intelligences
We don't have one definition of intelligence, we have a multitude. Are animals at all worthy of study to find out about intelligence or is it only humans that we should study and recreate to understand intelligence? I personally don't have a rigourous definition of intelligence, I know it when I see it and sometimes I don't know it when I see it, when I am fooled or tricked. So we will have to rely on others definitions. The first we will consider is the human biased version of intelligence.
The main trouble with this approach is only having one example of intelligence. Generalising from this one example will generally make us overfit (to borrow a term from Machine Learning) and not get the correct generalised function. The furore created by this view can be seen in vast philosophical debate created by the Turing Test.
For example Tom Ray argues that the Turing test is not a proper measure of intelligence as it is human-centric. The Turing test is also of no use in guiding us towards intelligence as it gives us a binary answer to the question, "Is this system intelligent?" it can't answer, "It is a bit intelligent," to know whether we are on the right track or not.
So is getting more data points from looking at animals as well likely to help us to define intelligence. If you allow animals to be intelligences of different sorts you are in an even worse state, because whilst being too specific about intelligences, because they are all motile with direct physical sensors, they are diverse enough to make generalising not very purposeful. Have we solved intelligence when we create something that shares the common characteristics of bats, octopodes, humans and bees? Should bees or bats be in the previous list? So which animals are or are not intelligent? This leads us to having to define intelligence, the problem we were trying to use animals to help us with.
So lets stop trying and just go on intuition, yeah, why not? We can cope without this philosophy! Because lack of rigour like this causes the phenomenon of things getting reclassified un-intelligent once machines can do them. It is much easier to say it cannot learn Spanish and so is not useful for the task of conversing with Spaniards without having to be explicitly programmed to do so, than to say it is not intelligent if you have no agreed upon definition of intelligence.
The trouble is that intelligence is a suit-case word as Minsky would call it. It covers innumerable things brains can do, such as focusing on the salient parts of an image, coping with echo-location, communicating with colour patterns, learning about the world and also future things machines will do. It has been used to cover virtually everything a brain does, apart from the non-useful to society things like go mad, become addicted to cocaine, become depressed, be stubborn. Oops, sorry sneaked the u-word in there.
It also inspires people to talk about "thinking" another suitcase word. One of the troubles, human biased as we are, is that we expect it to be somewhat like lingual "thought". Yet it seems there is a lot we cannot explain about rat behaviour and it seems unlikely they have an internal monologue of squeaks! Yet they have the common sense to search for food in the same place that they found it last time, so is lingual "thought" necessary for common sense reasoning? Another view is that "thought" isn't only internal monologue and is simply what neurons do. If that is the case what is to stop us creating a neuron cluster that encrypts a signal with a one-time pad. This would then be classified as "thought" so we would have to fight for the rights of our encryption programs as they would be "thinking" as well.
By calling what we study "intelligence" and "thought" not only are we hampering ourselves with poorly defined terms, we are also admitting some pseudo-mysticism into our proceedings. The computer programs we study might be mind-blowingly complex but what we study with computers is tic follows toc follows tic and nothing more. No magic, no fairy dust.
The first thing we can do having halted our search for intelligence is to ditch the philosophy of mind and consciousness. Does it matter if our machines are thinking or are experiencing the same things we do? No! Just as it doesn't matter in our everyday lives whether the people we meet on the street are Zombies or not. Philosophers and theologians can argue over whether what we create is intelligent or not. Also does it matter if we need quantum interactions for intelligence as suggested by Penrose? Surely we should still be concentrating on finding out exactly what computers can do as we have only explored a fraction of the different types of computer systems possible.
But what to replace it with? I suggest we should ditch the term intelligence and focus on the only common link between what has been studied, them being useful for a task. So Usefulness should be what we study. I shall use utilitas to indicate this study unambiguously, latin grammar be damned. Now before people misinterpret this as me saying that we should just build what is useful for the current problem and so ignore the big picture, I shall clarify what I mean. By studying utilitas I mean studying how much systems are able to change how useful they are and enumerating the different activities and situations that make a system useful or non-useful.
So let us see if we can get some use out of our study of utilitas. It is important to remember that as far as we know usefulness of a computational system is always relative to a certain problem or set of problems. A system that is more useful in general in a mathematical sense is problematic, due to ideas of a similar nature to the No Free Lunch Theorems. Proving general physical usefulness would require us to be confidant of the physics of our world and the proof would have to be careful about the assumptions it makes about nature of computation so it can take into consideration things like energy usage of the computation. As we are not sure of these factors at present, it is probably wisest to assume there is no such thing as a more generally useful system.
To get an idea of why a generally useful system is probably not possible it is worth enumerating some of the different properties of computation that make a software system useful or not useful for a specific task:
- Function - the correct output for a certain input
- Timeliness - the correct output for a certain input at the correct time
- Energetics - not over-using energy to perform the function
- Stability - ability to deal with errors from the outside
Low energy usage and stability can be quite easily seen to be countervailing useful properties, as a system which performs a calculation multiple times for stability will generally increase the energy used.
So let us have a look at some AI research and see if that has any relevance to the study of utilitas. We will look at it through a utilitas lens that replaces every occurrence of intelligence with usefulness and see if the statements still make some sense. As it is hard to think in generalities, we shall use as an example for judging whether what they are talking about is relevant a very advanced (some may even say Intelligent) internet router. This router tries to send the packets in the correct direction using all the possible information that it can gather from its network connection. We shall use it because it is an open-ended problem with large community of them and doesn't necessarily need human interaction, so we try and avoid being biased to parts of the system being useful for dealing with humans. If some part of the system they are going to create is useful for both their purpose and the internet router it is likely to be worthy of study in utilitas.
We can discard chatterbots such as ALICE as central to utilitas straight off the bat. Communicating with humans would only be useful if the communication had some connection to the process of packet switching. And chatterbots are generally unconnected with any actual use. They ignore energy usage, stability and timeliness.
Let us have a look at Cyc, is common sense part of utilitas? It depends what you mean by common sense. In this case it is a database of facts useful to a entity when communicating with a human. Only a very small subset of the information stored in the Cyc knowledge base will be of use to our router. Things like "earthquakes disrupt communication lines" might be useful if it could scan the internet for information on websites about earthquakes, so it knows not to send information over certain routes due to an earthquake and not have to wait for time outs. It is hard to see how knowledge that a "flower is a plant" would normally be useful to a router, however the knowledge that a message "19233" from a router indicated that a burst of VOIP traffic had commenced near it and that it would have its hands full for about half an hour would be very useful. So I would contend that common sense knowledge is domain specific.
What about common sense reasoning as argued for by MIT's Commonsense project? At first it looks promising, yes our router could need to plan to be useful and it would definitely need to make decisions and it might need to do quite a few of the other things. However once we get into the details, domain specificity rears it head again. To be able to plan were to route packets usefully it would have to be able to approximate a shortest path algorithm of some sorts. Let us say it finds the initial plan with a breadth-first search that it then communicates that with the other routers and creates contingency plans for emergencies and the like. The initial breadth first search is unlike any we know that are done by humans. Looking at the decision part of it as well, decisions about where to send the packets would have to be made in a split second so long deliberations would not be appropriate. So we would have to create a new common sense reasoning system for our routers and couldn't rely on the work done in MIT for our most important common sense reasoning. We may be able to cannibalise the reasoning for communicating with humans or reading human written websites. Which betrays what this research project is about, creating a common sense reasoner that is useful for dealing with humans and the world at the moment. Not common sense reasoning that is useful in the general if there is such a thing.
Also the current approaches taken to common sense have no conception of energy usage of the computation, which was probably an important consideration for the development of the way brains performs their functions. And will be an important factor in any robots we build. The common sense systems as currently envisaged won't be able to say, "No sorry can't compute for you now, I have to get to a power point to recharge."
What about the evolutionary ALife approaches to utilitas? It is almost an oxymoron, the idea of using evolution to create useful programs. Now I have to be careful here as evolution does come into what I am interested in, so what exactly does the ALife approach entail? As argued for by Jordan Pollack and Tom Ray it is the creation of a useful program by the evolution of a population of programs until one displays intelligence sorry I mean usefulness for a task. Which sort of leaves us with no information about any shared concepts of usefulness for other tasks.
So what does this leave?
Some people may be wondering with all that I have tossed out of the study of utilitas is there anything new left for us to study and understand. Or is it just a matter of refining concepts we have already. Can we refine the route planning software and create a language for communication between routers, create statistical measures for traffic linked to this language, add in a neural net for good measure and have the most useful internet router possible?
I would say no. Brains still have many secrets about how to be a certain type of useful system. One of the things we can't do very well at all is create systems that can learn to reconfigure themselves in a useful fashion. We weren't designed to be able to fly jets, yet some of us manage to reconfigure our instincts and skills designed for hunting, tool use and socialising to do just that. Now it would be very useful for our routers not to have to be designed with all the methods of reasoning about humans and the outside world and to let them figure them out, we might posit router scholars that specialise in studying the outies and their world that can do amazing thing like predicting when new routers will be created or warn the routers to expect sun-spot activity based on their analysis of the telescope data that flies across the net.
Machine learning, in the main, hasn't gone towards this. We still have to carefully tweak our machine learning algorithms and representations to make sure that they can learn certain tasks that we have specified. Going beyond this specification to reconfigure themselves entails creating new programs or altering old ones. This reconfiguration would have to be of a more radical nature than that of most common machine learning paradigms.
We can expect that there will be no one optimally useful method of self-reconfiguration. Yet there may well be common features of systems that would allow for self-reconfiguration in a general fashion and copes with the difficulties that that entails. So the base system that doesn't change should be hollow of activity so that it can be reconfigured, think Turing Machine rather than Tabula Rasa. It is worth pointing out here that Von Neumann machines, that have no in built use or purpose, are in general the most useful things to have around. So in a similar fashion, once this hollow base is created, then you add programs that are problem specific with self-reconfiguring parts specific to the class of problems it deals with. So just as modern computers allows us to alter them to alter there usefulness for other tasks, the new type of system would allow the system internals to alter themselves without horribly breaking, to alter there usefulness for different tasks. However this is a topic for another article.
So does going beyond our concept of self-reconfiguration break our statement that things can't be generally useful? Easy answer, no! If "ls" tried to adapt and improve itself beyond its specification, it would break many other programs that rely on it staying the same. It would also increase the amount of processing it did, to the detriment of other programs.
So to sum up: Do we have to actively aim for intelligence or consciousness to create human or animal like activity? Evolution didn't, so neither do we. If the concept of intelligence was well enough defined then we could use it as a wind to guide our path, at the moment it is acting more like an anchor making us spin round and round in circles. Usefulness on the other hand allows us to continue the path for the moment and focuses our attention on trying to create the truly novel.