Saturday, December 20, 2008

Do the Evolution

Artificial Intelligence was the main title of a magazine called "Rizpardazandeh" which was written with big bold letters on it when I was in the 9th grade. With full curiosity I bought the magazine and read all the articles in it related to the topic, it was mostly about the main ideas and the MIT research lab and Marvin Minsky. Whatever it contained, the event raised my interest and made me sneak into any magazine, book, talk or conference related to AI which I saw close by from that time on.

The general idea of intelligent machines was just so exciting and fun to think of but as I studied more and more about the classical/Symbolic AI, this feeling changed a bit and witnessing the different algorithms in symbolic AI which simplify the human intelligence activities to a few simple steps and enable machines to follow it, made the special human activities seem less complex and important and the real magical feeling behind a real intelligent machine was reduced to rather deterministic computing machines. The glory and value of Artificial Intelligence was over shadowed by the reduced value of the actual intelligent tasks. During that time thinking about AI would result into many ideas in other fields such as psychology, biology and neuroscience.

The border between AI and any computer program was soon diminishing since any computer code would follow some steps to solve a problem which would seem it required intelligence. The definition of intelligence itself was moving like an avalanche. A simple example is the game of chess which was thought of as a game needing lots of intelligence to be played but when Deep Blue beat the human chess master, chess wasn't assumed such an important activity to measure AI anymore.

The original magical feeling returned to me one more time when I read about Genetic Algorithms for the first time a few years later. I was even on the absolute climax the first time I wrote a code that would try to optimize the soluton to a problem using GAs. It was just unbelievable to see every line of output getting better and better as the CPU was processing while you knew that deep inside the code, there are no explicit algorithms that would suggest a solution and actually no heuristics in there to help. Just pure Evolution. Finding out about Neural Networks and their mechanisms and the way they can be used to solve problems added to this feeling of joy. AI contained the magical essence once more but this time in the form of evolutionary and non-symbolic AI.

I've worked on implementing these ideas into different projects and the techniques have proved to be very valuable every time. Most recently, along with MNO, we have started a new research project in the field of evolutionary optimization for sensory motor controllers of a simulated robot. The simulation test bed is almost ready now and the main task which is evolving the robot brains for walking (the first test) needs to be followed. The previous project which we worked on with MNO was "Farsi Cursive Hand-Writing Recognition" software which used feed forward neural networks which were trained by GAs but in the current project we will focus on the use of Continuous Time Recurrent Neural Networks (CTRNN).

Its evolution Baby ....

4 comments:

Anonymous said...

The robots do amazing things today, but they are not thinking. They are just reacting, even if they are trained with evolutionary algorithms.

Evolutionary algorithms seem to be of interest merely at the applied level. They may be applied to a problem that can not be solved explicitly, but that problem needs to be formulated first! As far of intelligence is concerned, evolutionary algorithms do not go too far. It is not just the logic or algorithm which makes us able to do complex tasks. The complexity is rather the result of interactions between organs and decision making centers.

They have recently made robots with actual live neurons, which is interesting from a research point of view. This is likely to lead to fascinating applications in engineering and neuroscience, but still the intelligence does not emerge from inside; the key interaction between organs and brain is still missing. Perhaps, we should wait till the day that we can bring life into machines before we can give them intelligence!

Amir H. Fassihi said...

Ok so I'll start off with your first paragraph, why do you exactly say that robots are not "thinking" and humans "think", when a human plays chess, is that thinking? How about a computer plying chess?

Please elaborate on why you think that evolutionary algorithms do not go too far as far as "Intelligence".

Anonymous said...

We can not distinguish humans and robots as long as we look at what they do. We should more look at how they do things, i.e., how humans playing chess is different than robots playing chess?

There are certain ways to train humans to play chess, but it is impossible to see two humans playing chess in exactly the same way. Even if they have been given the same instructions and trained with the same methods, they will end up playing it differently. That has to do with what is called thinking. An underlying, complicated, decision making network which evolves during practice.

As complicated as this mechanism might be, when it comes to playing chess, there are limited combination and sequence of moves that can be made. Those moves have been modeled in a sophisticated way and given to the robots. The difference is, therefore, that humans do not play chess based on a model.

Besides, playing chess is not the best testbed to distinguish humans and robots. How about riding a bike? It's much harder to make a robot ride a bike because it requires fast decision making and acting abilities. You can not just model the whole process and transfer it to the robot. Moreover, there is dynamics. Due to the nature of the motion the robot has to make decisions in a relatively small amount of time.

The same is true in playing soccer! robots have not been much successful in playing soccer compared to playing chess and it does not have to do merely with the existing technology or physical limits that they have. Humans do not model the game when they play it. That's why amazing things happen on the field.

Back to evolutionary algorithms, they are considered as a way to learn how to do things without having to model the problem. For instance, the same algorithm can be applied to solve different problems. However, why can they not learn how to play soccer as good as way we do? I think it is because playing soccer involves a layer of problems rather than just an exact objective. An intelligent entity is supposed to develop solutions, ranging from playing soccer to developing a proof for a mathematical problem without having to be told which exact steps to take in advance. Evolutionary algorithms can not do that because they need to somewhat map the problem. This is too much simplification on the nature of the problem. You can't just map playing soccer into a real number and ask an algorithm to learn how to do it, which is the basic premise on which evolutionary algorithms are based. Besides, humans can learn in parallel. They do not have to learn how to play the guitar before they go and learn how to dance. Can robots do the same? i.e, if we give them a multi-layer network and train it with evolutionary algorithm, can they know how to use that network so they could learn several problems during the same period? or would learning of one task have adverse affects on the learning of the other? These are the reasons why I think they do not go far.

Amir H. Fassihi said...

Regarding activities such as riding a bicycle, that is exactly where and how evolutionary algorithms come to play where they can train networks to enable a robot to ride bicycles in a robust fashion. Yes the whole dynamics need not be modeled since we are not talking about symbolic AI.

Back to humans again, I do agree that human beings are very complex sets of neural networks but the basic mechanisms of such networks have been imitated in silicon based artificial neural networks and hence in theory, it would be possible to construct such artificial neural networks which do exactly what humans do and the exact same way that they do it - being very complex does not mean it is un-achievable, and believe me, it won't be long before robots play soccer much better than us - unless of course, you come up with a definition for a basic mechanism which exists in organic networks and which can not be modeled at all in computers, in that case humans would be able to do tasks which machines would not. Scientists have not found such mechanisms so far.