Deep learning is the most interesting and powerful machine learning technique right now. Top deep learning libraries are available on the Python ecosystem like Theano and TensorFlow.
Why are Deep Learning model so powerful ?
Deep learning techniques are so powerful because they learn the best way to represent the problem while learning how to solve the problem.This is called representation learning.
Representation learning is perhaps the biggest differentiation between deep learning models and classical machine learning algorithm.It is the power of representation learning that is spurring such great creativity in the way the techniques are being used. For example:
- Deep learning models are being used for very difficult problems and making progress, like colorizing image and videos based on the context in the scene.
- Deep learning models are being used in bold new ways, such as cutting the head off a network trained on one problem and tuning it for a completely different problem, and getting impressive results.
- Combinations of deep learning models are being used to both identify objects in photographs and then generate textual descriptions of those objects, a complex multi-media problem that was previously thought to require large artificial intelligence systems.
Use Python, Build On Top of Theano and TensorFlow
…and boost your progress 1000% by using Keras
Develop and evaluate deep learning models in Python.
The platform for getting started in applied deep learning is Python.
Python is a fully featured general purpose programming language, unlike R and Matlab. It is also quick and easy to write and understand, unlike C++ and Java.
The SciPy stack in Python is a mature and quickly expanding platform for scientific and numerical computing. The platform hosts libraries such as scikit-learn the general purpose machine learning library that can be used with your deep learning models.
It is because of these benefits of the Python ecosystem that two top numerical libraries for deep learning were developed for Python, Theano and the newer TensorFlow library released by Google (and adopted recently by the Google DeepMind research group).
Theano and TensorFlow are two top numerical libraries for developing deep learning models, but are too technical and complex for the average practitioner. They are intended more for research and development teams and academics interested in developing wholly new deep learning algorithms.
The saving grace is the Keras library for deep learning, that is written in pure Python, wraps and provides a consistent agnostic interface to Theano and TensorFlow and is aimed at machine learning practitioners that are interested in creating and evaluating deep learning models.
It is a little over one year old and is clearly the best-of-breed library for getting started with deep learning because of both the speed at which we can develop models and the numerical power it is built upon.
Learn Fast By Building Deep Learning Models For Well Understood Problems
…and build up a library of scripts you can leverage
The fastest way to get a handle on deep learning and get productive at developing models for your own machine learning problems is to practice.
You can use a tutorial-based approach to learn the basics of different neural network models and feel out the features of the Keras API.
Very quickly you can start to pull together this knowledge and take on larger, fuller and more complicated deep learning projects.
This approach is fast and effective for three reasons:
- You are actually writing code and developing deep learning models rather then reading about it or studying theory.
- Each completed small project provides a working base for further investigation or pivoting into a new problem.
- You amass a catalog of working code for deep learning models and library API that you can dip into and pull together on new projects very quickly.
This is the approach that you can use to rapidly get up-to-speed with applied deep learning in Python with the Keras library and start tackling your own predictive modeling problems with deep learning.