agi

Artificial General Intelligence: A deep learning meta-course

This course is for everyone wanting to build Artificial General Intelligence (AGI) using Deep Learning. At the end of the course you should be at researcher level, that is you'll know enough to perform original research in the field of AGI (e.g. by reviewed publication). There are several approaches to AGI, here we focus on the most popular, that of Machine Learning (ML) and Deep Learning using conventional computer hardware, i.e. the modern computer science route. This is mainly because that's what I know but also it's what I personally believe will yield results soonest. Other approaches are documented in THREAD2. This meta-course is organised around several threads which can be followed in parallel. Whenever there's a link it is there to click through and skim read the content. If it's material that you know about then great, move on. If you don't know it then you might want to read, understand, think about it and follow what interests you deeper. Mostly this material is factual, but opinions are useful, so mine are marked in sections and if you think I'm wrong then do let me know.

AGI: Defining the problem

What do we mean by intelligence? A dictionary definition is "the ability to acquire and apply knowledge and skills". Another name for Artificial General Intelligence is Strong Artificial Intelligence. This is in contrast to Weak or Narrow Artificial Intelligence. Most uses of the term AI refer to Weak AI, which in turn is often mostly Machine Learning.

Opinion

The term “Artificial” is misleading as it means "Made or produced by human beings rather than occurring naturally, especially as a copy of something natural". Our computers may be artificial, but we are trying to create true intelligence, not a human made fake. Most examples of AI today are tasks that humans do but machines have found it difficult in the past. This is narrow AI, doing tasks that intelligent agents can do. The objective function is to do the task well, the intelligence comes in by setting everything up so that it works (whether by hand coding rules or by employing gradient descent techniques on an example data set). So doing these tasks is more researcher intelligence than computer intelligence. AGI is very different. In AGI the objective function is intelligence. That is, that task doesn't really matter, what matters is that it is solved in a manner which shows that knowledge and skills are both acquired and applied as well as possible. AGI should be driven by evaluating whether a solution was found in the most data and time efficient manner - late answers are wrong answers.

THREAD0: Should we build AGI?

Opinion

THREAD1: What we know we don't know about AGI

Opinion

These are my thoughts on the problems that we need to solve to generate AGI. They are introduced here so that when we review what we do know about we are already thinking about the problem we want to solve. What processing architecture best captures the input of information, the output of actions, an internal model of the world and a model of self? In the deep learning framework these are going to processing blocks that pass information between themselves as distributed representations.

Every machine learning problem needs an objective function , is my above view on intelligence as the loss function correct? Other thoughts are that it is hard wired (maybe by evolution) ans is the avoidance of pain-like signals or the creation of wealth. Using intelligence as the loss function implies sub-goals of exploration to gather data, the finding of models in that data and finding efficient solutions using those models.

A system extracts the most information from an experience if it can remember it exactly. Deep learning relies upon gradient decent methods which are not as efficient. Do we need explicit one-shot learning, or can the architecture focus on important events and replay them enough times for few-shot learning?

It's easy to measure correlations, which is sufficient for narrow AI. However, in AGI we need to infer causality, a much harder problem.

Toy Problem 's have proved to be very useful. What is a good set of toy problems for AGI that allows us to chart progress towards a real-world AGI?

Superintelligence : could an AGI be more intelligent than ourselves?

How do we control an AGI? Ref: Superintelligence, Chapter 9

Does consciousness matter? It's clearly useful to split processing into unconscious processes processes such as speech and image recognition, which we are now very good at, and processes that require thinking/planning, which we know less about. However, do necessarily have to debate whether a machine could be conscious (e.g. Searle's Chinese Room and his recent talk ) or can we finesse the whole subject?

Is AGI achievable with current hardware? We have recently achieved human-like performance for many tasks, such as speech recognition, machine translation, autonomous cars, and board and video games. It seems plausible that if we have the compute for significant components we have the compute to assemble a proof-of-concept of a complete system. It would be convenient if current hardware is enough for dog-level intelligence but not enough for superintelligence.

THREAD2: Existing courses on AGI

Opinion

One book that was very influential for me in the '80's is Gödel, Escher, Bach. It's too old and long to recommend reading in full here, but if you have the time then go for it. The MIT course is the gentlest introduction, it's accessible and has broad coverage.

THREAD3: What we know about the Machine Learning approach to AGI

This section lists what we know from machine learning that is likely to be useful. It assumes you know enough computer science and maths, if you don't then dig out the background material in the referenced courses. This gives you the lego blocks to build your AGI creation.

Machine Learning Foundation

You'll need a solid foundation in Machine Learning. The web is awash with information, for example pick one from this list. If you know about half of The Most Important Machine Learning Algorithms that's probably enough foundational material.

Deep Learning

Deep learning framework

Reinforcement Learning

Imitation Learning

In Reinforcement Learning there was no expert to help learn a policy, Imitation Learning uses an expert who already has a good policy. In Reinforcement Learning we care about learning the best policy, in Imitation Learning we mostly care about getting a good enough policy, if we want a much better one we find a better expert. Imitation Learning Tutorial from ICML 2018

THREAD4: Recent Achievements

Open Source Implementations

THREAD5: Keeping Current

THREAD6: Research Directions

Opinion

THREAD7: Giving Back