My Understanding of Artificial Neural Networks

I've been researching the basics on Artificial Intelligence.

Which led me to Artificial Neural Networks.

This is how they work, based on my limited research.

ANN is about function approximation.  You have a Neural Network.

Which takes in Input.  That input is interpreted, by Neurons, which have approximated weights.  Based on the results of the calculation, if they exceed a specified threshold, it fires a 1 or 0, which becomes the output, which is then interpreted.

The Neurons consist of any number from small to high.  The Neurons simulate the human brain, but they are not exact models, due to complexity issues.  However, by training the model, you can produced results with some accuracy.

How do you train the model, you have a batch of data which you know how it should look.  You randomly assign weights to the Neurons.  You run some test data through the ANN. With its results, you compare against the Actual, which results in a differential, and you Back Propagate the Weights based on that difference.  You run the data through again, and tune again, repeatedly, thousands of times, until your results begin to match the actual.

It is possible to over train the model, in which the output has to contort itself drastically, which sends the results into a tailspin and results become nonsense.

Initially, you take 70% of the data to train the model, you use 15% as a Stop test, to prevent over training, and 15% to test with.  At that point, you can send real data through the Network.  When data is sent in as Input, based on calculations, certain Neurons fire events, based on Weights, which may or may not meet a predetermined threshold, and routed accordingly to other linked Neurons, which makes it way through to become Outputs.  Which are then interpreted and some action performed.

An example would be to have a camera on a car, which sends data as Inputs to the ANN, which calculates whether to turn the vehicle to the left or to the right, in order to prevent a wreck.  However, it order to do so, the ANN model must have sample data which simulates erratic behavior, to teach the Model what bad driving is, so it can learn and self correct.

The complexity of the Human brain is so great that it cannot be reproduced at this point in time.  Artificial Neural Networks attempt to simulate that complexity, with some level of degree of accuracy.  It's a very powerful concept.  Every piece along the trail can be mapped directly to some advanced form of mathematics, typically Geometry, Calculus, Algebra, etc.  This is why ANN have been utilized by Statisticians, Mathematicians and advanced degree professionals.  However, there are pre-canned packages you can purchase which do all the heavy lifting for you, opening this technology to more people, including myself.

This is a very basic description of a very complex process.  My attempt was to regurgitate the knowledge I have learned thus far.  And to follow up with additional knowledge as it's assimilated.  I feel this technology to be pivotal in the age of Information will is only going to grow.  There is potential to automate basic tasks using ANN as well as automating more white collar jobs.  As computers become more complex, Models will become more prevalent, more intelligent, they will perform tasks unassisted, they don't take smoke breaks, they don't take vacation, don't require health care, they work 24/7 and at the moment, they don't talk back.  However, true artificial intelligence dictates that a computer have a conscious, in that a person would not be able to distinguish the behavior between a computer/robot versus a human, known as the Turing Test.  And when that becomes reality, we will have entered the moment in time known as the Technological Singularity.  Until then, it's business as usual for Humans.

No comments:

Post a Comment