In the last years, many companies and people are investing in the development of an artificial intelligence. And many of them are trying to find something like a holy grail. One system which can accumulate intelligence, get them a big profit and well, maybe help humankind.
Personally, I think that this is a dead end. We see our brains — one machine — one object which seems to us to be intelligent. But there are two things we need to realize. The first thing is that our brain consists of groups of highly specialized units — groups of neurons, parts of our brain. The second one is that without an ability to learn each other about our own experience we would still be cave people.
These things lead me to a theory that if we will build an AI, it will be a large and distributed swarm of smaller highly specialized AI systems working together as one cognitive super intelligence.
Another thing supporting this theory is nature itself. Take an ant or bee colonies as an example. These little creatures are simple and no so powerful as individuals. But together they create large communities able to build complex structures and behave like an intelligent system.
Well, the humankind is also a superintelligence. We’ve been able to develop industry, computers and the internet.
A specialization is an important part of an intelligent system. We people are specialized, we have different professions and without them, we won’t be able to achieve the wonders of our civilization. Let’s try to imagine that every one of us has to learn everything. I bet you realize that it won’t work.
Animal communities, especially insects, are also specialized. Bees have drones and workers and a queen. The similar applies to ants.
Command & Conquer
Another property of people (and also other species) is an ability to command and conquer, or simply an ability to delegate work to other people.
This leads me to an idea to separate an AI system to managers and workers.
Workers are the lowest part of the system. They make real actions such as doing calculation, simulations, looking at your calendar, creating appointments, calling APIs, moving with things. They are simply actuators.
Managers compared to workers are professional delegators. Their role is to understand things at a higher abstraction level. They put things together and delegate tasks to workers to achieve goals.
Also, we have managers of managers. This hierarchy can be indefinite depending on a required level of an abstraction.
And workers with managers should learn from each other the same we people do and the same as ants use odour traces to find optimal paths.
Examples of Specialized AI systems
We can have a variety of simple to complex systems. From a simple calculator, a system which can look at your calendar to a neural network able to recognize images.
And also these neural networks can be managers and workers. You can have a neural network trained to recognize object at higher abstraction level such as an animal, a car, a building. And then it can delegate recognition to a specialised network which can recognize which kind of an animal it is. Let’s say it’s a butterfly. And even this can be delegated to a network which is able to recognize which kind of butterfly it is.
The Restaurant Problem
Let’s take the following task:
Order me a seat for two in a nearby Italian restaurant with a good rating for tomorrow evening.
The solution to this problem can consist of the following steps.
- Top manager: What is the task? Oh, ordering a seat in a restaurant — let’s delegate it to the restaurant reservation system.
- Mid manager: Let’s split a problem into smaller parts — we need to find a restaurant and then order a seat. So delegate the first part to a restaurant finder system.
- Worker: Let’s use search engine or database to find a nearby restaurant which matches the required criteria.
- Mid manager: Ok, we have a restaurant now, let’s try to make a reservation.
- Worker: Let’s make a call to the selected restaurant and try to make a reservation
- Mid manager: Well, the restaurant is not available, try to repeat step 4–6 until we succeed or we will run out of options.
Ok, we have a reservation for tomorrow evening at 7 o’clock, let’s return it as a solution.
- Top manager: Ok user, there is a solution to your problem.
If you understand programming you can imagine each AI system as a single function. It has arguments describing a request — a problem. And it has a return value — a solution.
These functions can be workers — does something such as returning data or an answer to a part of a bigger problem. And also they can be managers — delegating parts of a problem to other functions.
Manager functions can act as information transformers. They split a problem into smaller parts, get results and put answers back together as a single solution.
Each function call (delegation) generates a call trace — a path to a possible solution. And if we are not satisfied with a result we can evaluate the path and suggest a different approach. Or we can let the system to try a different way itself. Or we can define another set of functions whose purpose is to evaluate where an error might be. And to save resources we can forget functions which are useless for some period of time.
In the case where the system is distributed, we can build a shared library of knowledge. When one part of the system find a solution to some problem it can let other systems know about it so they can use it to build higher concepts without the need to find the partial solution itself. The same we people learn by sharing our ideas and knowledge.
Personally, I think we are already on this path to a distributed superintelligent system. Many companies around the world are building a lot of small specialized systems. Both based on machine learning and traditional programming. And those systems are becoming interconnected as part of an API economy.
In what are computer better than us? In a solving of problems which required pure logic or high computational skills. And mainly, at a speed of how they can exchange information.
Maybe we do not recognize the internet as a superintelligent system yet, but it might be already or it will be in the future. Because it seems that an intelligence is a result of smaller highly specialized units connected together behaving like a swarm of insects or like a population of humans.
This article has been originally posted on my blog: https://jiri.hybek.cz/en/The-Swarm-AI/.