The
Webmind AI Engine –
a
True Digital Mind in the Making
Ben Goertzel
April 2001
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 realtime 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 selforganized 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.
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.
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.