Humans are sophisticated robots
Robots can replace any profession
ABSTRACT:
The ultimate goal of Artificial Intelligence (AI), Artificial General Intelligence (AGI), is the intelligence of a machine that can successfully perform any intellectual task that a human being can. Feasibility of AGI is most hyped discussions in AI without much hope on its feasibility. In this article, we attempt to settle down this question at the practical level with an affirmation on its feasibility.
According to the AI founder John McCarthy, we lack a solid definition of AGI independent of human intelligence, which is in itself not fully known but probably will be known in future. He also pointed out that the characteristics of an intelligent procedure are not known. To make AGI more tractable — that is, to analyse its feasibility and strengths, we put some restriction on the general definition.
General definition: The ability of a machine by which it can successfully perform any (includes infinitely many skills) intellectual task a human being can.
Restricted definition: The ability of a machine by which it can successfully perform any (includes arbitrarily large — that is, finite numbers of skills) task a human being can.
With the beauty of having a tougher problem as the objective of any discipline, I leave the definition of AGI as given in (1). With that, I want to call the intelligence defined in (2) as Pseudo AGI or PAGI. Good news is, PAGI is feasible with the current availability of resources. It includes any, but finite; it can be an arbitrarily large set of skills of a human being or some humans. Particularly, if it is a professional skill, I am more confident about it because of its expressive nature. The claim is — we can teach a robot any skill anytime with the help of collective human efforts or simply data, along with programs or automated logics. This can include many skills, in fact, whatever skills we shoot for, but not all. Each of the modules focussing on one skill can be stitched together to make the robot behave like a smart human being using a router which can route the input to its respective individual system based on specific criteria. Pseudo means not in the strict mathematical sense but it can act as one in all practical scenarios, or conservatively, in the majority of real-life scenarios. Hence, in my view, the feasibility of AGI seems only of theoretical importance.
DETAILS:
We are going to look into the rationale behind above claims in detail. The bonus will be how Machine Learning (ML) works, why technology is rocking with the help of data, AI & ML, how we learn faster with experiences and what is human intuition.
Did you know that a computer cannot produce a mere random number? If you have never written a program, you have to trust readers who are programmers; check their comments if they are not disagreeing, they may help you to get convinced. If you are a coder, try a java program with a fixed seed, it will print the same sequence of numbers every time you run it. Machines can never generate a random number without inputs from some random event of the outside world using only a set of definite deterministic instructions. We can think of a program as a set of instructions to change the state of the computer or more specifically memory, executing each of the instructions in a specified manner. If it starts with the same state and then follows some well defined deterministic rules written as a program for changing states, it can never produce random state hence a truly random number. Google it to convince yourself more. For now, I can say computers generate random numbers using the following formula, not exactly same, but similar in concepts:
where a, b and c are large integers. X is the sequence of pseudo-random numbers. Here, “pseudo” word is used, the same word is used by me, as it is not truly random in the mathematical sense.
Did the inability to produce a true random number using a computer ever bother you? Maybe it never bothered you because pseudo-random numbers are enough to address most of the real-life problems which involve random numbers. Computers never let you feel the inability, yet they are not true random numbers. Such is the case with AGI. Although we may not have true AGI. But Pseudo AGI is feasible, which may not let you feel the need of true AGI. The recipe given here can include all professional skills, if not infinitely many skills of humans then arbitrary large numbers of real-life professional skills of any human or some humans. “Infinity” is not a number but “arbitrarily large” is a big number you can think of. The difference between arbitrary large & infinity, or pseudo-random & random numbers, or size of the set of Natural numbers (ℕ) & size of set of Real numbers(ℝ), or similar pairs of concepts are analogous in nature to the pairs AGI & PAGI, and these concepts can help us understand AGI versus PAGI difference better. I think the existence or feasibility of AGI becomes irrelevant for non-researchers, just like the General Theory of Relativity for living a non-researcher life. But the feasibility of AGI is a very important concept in Theoretical Computer Science. Subsequently, after decades it may become relevant for non-researchers as well after the AI revolution.
Now, let us deep dive into the specification & implementation of one such smart robot with PAGI. Smart means it can do anything a human can do; observe, decide and act. To call it smart, it should be smart enough on many subjects & expert in some subjects — we identify them as extensive & intensive skills. A robot having in-depth skills in some particular subject is said to have Weak AI, and robots which can work in many areas can be termed to have Strong AI. There may be some rarest task a human can perform that might not be possible for robots at the moment but it can learn that skill for the next time by observing the human actor. It can achieve some large finite number of skills but may not achieve countably “infinite” skills, or in other words “all” skills. For simplicity, some ineffable skills can be excluded for now.
Countability theory is the core of the Computer Science discipline. In real life, arbitrary large numbers of skills are enough, but in maths and formal science, infinite numbers of skills are expected to say AGI is feasible. We have to prove that it holds true for each and every skill or problems. Moreover, we generally may have erroneous or biased thinking that a human has infinitely many skills, or human experts are 100% correct all the time in their expertise. A human may have hundreds of skills or for that matter, billions, or trillions of skills, which are not infinite. Moreover, human experts may not be 100% correct all the time even from one’s domain. For example, a doctor can diagnose some disease incorrectly sometimes. The catch is that we consider the number of skills not infinite but arbitrary large, and we do not have to set 100% accuracy as the goal for robots, but just better than human experts. We are sometimes horribly wrong in showing concern on whether robots can perform some particular task 100% correctly all the time, whereas for human expert we do not expect such numbers, except Delhi students. We are sometimes hypocrite in calling a human successful with lower than 100% accuracy but a successful robot needs to be expert in every damn thing. So, let us first give robots equal rights.
At the operational level, a human can be divided into following three parts only:
- Observe (INPUT) — Comes only from 5 senses. Converts real-world observations to data for the next component i.e. (2).
- Think & decide (DATA PROCESSING) — Can be related to computers taking inputs from its keyboard (compare 1) and giving output to its monitor (compare 3). This part is the mind, which transforms data from (1) and pushes that to (3). This world is PURE mathematical, no real life stuffs here, but only numbers & abstractions. So, it is nothing but a transformation function, if it is “computable” then a program can replace the mind.
- Act (OUTPUT) — Take a minute, think what are the possible outputs of a human as a system, you will be amazed to find nothing more than controlled movements. In the brain, the motor system is responsible for this and actuators can replace this part. The responsibility of this part is to apply data from (2) to the real world.
We are going to see the feasibility of each of the three parts separately.
A robot has all the three parts above, a computer has only one part i.e. (2), that is the simplest difference between a robot and a computer. Observe part — that is the part-1, of a human being, comes with 5 senses. Three of them, namely — eyes, skin & ears can be replaced by a camera, temperature & surface sensors, and a mic respectively. Tongue and nose need more research in Chemistry & Biology. it has been proved multiple times that our mind is a generalized computer, they are not made just to process 5 senses’ information, humans can learn to see from ears using echolocation like bats with training. Senses can be replaced with each other and with artificial setup; giving us intuition about the homogeneity of senses. Now, talking about output part, everything can be achieved by controlled movements — be it communication, expressing emotions, writing a program, performing surgeries or even teaching — all of them are just controlled movements, can be achieved using actuators far superior than any human being. So, computers can be far better on input and output parts, yet we claim wrongly that some of the skills will not be achievable because of sophisticated human movements i.e., precise controlled motions. Input and output seem trivial to me, the non-trivial part is only (2), the mind, i.e. the function or program. More precisely, the question at the hand is whether thought process of any human being is “computable”, or simply, can the mind be replaced by a program. The feasibility of such programs replacing any intelligent skill is yet to be addressed. It is not impossible to have no programs for some problems, but we are only dealing with problems or skills which can be performed by humans successfully. Observe, the output of any human brain is quantitative in nature and so is input. This gives me the intuition, that a mind is a number churning machine without our knowledge. To counter the thought coming in mind, that is, how can an illiterate person then live life, some plants like Venus flytrap can also count.
Now the question is can a program replace full thought process in a human or simply the mind of the human — i.e., part-2? Let us focus only on this now, human thought process can be seen as a purely mathematical system, pure means no side effects, no physical existence or effects on the real world, but only data, numbers, programs and maths.
After looking at the human modules closely, marking two of the three parts as trivial; we are going to provide a recipe for the only part left — i.e., part-2, or the artificial mind in two steps,
- Intensive skill or weak AI: Each of such skills in robots is basically a transformation of data — i.e., a mathematical function.
- Extensive skill or strong AI: Suppose we have an arbitrarily large number of systems based on weak AI, each of them addressing one particular skill; such systems can be in billion. To achieve Pseudo AGI, we need to write a program implementing a router — i.e. based on the input it routes the data flow to the relevant weak system addressing that kind of skills or problems. This is nothing but a function, mapping each input to a natural number identifying the relevant weak system uniquely.
A router can also be seen as a system. So, we are left with a bunch of systems. To respect the Nature, we have to agree that few of the systems among all the systems may not seem achievable by programs. All systems which can be replaced by a program trivially are boring for us. So, let us focus on elementary systems which are seemingly infeasible in nature by robots — this will complete our recipe.
Every system has input and output, that is the only way to specify system definition. Therefore, any system can be seen as mapping, from each of input to some particular defined output. For the same reason, the router stitching multiple Weak AI systems into a Strong AI system is not different from any other systems, in fact, they are simply mappings. Mapping is nothing but a function (for simplicity one-to-many mapping can be ignored, which is a requirement for any function). So, a system is nothing but mapping, or we can call it a lookup table with input elements from domain to output elements from range. Moreover, if we concatenate inputs and outputs maintaining order, we can see that a system is nothing but a single string to string map. Therefore, systems, functions, mappings, lookup tables, single string to single string map and computer memory — i.e., files containing lookup table, are analogous in nature.
From now onwards, whenever you think of a computer or a system, think of it as a function. Understand the power of function and you will understand the power of computers, hence robots.
We are left with the recipe to a skill which seems impossible, the unsolvable part, as we mentioned earlier — solvable parts are trivial. Let us see how to address such seemingly unsolvable problems or skills which can be successfully performed by humans. Here, we are only focussing on thoughts, not actions, as we concluded actions as trivial part along with observe-part. We can start with a black box, representing the system addressing the skill. Computer scientists have a name for this, called Oracle. They are not bothered about inside implementation of it. They assume such systems give you output in some magical way instantly. They use this term to not let such systems involving unknown components go out from the scope of research. Seemingly impossible systems can be replaced in two ways:
- Using another program.
- Using a human expert.
If (1) is not possible (2) can be taken up. Moreover, because other parts of the system are achieved by automation i.e. machines, less human hours & efforts are needed. (1) can be seen as a function and hence lookup table, (2) can be seen as an Oracle which takes input and gives output in a magical way, using human experience & knowledge learned from many years. If we can predict the inputs which can come to such systems, then we can take such set of input and output from that expert and keep it in a file which serves as a lookup table for the system. A lookup table can replace any system which can be expressed by a human as input and output. If we cannot predict the inputs, then we have to replace the oracle with a human expert during runtime or as live support, with other modules of the larger system being taken care by automation.
If we don’t have enough memory to keep the lookup table, we try to find generalised common patterns among input-output pairs and a program describing the pattern becomes generator function for those input-output pairs. Such setup uses less memory. Sometimes, finding such patterns are not easy. Therefore, either we have to live with the full lookup table or a program representing those tables or mixture of the two, or sometimes compromising with accuracy by ignoring some irregular patterned data, reducing memory and complexity overall. A generator function utilises processing and creates a lookup table, generator function can be compared to processing and look-up table with memory. To reduce memory usage further, more patterns among input-output pairs are identified and converted into generator functions or programs. Converting a function to lookup table is always possible, as all functions are mappings, but the other way may not be always possible — this gives intuition that data is much more worthy & powerful than processing power. This is how any intelligent system or mind works, if you have less processing power, use more memory. If you have less memory, use more processing power. Depending on the given constraints and objectives a tradeoff is settled between them. We sometimes use computation power, get to the output, and record input-output pair throwing the actual program — see this as an Oracle. The tradeoff between space & time or memory & processing power is at the heart of solving problems. This looks true for humans as well, a person learns something with hard work, then the mind digests the experience as a lookup table, or simply single string to single string map. Sometimes as generator functions also, such systems can be part of many other systems, so those digested data are used as Oracle to solve bigger problems, this is why a person with more knowledge learns faster by reducing new experiences to existing old experiences. These digested data are intuitions, which gives us gut feelings without proper rational reasons behind them, as we have thrown the data but only kept patterns. We know that humans are good with patterns, same is true for computers. This is why data means a system, hence intelligence. Each of the human-created data represents billions of small decisions or arithmetic operations under the hood. As a result, in the long run, human-generated data will value more than a computer. It replaces unknown components of systems as Oracles and performs magically, helping the bigger system. Just like processing power means money (connect it with bitcoin mining) and the rental computers in a cloud, data is also money. In fact, more than money, as data can be used as money generating machines and can also replace complex systems without any compromise.
If we cannot write a system, we can use human experiences at the runtime, or pre-feed data created by skilled humans. After big data revolution, separating computers and human experiences is irrational, because data is nothing but human skills expressed as an input-output pair, and every other system is using data created by human.
Each of the mapping in a lookup table can be seen as an Oracle in itself, or simply a system, not tiny, but can be very complex one, constituting the larger system. Each row in the table is mapped ‘magically’ by humans using their multiple years of experiences within a fraction of seconds by the system running in their mind. This is why human-created data is so expensive. They use their experiences to transform data within moments, the processing in their head acts like a black box to the larger system. Hence, each of the feedback by a human expert as data can be seen as some strong system in itself working magically and instantly. We are not bothered about how it is happening. We are happy with the black box till it works. With that, we can understand that the representation of human experience and knowledge is the main task than finding patterns in already represented data. On that account, data collection and representation seems a more worthy task to me than data processing in present time. Moreover, it’s tough to separate humans and machines because every system nowadays uses human-created data extensively, which acts like an Oracle or a sub-system in itself. In simplest term a system is something which takes input and gives output, we can represent it in two ways — as mathematical function like f(x), also called generator function or list of input-output mappings as a lookup table.
We have seen that lookup tables can replace functions, systems, computers etc. Now, we will see the strength of a system with raw lookup tables of the size of billion order. Each entry is taken from a human expert or many humans. Entries can come also from robots copying humans or deduced knowledge from a mixture of manual or automatic systems, with resource constraints available to us — e.g., the number of computers, memory etc.
We may fall into a trap of thinking that — to make a robot work successfully on a seemingly impossible skill, the look-up table can have infinitely many input-output pairs. Infinitely many pairs may not be needed in most of the real-life scenarios. What we need is a system which can work on an arbitrarily large number of inputs, not infinitely many. For example suppose a robot has a billion different input-output pairs in its lookup table, that can cover many functions. Roughly in order of 10 variables, each having 9 different states. As 10⁹ bytes = 1 GB, therefore the robot needs memory in order of GBs. A look-up table with billion entries can include many real-life problems. 100 % accuracy can be guaranteed if the lookup table is exhaustive. Sometimes the number of possible input-output mappings may be huge. Sometimes due to lack of some input-output mappings or memory constraints, it may result in partial lookup table — giving us a suboptimal accuracy. To further minimize the memory usage, we try to find a generator function which captures the pattern of all input-output entries. If finding the generalised pattern is not possible, then try to capture the pattern of subsets of similar kind of entries from lookup table individually. We can also ignore some of the entries along the way, because of memory constraints or limitation in representation in a general way, which brings in probability or chances of being correct. This conversion of a partial (or full) lookup table to function generator with approximation, involving probability, or even keeping the lookup table, result in an intelligent system. This is Machine Learning, learning from past data and building a system which can address future scenarios in the same field. It is to be noted that in real life, datasets are samples of the exhaustive input-output pairs picked uniformly. So, even if the look-up table is partial, it can capture all possible patterns in that particular skill represented by the lookup table, and good accuracy can be guaranteed with the partial look-up table. From partial lookup table, identifying the common pattern and guessing the generator function is ML. This is why ML is so much related to data, and after the data revolution, ML got rejuvenated from the last decade of its hibernation.
I have raised the word “billion” multiple times with some specific purpose. For me, billion is the next infinity, most of the recent future goals or modern science we can think of, are in the vicinity of this number. The number of neutrons in a human being is in order of 100 billion. Limit of modern physics, light, which also travels in order of 1 billion km/hr speed. The number of humans is 7 billion. We have available memory size in GBs, which is nothing but 1 billion bytes. We have billionaires. A human lives roughly for 2 billion seconds. One nanometre is about a billionth of a meter and things this small can behave quite weirdly. A camera with billion frames per second can catch details of how light works, and even give a glimpse of time travel. A billionaire (USD) has enough money to give 10 (INR) to each of us on earth. Recent computers are with GHz i.e. 1 Billion operations in 1 second. You see, Moore’s law also failing, from last 10 years we have not seen any improvement in GHz computers. Previously almost every year or other we used to have reasonable improvements in CPUs. After billion most of the things behave weirdly, may become boring or impossible to control for now. It reminds me the story of the greatest mathematician to me — Georg Cantor. He said that there are multiple infinities, and they are in a hierarchy, separated from each other clearly, i.e., any infinity in between merges with below infinity or the above one. If N is set of Natural numbers and R is set of real numbers, and |ℕ| and |ℝ| denotes sizes of them respectively, the Continuum Hypothesis says :
We call |ℕ| as countably infinite because we can start counting but never end, i.e. it is infinity. On the other hand, for |ℝ|, we cannot even start counting. Use any strategy, you will miss some. That is why |ℝ| is “uncountably” infinite. We have mathematical proofs to say that all programs, or machines, or computers, or all systems possible in the world are countably infinite, i.e. |ℕ|. So ℕ corresponds to solutions. In computer science, we generally use the word Language for problems, because Languages and Problems are equivalent. In Languages, we have ‘valid’ and ‘invalid’ sentence. The output of problem is also binary. Converting non-binary to binary can be seen as having multiple binary outputs. So, all the systems in the world are binary at the fundamental level. In other words, any problem is either decision problem or optimisation problem, and all optimisation problem can be reduced to a decision problem, as optimisation problems’ output can be a number, which can be represented as a binary string. Each bit of that output string taken care by a decision sub-problem. Therefore, an optimisation problem can be converted to multiple decision problems and hence, all problems are decision problems. To support the argument, let us take an example of a problem — Given a graph find whether the graph is planar or not. A computer understands nothing but strings of symbols. If we consider our computers, they work with only binary strings. Natural languages are nothing but the set of valid sentences defined by the Language. Here, for the planar graph problem, the Language representing it consists of all strings representing planar graphs. A system accepting such Language gives 1 as output if the input string is valid i.e., planar, else 0.
The number of languages which can have infinite strings is uncountable infinite i.e. |ℝ|. So, ℝ corresponds to problems. Cantor called these series of infinities as Aleph0 (size of ℕ) then Aleph1(size of ℝ) and so on. I see similar patterns with ‘billion’, where billion seems Aleph0 (smallest infinity) in the practical sense. Even our smallest units, cells, are in some thousand billion. This gives me the intuition that with billion instructions per second & capacity to hold GBs of data, which is again in billion, can be as strong as our mind or body. Unfortunately billion is number which is big for each of us, but fortunately, we are in billion. I see a pattern in problems representing human skills which need resources in order of billion. Machines with processing power and memory in billion order can serve many problems. The feasibility of writing such systems replacing seemingly impossible skills with input from each of us is looking possible. You need 1 billion USD to write such system using almost everyone on earth. Almost everyone can write a line for you if you pay 10 INR for 5 seconds. So, I believe, to create a truly intelligent system, the collective human effort is the bottleneck, but with internet and multiple billion dollar industries, this seems feasible. Thus, it is very much possible now to replace any doctor, teacher or for that matter any professional skill at the industrial level.
Human experiences are the result of billions of seconds, each of such seconds of experiences is extracted from interactions of billions of computers & humans, given Internet & social connections between them. Taking each of computers performing 10⁹ arithmetic operations per second, if all humans collectively keep learning and put efforts and uses all the available computers we can have a lookup table in the order of 10⁹ x 10⁹ x 10⁹ (=10²⁷) so 27 variables, each of them having 10 possible values, this has to use all memories in the world, or slightly more (considering total world memory capacity as 10²⁰ bytes to 10³⁰ bytes). Hence, it may not be possible to keep all the data or lookup table fully in memory, we have to digest this large data using smaller memory, or using generator functions, or approximate functions describing patterns in data.
Lastly, one or more robots may not be able to cover all the skills of humankind, there may be one person, who with focussed persistence learned some skill. They can have a unique set of experiences, and if they are not ready to share with the robot, then at least at that moment, the robot will be said not to cover all the skills of all humankind.