Author: | Francesco Lelli |
Learning Line: | How a Neural Network works |
Course: | AI1: Introduction to Neural Networks |
Week: | 3 |
Competencies: | 1- Understand and be able to use neural network dynamics and factors that influence their performance 2- Implement a basic pattern recognition |
BoKS: | 3aS2 The student knows how to apply the right statistical & mathematical tools for specific AI-contexts |
Learning Goals: | Understand the structure of a neural network |
Artificial neural networks (ANN) or simply “neural networks” are computing systems inspired by “classical biological” neural networks that are in animal brains. Typically an ANN “learn” to perform tasks by considering examples, without being programmed with task-specific rules.
Example of Neural Network
Image recognition is a classical example where neural networks are used; in particular they learn to identify images that contain dogs by analyzing example images that have been manually categorized (labelled) as “dog” or “no dog”. Once the system “learn” the difference it can be used for identifying dogs in other images.
An ANN does not use conceptual reasoning, for example is not capable to devise that “all dogs have 4 legs”, or “a dog must have a nose” etc. Instead, they hide the features of a dog into their data structure and they “internally learn these characteristics” from the examples that are used for training them.
Practical applications are more complex that the classical example mentioned in these videos. Nevertheless, learning how to recognize hand-written digits is always a good place to start. In other words you can consider this example as the “hello world” example for learning the basics of Neural Networks.
Modern tools for developing Neural networks such as Tensor-flow hide many of the complexities mentioned in these videos. Nevertheless a basic foundation of the concepts mentioned will speed up your developments and will foster an actual understanding of what you are doing.
The code mentioned in the videos is also available at this link:
https://github.com/mnielsen/neural-networks-and-deep-learning
In the next weeks we are going to replicate the example of this video (and the few more that will follow). Therefore you will need to use a database of hand-written digits. You can find one at this link:
http://yann.lecun.com/exdb/mnist/
This hello world represents a good starting point for learning the basic of neural networks.
This is week 3 of AI1: Introduction to Artificial Intelligence, link to the all material of the course: