I'm watching a youtube video where a guy is talking about how computers can learn to go from some point A to some point B.

However, the way he does it is very disappointing: all he does is generate thousands of objects that go from A to some random destination, and then he updates all the random destinations by taking the average of the original destination + the destination of the object that got closest to B. This process is then repeated until convergence.

I don't see what's so impressive about this. If you wanted the machine to go from A to B, why did you not just ... you know .... tell it to go to B?. What's the point of essentially generating random instructions, and hoping one of those random instructions just happens to be: go to B, when you could just as well tell that instruction to the computer yourself?

Is this really what people mean when they say that a computer "learns" to do some task? And if so, what's so impressive about it? What am I missing?

  • 3
    $\begingroup$ It might be worth adding a link to the video you are explaining. There are many ways that a computer might "learn" to solve a task. It would help to see the material that you are asking about, in order to write an answer which addresses what you actually saw. $\endgroup$ – Neil Slater Aug 25 '18 at 14:02
  • $\begingroup$ In order to achieve an approximation to the complexity of this problem or any other one, put yourself in the place of the machine. How do you go from A to B? It is not so easy as it seems. You need a map of the area or create your own one by exploring, after that you need to evaluate the shortest path or, at least, a path not too long, ... Moreover, how you learned to do it ? By yourself or someone teach you? (including the parents at ages less than two years). $\endgroup$ – pasaba por aqui Aug 26 '18 at 9:44
  • $\begingroup$ The main issue is the internal causation of the machine. How does this change? By a human, say, changing the program that defines the behavior of the machine? That's not learning. It's a human using human knowledge to alter the behavior of the machine. "Learning" means the machine changing its own internal causation in response to sensory input/effector output. Unsupervised learning of ANNs (artificial neural nets) seems promising but has not factored up to the human-level case. In reality AI doesn't know how to make a computer learn by itself as humans do. $\endgroup$ – Roddus Aug 26 '18 at 10:08
  • $\begingroup$ What you describe – random instructions, seems similar to the method of genetic algorithms where a piece of code "evolves" by "random" "mutations", and the mutations are subjected to "fitness tests" and the mutations that pass the tests ("survive") go through the process again. Problem is, where do the fitness tests come from? A human writes them. So a human is deciding the causation of the "survivors". $\endgroup$ – Roddus Aug 26 '18 at 10:08
  • $\begingroup$ There are many methods by which mechanisms can be said to learn. (The newest techniques are the most exciting, and appear to have the most potential.) Since a link to the video has been requested, it may be helpful to post. Welcome to SE:AI! $\endgroup$ – DukeZhou Aug 27 '18 at 19:46

Your confusion is a result of Moravec’s Paradox; the just tell it to... step is enormously more difficult than it sounds. So what researchers do is attempt to find a general approach to that problem. The problem is expressed as a matrix of numbers (a grid that may be a million on each side these days) and “learning” is the process of computing the values for each of those numbers. Obviously no human can solve an equation like that, so a machine solver is used. Therefore the work of the AI researcher is to find better ways to generate these large matrices i.e. to express go to X and to create better solvers. The holy grail is a matrix and a solver that will work for any X.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.