I find myself constantly arguing with people about how to go about creating AGI.
So, I've decided I probably should create a concise 1-page document that describes
my approach and why I approach the problem the way I do.
The Strategy is Simple
It is widely accepted that extensive knowledge is required for strong AI. So far
though, no one has created a system that is able to learn such knowledge on its
own. Nor have they been able to enter enough knowledge into a database manually.
So, the first goal of the project is to create a system that can automatically learn such knowledge the
way that a child does by directly observing the environment using
Computer Vision(See the link for more information).
Automatic Knowledge Acquisition is Essential
No matter how
much knowledge you enter into a database, strong artificial intelligence will still require
a way to learn this knowledge on its own. I can always find something that is
not in a database but that is necessary to understand a particular situation. We, as human-beings, never stop learning and modifying our
knowledge. This is an essential skill that we need to be strongly intelligent. Likewise, a strong AI system will require the same ability.
Defining Weak AI and Why it is Weak
Weak/narrow AI programs are systems that are severely limited in what they can do or
learn.
The weakness is by design and is caused by its lack of
general
learning and reasoning abilities. Because strong AI has not yet been created, practically
all current AI systems
are weak AI. The down side to weak AI is its limitations. It takes
large amounts of time, money and
effort to make a weak AI for a new task. So, weak AI is exactly like the rest of the software
industry except that it is just considered more sophisticated. Weak AI's clear
limitations are the reasons we want strong AI.
Defining Strong AI
Strong AI is designed to be very flexible. It is a system that, ideally,
should be able to perform just about any task given enough time and resources. Human-beings, for
example, are agents with strong intelligence. As such, we
can perform just
about any task, given enough time and resources. Unlike weak AI, we do not need
to spend millions of dollars and many man-years to rewire our
brains. Our brains are designed to adapt to just about any new situation.
Text is not Sufficient to Learn
Even after stating "most can agree that strong AI requires extensive knowledge", the world still seems to think
you can use an AI system that has no knowledge of its own to
gather knowledge from natural text such as the internet. But, text
does not actually contain any knowledge. The knowledge it conveys is
completely dependent on references to the real world. Understanding natural
language requires extensive knowledge. And therefore, you CANNOT use natural text alone to build a strong AI!
The patterns in the text itself do not contain the information we need
and the knowledge is too complex/ambiguous to enter manually. Without
previous knowledge of how the text relates to the real-world, the patterns it
contains are completely void of information.
What we need is a way to observe and gather knowledge about that which everything
(including natural language) is based on. Everything is based on the
real world (as opposed to symbols like text that refer to and relate to the
real-world). I
believe that the most effective and practical way to observe the real world is
through
Computer Vision. It provides sufficient information to learn important relationships
including temporal, spatial and compositional relationships. Basically, it gives
you the ability to observe and learn relationships/associations that are the foundations
of all other relationships and associations.
Why We Can't Enter Knowledge Manually
Technically, you
can store knowledge. But, projects like CYC (the manually created database of knowledge)
will never result in strong AI as they are now.
As we pointed out before, the reason that weak AI is weak, is that it requires manual and time consuming effort
to make a program do and learn new things. CYC requires manually entering strict facts into a database. This takes
an extremely large amount of time and effort(25 years so far and counting). In addition, knowledge does not consist of universal, never-changing facts. A lot of knowledge is ad-hoc, heuristic,
inductive, ambiguous, etc. It's nearly impossible to effectively put in a database
without some sort of automation.
No matter how much knowledge you put into a database, I can always find something that is not in it but that would be
necessary for a strong AI program to perform a task.
So, CYC is obsolete. The knowledge it contains needs context.
It also needs to be updated and maintained by a system that knows how to use the knowledge effectively.
A program that is strongly intelligent
requires a way to obtain knowledge automatically to be the powerful and flexible program we want it to be.
If it is not a powerful and flexible tool, then it is not strong AI. So, I conclude that manually entering knowledge
is ineffective and weak. It is not possible to create a strongly intelligent
program that cannot gather knowledge on its own.
Conclusion and Roadmap
Our Strategy is very simple and easy to understand: Create a system that can learn the way a child learns:
1) Understand and learn about the environment(through
Computer Vision for now)
2) learn about your own actions and how they affect the environment
3) learn about language and how it is associated with or related to the environment.
4) learn goals from language(such as through dedicated inputs).
5) Goal pursuit
6) Other Miscellaneous capabilities