A neural network is an artificial intelligence computing system modeled after the way that a human brain works. Neural networks use layers of interconnected nodes as artificial neurons to process data and solve a given problem. A neural network learns over time by adjusting the connections between neurons and the functions performed by each one.
AI developers use artificial neural networks to train artificial intelligence algorithms for many different tasks. Computer vision neural networks learn to analyze images to recognize objects, allowing them to quickly identify faces, label images, and help moderate content. They can learn to perform speech recognition to transcribe conversations and add captions to videos. Artificial neural networks can also learn natural language processing to analyze written language to organize documents, generate article summaries, and serve as chatbots.
Each node in a neural network contains a mathematical function. Nodes are arranged in several layers — an input layer, several intermediate layers, and an output layer — and each node is connected to any number of nodes on the layers above and below it. A node takes input from lower-level nodes, assigns a weight value to each input, and performs a calculation on the combined values. If the result meets a pre-determined threshold, the node passes it onto the next level. This process repeats until the neural network passes the final value to the output layer.
During training, a neural network's developers give it a set of training data that has already been "solved." The starting weights and thresholds for each node are random. The first time a neural network analyzes its training data, the results are unlikely to be what the trainers want. On subsequent analyses, the neural network changes the weight and threshold values for each node to get closer to the correct results with each iteration. The neural network is "trained" once it consistently gets accurate results for each piece of training data.