
This post is inspired by the late Dr. Push Singh's article titled "Why AI Failed". When I say "failure" of AI, I am referring to the fact that we still do not have machines with human-level intelligence. Such machines were expected by 2001 itself. We know that science is not even on the brink of it. Dr. Singh's article is comprehensive and succinct in its explanation. In this post, I talk about the same thing with an analogy. In the analogy, I shall describe a problem and analyze two possible methods of approach. I shall end by drawing parallels and explain what is going wrong, in my opinion, with the current direction of AI research.
Before I detail the task, there are somethings I would like to say. The task I am going to talk about is an "ideal" case. It cannot be reproduced in real life. When I use terms like examination, please do not form a vision of a silent hall with an invigilator and a time limit of 3 hours. The whole thing is totally abstract. Analyze this article from 50 feet above - think about everything in general, do not nitpick and confine yourself to the material words I use. They are just there to make this article take a form in English. In fact, I myself do not have concrete pictures about what I am say. Think of this post as a description of something I see far away without my spectacles on!
The task - We are to train a 10 year old in mathematics and make him fit for an exam in integral calculus. Details are as follows:-
(1) You are God! You are perfect. Once again, Please do not think of God as a magician with a halo around his head who can do anything. I just mean you are "ideal". You know the perfect optimal way to do and solve anything.
(2) This 10 year old that you are assigned is just an average 10 year old. Nothing extra-ordinary about him. Nothing bad about him either. He is "human".
(3) The exam is one like no other. The score you get is a "perfect" indicator of your knowledge about integral calculus. Only God(you) can get 100%. The "human" cannot. Also, knowing even the most basic and elementary formulae of integral calculus will mean that you score more than 0. Think of this exam as a compilation of the all the questions that can exist about integral calculus. Right from the most elementary and trivial ones, to the most complex ones.
(4) Your sole objective is to maximize his score in the exam. You do not care about anything else.
The first question that you would now have would be - "how much time do we have?". I am not going to given an answer to this right now. Please push that question to the back of your head. All I shall say now is that the time is not enough to turn him into a God, i.e. make him score a 100%. 100% needs "infinite" time (if you do not understand why I said "infinite" time, please think about it. Getting a vision of "ideal", "perfect", etc. is essential to proceed. Such concepts are difficult to put in words. They can only be felt). You only have "finite" time on hand. Since I say the 10 year old is average, our task at hand is not a trivial one. It will take time and careful planning. Your planning would not only involve deciding what mathematics to teach him, but also a plan of the boy's daily routine. Right from the games he plays, the food he eats, etc. It is like he is totally in your control.
I do not know the perfect solution to this problem myself. I am sure no one reading this post will either! I can say that confidently because I am talking about "ideal" cases here. The exam itself is not conceivable. (A lot of people have exagerrated views about their teaching and mathematical abilities, I myself have ;). The fact that you were good at solving integration problems in college and could do them faster than all your friends does not mean you are the "ideal" person I am talking about here. We are all equally idiotic in front of "perfection". Someone may be a 10, someone else maybe a 200, 10000, or whatever. In comparison with infinity, all of them are nothing(zero) because anything divided by infinity is zero). If you think you know the perfect solution to this problem, I suggest you stop reading the post. It is useless for you to proceed.
If you are reading this paragraph and further, you agree that you do not know the perfect solution to this problem. I don't know it either. There are a lot of approaches we can talk about. Small changes in one might cause improvements. I do not want to get into that. I just want company as I attempt to analyze the "kind" of solutions possible. Hopefully one day we will know the perfect solution. I think the approaches can be broadly categorized as below:-
Approach 1: The drilling-in approach. Since the sole objective is to maximize the score in the exam, make the kid learn as much as possible by-heart. Begin with the basic formulae. Drill them in! Remember, this will help because the "exam" has the most basic and elementary problems as well as complex problems. Get a few basic text books and make him learn all the solutions by-heart. This will also push the score higher. Keep doing such things. Make him work overtime, to the exclusion of everything else, even sleep. Think about the scores you can reach with this kind of an approach...
Approach 2: The normal approach. Draw the kid a proper routine. Start with the basics. Make sure the kid develops in all respects. Now, think about the scores you can reach with this kind of approach...
Below is the graph of scores vs time taken of both the approaches.

Note:- I do not have any real concrete reasons for why I think the graph should look like that.
Observation from the plot: If the time given is less, approach 1 will lead to better results. If time given is more, approach 2 will lead to better results. I am sure this conclusion is not counter-intuitive by any means. Basically approach 2 has a higher rate of growth after a certain period of time. Approach 1 is good if the time of reckoning is small. I don't know if either of them will reach a score of 100. But all I can say is that if they do, approach 2 will beat approach 1 to the finish line. In fact, I believe approach 1 has no hope. It will plateau after a while. Approach 2 is the only one with hope.
Let us now get back to what I wanted to talk about - AI and its failure. I think the kid is our computer, the computer scientists and programmers are the gods. The integral calculus examination is just a way to see if the computer has achieved human-level intelligence. Scientists today are using approach 1. That is because it gives "immediate" results. Grants are given with deadlines. People giving the money want to see results quickly. So they do not care how the results are obtained. I am sure if you were to apply approach 2 in real life with a kid, it would take a lot of heart and tenacity. Just like that, for computer scientists to move towards the goal of human-level intelligence using approach 2 will require a lot of courage and rigour.
It is sad to see that very very few are prepared to do that. It is this which I think is the fundamental reason for the failure of AI - our "short-sighted" (desire of immediate results) attitude. I call out to the scientific community - please broaden your minds and vision!!! Please look beyond your immediate materialistic needs. Do not forget them!!! Just look beyond them once in a while.
I am very inspired by the following people - Marvin Minsky, Chris McKinstry and Push Singh. I hardly know anything myself. In fact, my first step into the field of AI was 2-3 months ago! I know nothing! It is just that I am interested and very inspired by the idea of human-level intelligence on a computer. It is like "hacking into God's computer" - I am borrowing Chris' words. I believe computers with human-level intelligence will solve all of the worlds problems.
...subtle is the lord, but he does not play dice with the universe... My views about determinism later...
40 comments:
Interesting line of thought...
interesting....the unreal graph is funny though :P
Nice post Abhi. But on second thought, do we need to develop artificially intelligent computers evolving themselves to overtake us(like in movie,matrix) or Imprint ourselves with nano machines to become cyborgs. I think latter is more beneficiary as human being himself is such a highly evolved complex machine from eons ago!
@Karthik: The "machines taking over the planet" concept is something scary. But I believe that will not happen if we develop "perfect" machines. Because "taking over" is another struggle for power. And such struggles result in mass destruction. A machine with perfect intelligence will know that such a struggle will only be harmful to mankind and thus will never attempt to do so. Why do we give power to intelligent people? It is because we know that they would have the intelligence to not misuse power because misuse would result in destruction...
@Prashanth and Onkar: Thanks
why should we have intelligent machines!? cant we live with human beings?! are we not happy? why are ppl so crazy about having intelligent machines around!!
@Pavithra: No we are not happy. Why is there hunger in Africa? Why can't human beings solve those problems. That is because the magnitude of those problems is huge. We need superior machines to solve those problems. That is why we need human-level intelligence. I promise you it will change the world.
@abhi- i disagree!!! machines solving hunger problem in africa!!it is there because we human beings are selfish,stingy and do not respect and value another's life! machines solving al this!rather we as humans should change, learn and contribute more..honestly,i find this whole machine thingy ridiculous, meaningless and unrealistic!
@Pavithra: I will write another post about how having computers with intelligence will solve hunger problems in Africa. At the moment, consider it like this. When the chain of a bicycle falls off, all we do is place one link in the right spot and then turn the pedal. It is like that. If one thing in the world in righted and everything is forced to move, the whole world will right itself. Having machines get intelligence would mean that you have a mathematical and deterministic model of the world. Once you know the equations, solving is trivial. That is why everything will be solved.
If we are the ones building the machines, we should have superior intelligence then them. Right?
If you agree on that, you can solve any problem on your own. The machine'll just be a tool.
What if two rivals get hold of the same perfect machine? Who'll win? It'll lead to something I can't fathom.
@Sharma: "If we are the ones building the machines, we should have superior intelligence then them. Right?" - No. We shall give the machines the ability to expand intelligence. We will set its laziness to 0. So it will continually expand its intelligence and overtake us. It is like you learn from your lecturer and you finally become smarter than him. By programming the computer, we are taking the horse to the water and teaching it how to drink and also teaching it that drinking is nice. And because he horse is a better drinker than us, it will eventually have more water in its belly than us. The horse thing is just a metaphor BTW.
@Sharma: "What if two rivals get hold of the same perfect machine? Who'll win? It'll lead to something I can't fathom." It can be fathomed when you have a deterministic model of the game. It is like two players playing tic-tac-toe perfectly optimally. Once you have a model, you can say who will win.
But, how do you suppose to control the machine once it starts breaking barriers?
What if it goes out of control? You never know.
@Sharma: I cannot answer that until I succeed in doing so :P. I believe that it will never require to be controlled. It will never involve itself in a power struggle. Remember - it will be perfect. So it would know that power struggle would result in destruction and thus never get into one. Power can always be misused. But if it is in the right person's hands, the person would know that misusing would be bad, so would refrain from doing so.
Opkonde. But, if it's ultimate and unchallenged, you can never know how it'll behave. :)
Ade, you can't answer till it happens in reality.
@Sharma: And some say that since you see it progressing, you will also progress. Thus there will never be anyone superior. Assume we play a game - you give a number and I must give a number higher than you to win. We can play any number of round. The one who say "I have no more numbers to give" will lose. Such a game will never have a winner.
@Sharma: It can be answered I think. We will be the one setting the computer's objectives. So we just set the objective of the computer as "solve all the problems in the world". So the computer will know that a power struggle will only cause more problems, and in no way solve them. So it will never get into one such.
Good example, if the progressing is true. We'll take it offline, sometime. I'll read stuff, interests me.
What's the closest to the best machine developed till now?
@Sharma: That is the saddest part. There is hardly anything close to such a project. Read Marvin Minsky's "Society of the Mind". It will spark interest. Also, there are a lot of things I disagree with in previous approaches.
The problems are as follows:- (1) No one will ever undertake such a project (2) No one will let you undertake one such (3) If you do undertake one such, you will have daggers thrown at you from all sides.
@Sharma: It needs hard work. And hard work with no guarantee of success. And there are very few people on earth who are prepared to do such kind of hard work.
Exactly. Nobody will work when you say you aren't sure of monetary rewards or success.
And, you'll have to do everything from scratch. You hardly find a person ready to do so much.
Nice post Abhiram!
@Shivam: thanks.
The concept of providing material to a system with an acquisition subsystem is something that might be examined. Heuristics practiced during acquisition would shorten the time of subsequent acquisition.
Someone get back to me on this. dokeefe85@yahoo.com
Post a Comment