Saturday, March 12, 2016

A few thoughts on creating general purpose artificial intelligence

I recently gave a presentation describing various methods used to accomplish machine learning techniques used for bipedal walking. The most successful algorithms typically use multiple artificial intelligence techniques in order to accomplish this. My presentation focused on using a combination of neural networks and genetic algorithms or harmony search algorithms. The configuration for the neural network is set up as follows. The neural network is configured such that the input layer receives sensor values from various points on the robot such as touch sensors on the feet and encoders to get the angle of joints. The data is then sent through the layers of the neural network and it is used to produce an output value that controls where the legs are moved. The output values and are then sent back into the neural network and used to update the weights on each node to improve future performance. The addition of a genetic algorithm or harmony search algorithm makes it possible to produce more accurate weights. The challenge that is presented is the fact that this creates a neural network that is highly specialized in accomplishing walking. This network could be sufficiently advanced enough to handle uneven surfaces walking on incline planes however, there is still a significant challenge because this network could be performing excellently in all scenarios except if a ladder is suddenly encountered for at for example, then it may not be able to find a solution that works correctly.

The concept of the general artificial intelligence, which would otherwise be described as a machine that has all of the thinking and computational abilities of human being, is someone of a challenge to developers. Looking deeper at the function of the human brain, it becomes clear that the human brain is not actually ideally suited for all scenarios. As a matter of fact, the human brain is divided up into a plethora of highly specialized areas. I think it may then be reasonable to assume that the same solution can be accomplished in artificial intelligence. The utilization of multiple neural networks where each becomes specialized to accomplish a specific task could be a solution to this problem. A primary neural network could be used to map input values to the correct sub-neural network. In addition it may be useful to look into the potential ability for this network to dynamically create new sub-neural networks that could be automatically specialized to accomplish some kind of new task.