In the simplest terms, artificial neural networks (ANNs) are computer systems designed for machine learning that mimic the way a human brain ― a natural neural network ― functions. Sometimes called CNNs for "computer neural networks," these systems learn by modeling the human learning process: they take in data, look for patterns, and assimilate those patterns to create logical rules for processing data or for identifying things.
For instance, you can give a neural network two datasets:
1. Dataset one is called "cat," which contains pictures of cats
2. Dataset two is called "no cat," which consistsof images without cats.
Based on these datasets, the ANN can learn to identify pictures of cats without ever being told what a cat is. It creates rules to understand what each image set has in common among all the images and in what ways the image sets differ from each other.
Of course, the simplest terms don't do justice to such a complex system and process. In reality, ANNs are extraordinarily intricate systems, and scientists have plenty of work ahead of them when it comes to understanding and harnessing machine learning. Just like human learning and memory, neural networks perform tasks we can't directly program them to complete, or for which direct programming would not be realistic, such as:
- Predicting stock market developments
- Identifying authorship of manuscripts based on word choice and style
Despite their complexity, specificity, and how much we have yet to learn about ANNs and the machine learning that accompanies them, you can already find this technology in use in lots of practical applications. One of the most common settings for ANNs is the area of computer vision.
Computer Vision and Machine Learning
Computer vision is an incredibly complex field with a deceptively simple definition: automating the kinds of information-gathering tasks that the human visual system performs automatically. In practice, what this means is training computers to extract information from images, whether they be:
- Digital images
- Streaming or stored video
- Live footage from a video camera
The applications of this kind of technology include:
- Facial recognition
- Object recognition
- Motion detection and analysis
- Image restoration
Some of the simpler tasks should already sound familiar ― you've seen computer vision at work when Facebook suggests you tag yourself or a friend in a photo.
How Do Neural Networks Work? Artificial Neural Network Applications
The example of the cat pictures may seem silly, but it illustrates the primary process by which computers use computer vision to take over tasks once performed by humans. As the dataset grows, the neural network can refine its algorithm, increasing its accuracy and performing correctly in increasingly challenging tests.
A more practical example, perhaps, is handwriting recognition. While identifying the letter "A" may be an easy task for a human observer, the programming required to convey the geometry of "A" is considerably more sophisticated, especially when you consider all the possible variables in a real handwriting sample:
- Height
- Width
- Proportion
- Spacing
- Neatness
Still, a neural network trained on a wide variety of handwriting samples can learn to recognize each letter in all its endless variations, allowing us to do things like digitize handwritten notes or decipher poorly written or partially destroyed handwriting.
Unlocking the possibilities of computer vision is far from complete, but we've made a great deal of progress in recent years, especially in terms of sophistication. These advances are mainly thanks to developments in ANNs and machine learning, both of which will allow computer vision to grow and develop. For more information, learn how FPGAs fit in with neural networks here.