Deep learning is a branch of AI that enables a system to automatically recognize salient features at multiple levels of abstraction in any data set given to it. This is different from most AI systems which use mathematical modeling and computation to process a data set, but have to be trained with known data annotations.
For example, a non-deep learning AI program that wants to identify handwritten numbers typically needs a learning algorithm, a training dataset with annotations (e.g. Figure A is a '9'), and a test dataset to verify accuracy. The system uses the annotations to learn which inputs correspond to the appropriate outputs. Often the training and normal-use datasets have to be heavily preprocessed to get high accuracy, and there are many domain-specific shortcuts that can be used as well.
By contrast, a deep learning AI program simply needs a lot of data. It gradually recognizes patterns in the data which seemingly have no meaning out of context. For the handwritten numbers, the algorithm might first notice areas of light and darkness, or lines that are vertical, horizontal or curved. These observations are then passed into a higher layer which automatically combines the line observations into shapes. This process can continue with progressively higher levels of abstraction, for example into numbers, then into groups of numbers (e.g. phone numbers or other arrangements with meaning).
Ian Goodfellow, Yoshua Bengio, Aaron Courville
Documentaries, videos and podcasts
- Theano (software)A numerical computation library for Python.
- TensorFlowA machine learning software library for numerical calculation
- Caffe (software)Caffe is a deep learning framework made with expression, speed, and modularity in mind.
- LasagneA lightweight deep learning software that trains and builds neural networks in Theano.
- KerasKeras is an open source neural networks API written in Python built on top of Tensorflow, CNTK or Theano.