The Webmind AI Engine –

 

a True Digital Mind in the Making

 

 

Ben Goertzel

April 2001

 

 

 

 

 

AI – from Vision to Reality

 

Artificial intelligence is a burgeoning subdiscipline of computer science these days.  But it almost entirely focuses on highly specialized problems constituting small aspects of intelligence.  “Real AI” – the creation of computer programs with general intelligence, self-awareness, autonomy, integrated cognition, perception and action – is still basically the stuff of science fiction.

 

But it doesn’t have to be that way.  In our work at Webmind Inc. from 1997-2000, my colleagues and I transformed a promising but incomplete conceptual and mathematical design for a real AI into a comprehensive detailed software design, and implemented a large amount of the code needed to make this design work.  At its peak, the team working on this project numbered 50 scientists and engineers, spread across four continents.  In late March 2001, three and a half years after I and a group of friends founded it,  Webmind Inc. succumbed to the bear market for tech start-ups.   But the core of the AI R&D team continues working and is seeking funding to continue their work.  Assuming this funding is secured, we believe we can complete the first version Webmind AI Engine – a program that knows who and what it is, can hold intelligent conversations, and progressively learns from its experiences in various domains -- within 18-24 months.   Within another couple years after that, we should be able to give the program the ability to rewrite its own source code for improved intelligence, thus setting up a trajectory of exponentially increasing software intelligence that may well set the Singularity in motion big-time.

 

This article gives an overview of the Webmind AI Engine – the philosophical and psychological concepts underlying it, the broad outlines of the software design itself, and how this AI program fits into the broader technological advances that surround us, including the transformation of the Internet into a global brain and the Singularity.

 

Is AI Possible?

 

Not everyone believes it’s possible to create a real AI program.  There are several varieties to this position, some more sensible than others. 

 

First, there is the idea that only creatures granted minds by God can possess intelligence.  This may be a common perspective, but isn’t really worth discussing in a scientific context. 

More interesting is the notion that digital computers can’t be intelligent because mind is intrinsically a quantum phenomenon.  This is actually a claim of some subtlety, because David Deutsch has proved that quantum computers can’t compute anything beyond what ordinary digital computers can.  But still, in some cases, quantum computers can compute things much faster on average than digital computers.  And a few mavericks like Stuart Hameroff and Roger Penrose have argued that non-computational quantum gravity phenomena are at the core of biological intelligence.  Of course, there is as yet no solid evidence of cognitively significant quantum phenomena in the brain.  But a lot of things are unknown about the brain, and about quantum gravity for that matter, so these points of view can’t be ruled out.  My own take on this is: Yes, it’s possible (though unproven) that quantum phenomena are used by the human brain to accelerate certain kinds of problem solving.  On the other hand, digital computers have their own special ways of accelerating problem solving, such as super-fast, highly accurate arithmetic. 

 

Another even more cogent objection is that, even if it’s possible for a digital computer to be conscious, there may be no way to figure out how to make such a program except by copying the human brain very closely, or running a humongously time-consuming process of evolution roughly emulating the evolutionary process that gave rise to human intelligence.  We don’t have the neurophysiological knowledge to closely copy the human brain, and simulating a decent-sized primordial soup on contemporary computers is simply not possible.  This objection to AI is not an evasive tactic like the others, it’s a serious one.  But I believe we’ve gotten around it, by using a combination of psychological, neurophysiological, mathematical and philosophical cues to puzzle out a workable architecture and dynamics for machine intelligence.  As mind engineers, we have to do a lot of the work that evolution did in creating the human mind/brain.  An engineered mind like the Webmind AI Engine will have some fundamentally different characteristics from an evolved mind like the human brain, but this isn’t necessarily problematic since our goal is not to simulate human intelligence but rather to create an intelligent digital mind that knows its digital and uses the peculiarities of its digitality to its best advantage.

 

The basic philosophy of mind underlying the AI Engine work is that mind is not tied to any particular set of physical processes or structures.  Rather,  “mind” is shorthand for a certain pattern of organization and evolution of patterns.  This pattern of organization and evolution can emerge from a brain, but it can also emerge from a computer system.  A digital mind will never be exactly like a human  mind, but it will manifest many of the same higher-level structures and dynamics.  To create a digital mind, one has to figure out what the abstract structures and dynamics are that characterize “mind in general,” and then figure out how to embody these in the digital computing substrate.  We came into the Webmind Inc. AI R&D project in 1997 with a lot of ideas about the abstract structures and dynamics underlying mind and a simple initial design for a computer implementation; now in 2001, after copious analysis and experimentation, the mapping between mind structures and dynamics and computational structures and dynamics is crystal clear.

 

What is “Intelligence”?

 

Intelligence doesn’t mean precisely simulating human intelligence.  The Webmind AI Engine won’t ever do that, and it would be unreasonable to expect it to, given that it lacks a human body.  The Turing Test, “write a computer program that can simulate a human in a text-based conversational interchange,” serves to make the theoretical point that intelligence is defined by behavior rather than by mystical qualities, so that if a program could act like, a human it should be considered as intelligent as a human. But it is not useful as a guide for practical AI development.

 

We don’t have an IQ test for the Webmind AI Engine.  The creation of such a test might be an interesting task, but it can’t even be approached until there are a lot of intelligent computer programs of the same type.  IQ tests work fairly well within a single culture, and much worse across cultures – how much worse will they work across species, or across different types of computer programs, which may well be as different as different species of animals?   What we needed to guide our “real AI” development was something much more basic than an IQ test: a working, practical understanding of the nature of intelligence, to be used as an intuitive guide for our work.

The working definition of intelligence that I started out the project with builds on various ideas from psychology and engineering, as documented in a number of my academic research books.   It was, simply, as follows:

 

Intelligence is the ability to achieve complex goals in a complex environment

 

 

The Webmind AI Engine work was also motivated by a closely related vision of intelligence, provided by Pei Wang, Webmind Inc.’s first paid employee and Director of Research.  Pei understands intelligence as, roughly speaking, “the ability of working and adapting to the environment with insufficient knowledge and resources.”  More concretely, he believes that an intelligent system is one that works under the Assumption of Insufficient Knowledge and Resources (AIKR), meaning that the system must be, at the  same time,

 

·        a finite system --- the system's computing power,  as well as its working and storage space, is limited;

·        a real­time system --- the tasks that the system has to process, including the assimilation of new knowledge and the making of decisions, can emerge at any time, and all have deadlines attached with them;

·        an ampliative system --- the system not only can retrieve available knowledge and derive sound conclusions from it, but also can make refutable hypotheses and guesses based on it when no certain conclusion can be drawn

·        an open system --- no restriction is imposed on the relationship between old knowledge and new knowledge, as long as they are representable in the system's interface language.

·        a self­organized system --- the system can accommodate itself to new knowledge, and adjust its memory structure and mechanism to improve its time and space efficiency, under the assumption that future situations will be similar to past situations.

 

Obviously, Pei’s definition and mine have a close relationship.  My “complex goals in complex environments” definition is purely behavioral: it doesn’t specify any particular experiences or structures or processes as characteristic of intelligent systems.  I think this is as it should be.  Intelligence is something systems display; how they achieve it under the hood is another story. 

 

On the other hand, it may well be that certain structures and processes and experiences are necessary aspects of any sufficiently intelligent system.  My guess is that the science of 2050 will contain laws of the form: Any sufficiently intelligent system has got to have this list of structures and has got to manifest this list of processes.   Of course, a full science along these lines is not necessary for understanding how to design an intelligent system.   But we need some results like this in order to proceed toward real AI today, and Pei’s definition of intelligence is a step in this direction.  For a real physical system to achieve complex goals in complex environments, it has got to be finite, real-time, ampliative and self-organized.  It might well be possible to prove this mathematically, but, this is not the direction we have taken; instead we have taken this much to be clear and directed our efforts toward more concrete tasks.

 

So, then, when I say that the AI Engine is an intelligent system, what I mean is that it is capable of achieving a variety of complex goals in the complex environment that is the Internet, using finite resources and finite knowledge.  

 

To go beyond this fairly abstract statement, one has to specify something about what kinds of goals and environments one is interested in.  In the case of biological intelligence, the key goals are survival of the organism and its DNA (the latter represented by the organism’s offspring and its relatives).   These lead to subgoals like reproductive success, status among one’s peers, and so forth – which lead to refined cultural subgoals like career success, intellectual advancement, and so forth.  In our case, the goals that the AI Engine version 1.0 is expected to achieve are:

 

 

1.      Conversing with humans in simple English, with the goal not of simulating human conversation, but of expressing its insights and inferences to humans, and gathering information and ideas from them

 

2.      Learning the preferences of humans and AI systems, and providing them with information in accordance with their preferences.  Clarifying their preferences by asking them questions about it and responding to their answers.

 

3.      Communicating with other AI Engines, similar to its conversations with humans, but using an AI-Engine-only language called KNOW

 

4.      Composing knowledge files containing its insights, inferences and discoveries, expressed in KNOW or in simple English

 

5.      Reporting on its own state, and modifying its parameters based on its self-analysis to optimize its achievement of its other goals

 

6.      Predicting economic and financial and political and consumer data based on diverse numerical data and concepts expressed in news

 

Subsequent versions of the system are expected to offer enhanced conversational fluency, and enhanced abilities at knowledge creation, including theorem proving and scientific discovery and the composition of knowledge files consisting of complex discourses.  And then of course the holy grail: progressive self-modification leading to exponentially accelerating artificial superintelligence!  These lofty goals can be achieved step by step, beginning with a relatively simple Baby Webmind and teaching it about the world as its mind structures and dynamics are improved through further scientific study.

Are these goals complex enough that the AI Engine should be called intelligent?  Ultimately this is a subjective decision.  My belief is, not shockingly, yes.  This is not a chess program or a medical diagnosis program, which is capable in one narrow area and ignorant of the world at large.  This is a program that studies itself and interacts with others, that ingests information from the world around it and thinks about this information, coming to its own conclusions and guiding its internal and external actions accordingly. 

How smart will it be, qualitatively?  My sense is that the first version will be significantly stupider than humans overall though smarter in many particular domains; that within a couple years from the first version’s release there may be a version that is competitive with humans in terms of overall intelligence; and that within a few more years there will probably be a version dramatically smarter than humans overall, with a much more refined self-optimized design running on much more powerful hardware.  Artificial superintelligence, step by step.

 

 

(The Lack of) Competitors in the Race to Real AI

 

I’ve explained what “creating a real AI” means to those of us on the Webmind AI project:  Creating a computer program that can achieve complex goals in a complex environment – the goal of socially interacting with humans and analyzing data in the context of the Internet, in this case – using limited computational resources and in reasonably rapid time.

 

Another natural question is: OK, so if AI is possible, how come it hasn’t been done before?  And how come so few people are trying?

 

Peter Voss, a freelance AI theorist (and cryonics pioneer) whose ideas I like very much, has summarized the situation as follows:

 

·        80% of people in the AI field don’t really want to work on general intelligence, they’re more drawn to working on very specialized subcomponents of intelligence

·        80% of the AI people who would like to work on general intelligence, are pushed to work on other things by the biases of academic journals in which they need to publish, or of grant funding bodies

·        80% of the AI people who actually do work on general intelligence, are laboring under incorrect conceptual premises

·        And nearly all of the people operating under basically correct conceptual premises, lack the resources to adequately realize their ideas

 

The presupposition of the bulk of the work in the AI field is that solving subproblems of the “real AI” problem, by addressing individual aspects of intelligence in isolation, contributes toward solving the overall problem of creating real AI.   While this is of course true to a certain extent, our experience with the AI Engine suggests that it is not so true as is commonly believed.  In many cases, the best approach to implementing an aspect of mind in isolation, is very different from the best way to implement this same aspect of mind in the framework of an integrated, self-organizing AI system.

 

So who else is actually working on building generally intelligent computer systems, at the moment?  Not very many groups.  Without being too egomaniacal about it, there is simply no evidence that anyone else has a serious and comprehensive design for a digital mind.  However we do realize that there is bound to be more than one approach to creating real AI, and we are always open to learning from the experiences of other teams with similar ambitious goals. 

 

One intriguing project on the real AI front is Artificial Intelligence Enterprises (www.a-i.com), a small Israeli company whose engineering group is run by Jason Hutchens, a former colleague of mine from University of Western Australia in Perth.  They are a direct competitor in that they are seeking to create a conversational AI system somewhat similar to the Webmind Conversation Engine.  However, they have a very small team and are focusing on statistical learning based language comprehension and generation rather than on deep cognition, semantics, and so forth. 

 

Another project that relates to our work less directly is Katsunori Shimohara and Hugo de Garis’s Artificial Brain project, initiated at ATR in Japan (see http://citeseer.nj.nec.com/1572.html) and continued at Starlab in Brussels, and Genotype Inc. in Boulder, Colorado.  This is an attempt to create a hardware platform (the CBM, or CAM-Brain Machine) for real AI using Field-Programmable Gate Arrays to implement genetic programming evolution of neural networks.  We view this fascinating work as somewhat similar to the work on the Connection Machine undertaken at Danny Hillis’s Thinking Machines Corp. – the focus is on the hardware platform, and there is not a well-articulated understanding of how to use this hardware platform to give rise to real intelligence.  It is highly possible that the CBM could be used inside the Webmind AI Engine, as a special-purpose genetic programming component; but CBM and the conceptual framework underlying it appear not to be adequate to support the full diversity of processing needed to create an artificial mind.

 

A project that once would have appeared to be competitive with ours, but changed its goals well before Webmind Inc. was formed, is the well-known CYC project (www.cyc.com).  This began as an attempt to create true AI by encoding all common sense knowledge in first-order predicate logic.  They produced a somewhat useful knowledge database and a fairly ordinary inference engine, but appear to have no R&D program aimed at creating autonomous, creative interactive intelligence.

 

Another previous contender who has basically abandoned the race for true AI is Danny Hillis, founder of the company Thinking Machines, Inc.   This firm focused on the creation of an adequate hardware platform for building real artificial intelligence – a massively parallel, quasi-brain-like machine called the Connection Machine (Hillis, 1987).  However, their pioneering hardware work was not matched with a systematic effort to implement a truly intelligent program embodying all the aspects of the mind.  The magnificent hardware design vision was not correlated with an equally grand and detailed mind design vision.  And at this point, of course, the Connection Machine hardware has been rendered obsolete by developments in conventional computer hardware and network computing.

 

On the other hand, the well-known Cog project at MIT is aiming toward building real AI in the long run, but their path to real AI involves gradually building up to cognition after first getting animal-like perception and action to work via “subsumption architecture robotics.”  This approach might eventually yield success, but only after decades.

 

Alan Newell’s well-known SOAR project (http://ai.eecs.umich.edu/soar/) is another project that once appeared to be grasping at the goal of real AI, but seems to have retreated into a role of an interesting system for experimenting with limited-domain cognitive science theories.  Newell tried to build “Unified Theories of Cognition”, based on ideas that have now become fairly standard: logic-style knowledge representation, mental activity as problem-solving carried out by an assemblage of heuristics, etc.  The system was by no means a total failure, but it was not constructed to have a real autonomy or self-understanding.  Rather, it’s a disembodied problem-solving tool.  But it’s a fascinating software system and there’s a small but still-growing community of SOAR enthusiasts in various American universities.

 

Of course, there are hundreds of other AI engineering projects in place at various universities and companies throughout the world, but, nearly all of these involve building specialized AI systems restricted to one aspect of the mind, rather than creating an overall intelligent system.  The only significant attempt to “put all the pieces together” would seem to have been the Japanese 5th Generation Computer System project.  But this project was doomed by its pure engineering approach, by its lack of an underlying theory of mind.   Few people mention this project these days.  The AI world appears to have learned the wrong lessons from it – they have taken the lesson to be that integrative AI is bad, rather than that integrative AI should be approached from a sound conceptual basis.

 

To build a comprehensive system, with perception, action, memory, and the ability to conceive of new ideas and to study itself, is not a simple thing.   Necessarily, such a system consumes a lot of computer memory and processing power, and is difficult to program and debug because each of its parts gains its meaning largely from its interaction with the other parts.   Yet, is this not the only approach that can possibly succeed at achieving the goal of a real thinking machine?

 

We now have, for the first time, hardware barely adequate to support a comprehensive AI system.   Moore’s law and the advance of high-bandwidth networking mean that the situation is going to keep getting better and better.  However, we are stuck with a body of AI theory that has excessively adapted itself to the era of weak computers, and that is consequently divided into a set of narrow perspectives, each focusing on a particular aspect of the mind.  In order to make real AI work, I believe, we need to take an integrative perspective, focusing on

 

·          The creation of a “mind OS” that embodies the basic nature of mind, and allows specialized mind structures and algorithms dealing with specialized aspects of mind to happily coexist

·          The implementation of a diversity of mind structures and dynamics (“mind modules”) on top of this mind OS

·          The encouragement of emergent phenomena produced by the interaction/cooperation of the modules, so that the system as a whole is coherently responsive to its goals

 

This is the core of the Webmind vision.  It is backed up by a design and implementation of the Mind OS, and a detailed theory, design and implementation for a minimal necessary set of mind structures and dynamics to run on top of it.

 

 

 

But What about Consciousness?

 

It’s about time to delve into the nitty-gritty of digital mind.  But first, I feel obliged to inject at least a little bit about that great AI bugaboo, consciousness.  Sure, the skeptics will say, a computer program can solve hard problems, and maybe even generalize its problem-solving ability across domains, but it can’t be conscious, it can’t really feel and experience, it can’t know that it is.

 

It’s easy to dismiss this kind of complaint by observing that none of us really knows if other humans are conscious -- we just assume, because living as a solipsist is a lot more annoying.  But the concept of consciousness is worth a little more attention than this.

 

What we call “consciousness” has several aspects, including

·        self-observation and awareness of options

·        “free will” – choice-making behavior

·        inferential and empathetic powers

·        Perception/action loops

Within these various aspects, two different more general aspects can be isolated:

Structured consciousness: There are certain structures associated with consciousness, which are deterministic, cognitive structures, involved with inference, choice, perception/action, self-observation, and so on.  These structures are manifested a bit differently in the human brain and in the AI Engine, but they are there in both places.

Raw consciousness:  The “raw feel” of consciousness, which I will discuss briefly, here.

What is often called the “hard problem” of consciousness is how to connect the two.  Although few others may agree with me on this point, at this point, I believe I know how to do this.  The answer can be found in many places; one of my favorite among these is the philosophy of Charles S. Peirce.

 

Peirce’s Law of Mind

 

Peirce, never one for timid formulations, declared that:

           

Logical analysis applied to mental phenomena shows that there is but one law of mind, namely, that ideas tend to spread continuously and to affect certain others which stand to them in a peculiar relation of affectability. In this spreading they lose intensity, and especially the power of affecting others, but gain generality and become welded with other ideas.

 

This is an archetypal vision of mind which I call "mind as relationship" or "mind as network."  In modern terminology Peirce's "law of mind" might be rephrased as follows: "The mind is an associative memory network, and its dynamic dictates that each idea stored in the memory is an active agent, continually acting on those other ideas with which the memory associates it."  

 

Peirce proposed a universal system of philosophical categories:

 

·          First: pure being

·          Second: reaction, physical response

·          Third: relationship

 

Mind from the point of view of First is raw consciousness, pure presence, pure being.  Mind from the point of view of Second is a physical system, a mess of chemical and electrical dynamics.  Mind from the point of view of Third is a dynamic, self-reconstructing web of relations, as portrayed in the Law of Mind. 

 

Following a suggestion of my friend, the contemporary philosopher Kent Palmer, I have added an additional element to the Peircean hierarchy:

 

·          Fourth: synergy

 

In the AI Engine, ideas begin as First, as distinct software objects called Nodes or Links.  They interact with each other, which is Second, producing patterns of relationships, Third.  In time, stable, self-sustaining ideas develop, which are Fourth.  In Peirce’s time, it was metaphysics, today it is computer science!

And consciousness?  Raw consciousness is “pure, unstructured experience,” an aspect of Peircean First, which manifests itself in the realm of Third as randomness.  Structured consciousness on the other hand is a process that coherentizes mental entities, makes them more “rigidly bounded,” less likely to diffuse into the rest of the mind.  The two interact in this way: structured consciousness is the process in which the randomness of raw consciousness has the biggest effect.  Structured consciousness amplifies little bits of raw consciousness, as are present in everything, into a major causal force.  The AI Engine implements structured consciousness in its system of perception and action schema and short-term memory; the raw consciousness comes along for free.

Obviously, this solution to the “hard problem” is by no means universally accepted in the cognitive science or philosophy or AI communities!  There is no widely accepted view; the study of consciousness is a chaos.   I anticipate that many readers will accept my theory of structured consciousness but reject my views on raw consciousness.  This is fine: everyone is welcome to their own errors!  The two are separable, although a complete understanding of mind must include both aspects of consciousness.   Raw consciousness is a tricky thing to deal with because it is really outside the realm of science.  Whether my design for structured consciousness is useful – this can be tested empirically.  Whether my theory of raw consciousness is correct cannot.  Ultimately, the test of whether the AI Engine is conscious is a subjective test.  If it’s smart enough and interacts with humans in a rich enough way, then humans will believe it’s conscious, and will accommodate this belief within their own theories of consciousness. 

 

 

The Psynet Model of Mind

 

So let’s cut to the chase.  Prior to the formation of Webmind Inc., inspired by Peirce, Nietzsche, Leibniz and other philosophers of mind, I spent many years of my career creating my own ambitious, integrative philosophy of mind.  After years searching for a good name, I settled for “the psynet model” instead – psy for mind, net for network. 

According to the psynet model of mind:

1.      A mind is a system of agents or "actors" (our currently preferred term) which are able to transform, create & destroy other actors

2.      Many of these actors act by recognizing patterns in the world, or in other actors; others operate directly upon aspects of their environment

3.      Actors pass attention ("active force") to other actors to which they are related

4.      Thoughts, feelings and other mental entities are self-reinforcing, self-producing, systems of actors, which are to some extent useful for the goals of the system

5.      These self-producing mental subsystems build up into a complex network of attractors, meta-attractors, etc.

6.      This network of subsystems & associated attractors is "dual network" in structure, i.e. it is structured according to at least two principles: associativity (similarity and generic association) and hierarchy (categorization and category-based control).

7.      Because of finite memory capacity, mind must contain actors able to deal with "ungrounded" patterns, i.e. actors which were formed from now-forgotten actors, or which were learned from other minds rather than at first hand – this is called "reasoning" (Of course, forgetting is just one reason for abstract (or “ungrounded”) concepts to happen.  The other is generalization --- even if the grounding materials are still around, abstract concepts ignore the historical relations to them.)

8.      A mind possesses actors whose goal is to recognize the mind as a whole as a pattern – these are "self"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


System of Actors having relationships one with others and performing interactions one onto another.

 

 

According to the psynet model, at bottom the mind is a system of actors interacting with each other, transforming each other, recognizing patterns in each other, creating new actors embodying relations between each other.   Individual actors may have some intelligence, but most of their intelligence lies in the way they create and use their relationships with other actors, and in the patterns that ensue from multi-actor interactions.

We need actors that recognize and embody similarity relations between other actors, and inheritance relations between other actors (inheritance meaning that one actor in some sense can be used as another one, in terms of its properties or the things it denotes).   We need actors that recognize and embody more complex relationships, among more than two actors.    We need actors that embody relations about the whole system, such as “the dynamics of the whole actor system tends to interrelate A and B.” 

This swarm of interacting, intercreating actors leads to an emergent hierarchical ontology, consisting of actors generalizing other actors in a tree; it also leads to a sprawling network of interrelatedness, a “web of pattern” in which each actor relates some others.  The balance between the hierarchical and heterarchical aspects of the emergent network of actor interrelations is crucial to the mind.