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). The way this completed can be optimized in various ways, such as through gradient descent
Ian Goodfellow, Yoshua Bengio, Aaron Courville
Deep Learning and the Game of Go
Max Pumperla and Kevin Ferguson
Deep Learning Crash Course
Deep Learning for Search
Deep Learning with R
François Chollet with J. J. Allaire
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.
- Lasagne (software)A 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.
- Show More