KDnuggets Home » News » 2014 » May » Courses, Education » Where to Learn Deep Learning – Courses, Tutorials, Software ( 14:n13 )

Where to Learn Deep Learning – Courses, Tutorials, Software


Deep Learning is a very hot Machine Learning techniques which has been achieving remarkable results recently. We give a list of free resources for learning and using Deep Learning.

By Gregory Piatetsky, @kdnuggets, May 26, 2014.

Deep Learning is a very hot area of Machine Learning Research, with many remarkable recent successes, such as 97.5% accuracy on face recognition, nearly perfect German traffic sign recognition, or even Dogs vs Cats image recognition with 98.9% accuracy. Many winning entries in recent Kaggle Data Science competitions have used Deep Learning.

The term "deep learning" refers to the method of training multi-layered neural networks, and became popular after papers by Geoffrey Hinton and his co-workers which showed a fast way to train such networks.

Yann LeCun, a student of Geoff Hinton, also developed a very effective algorithm for deep learning, called Filters learned by ConvNetConvNet, which was successfully used in late 80-s and early 90-s for automatic reading of amounts on bank checks.

See more on ConvNet and factors enabled recent success of Deep Learning in my exclusive interview with Yann LeCun.

In May 2014, Baidu, the Chinese search giant, has hired Andrew Ng, a leading Machine Learning and Deep Learning expert (and co-founder of Coursera) to head their new AI Lab in Silicon Valley, setting up an AI & Deep Learning race with Google (which hired Geoff Hinton) and Facebook (which hired Yann LeCun to head Facebook AI Lab).

Here are some useful and free (!) resources for learning and using Deep Learning:
The packages which support Deep Learning include
  • Torch7, an extension of the LuaJIT language which includes an object-oriented package for deep learning and computer vision. The main advantage of Torch7 is that LuaJIT is extremely fast and very flexible.
  • Theano + Pylearn2, which has the advantage of using Python (widely used), and the disadvantage of using Python (slow for big data).
  • cuda-convnet, High-performance C++/CUDA implementation of convolutional neural networks, based on Yann LeCun work.