Advanced Deep Learning Workshop – Hands-on
Submitted by Martin Andrews (@mdda) on Wednesday, 6 July 2016
Deep Learning is a hot topic, but has a steep initial learning curve. This workshop is aimed at giving participants ‘hands-on’ experience of a range of deep learning techniques.
While no prior deep learning knowledge is assumed, the content will not be watered down : Even people already deploying models should find material that is new and interesting.
There will be code. Lots of code. To ease the pain, a pre-configured virtual machine will be handed out, so that participants can run it on their own laptops using cross-platform open-source VirtualBox, and avoid a lot of configuration hassles. Bring a laptop with VirtualBox installed!
The workshop will start from the very basics (with a little mathematics), and quickly progress to getting hands-on with open source software including the training of a deep network on simple problems to get ‘warmed up’.
This will be followed by several deeper dives using a pre-built Virtual Machine, running within VirtualBox. Participants will experiment with a much larger pre-trained models, and get an understanding of several application areas, among which are :
Applying a pre-trained model to classify images into previously unseen classes
Reinforcement Learning (inspired by AlphaGo)
While parts of this are very technical, the models (inside the Virtual Machine) are all in Jupyter (fka iPython) notebooks, making interaction straightforward.
The Python libraries that are used are Theano and Lasagne (both on GitHub).
Participants need a laptop with VirtualBox installed (this is cross-platform, and open source). At minimum, the laptop should have 2Gb of RAM and 8Gb of HD available, with the ability to read/install files from a USB key(!) No platform preference.
Programming Knowledge Assumed
- The code is all Python-based, using Numpy, Theano (and Lasagne)
- However, understanding every line in the code is not required, since the essence of the material is ‘laid out’ in pre-built Jupyter notebooks
Please install following software before coming to workshop
- VirtualBox (https://www.virtualbox.org/wiki/Downloads) is essential;
- Chrome (or Firefox) would be good-to-have too.
In addition, some of the modules make use of images - so having a few of your own images (and some kind of image editing tool for resizing/cropping) could make those sections more ‘personal’ (in the nice-to-have category).
Math and ML Requirements
- some matrix mathematics (Google : “matrix and vector multiplication”);
- the idea of using derivatives to minimise functions (Google : “differentiate to find minimum”);
- images being composed of pixels - and what a Photoshop filter does (Google : “Photoshop custom filter maths”); and
- training data vs test data (Google : “training set test set difference”);
Those who want to ‘get ahead’ could Google : “Neural network backpropagation”, and beyond that come terms (all of which will be explained in the workshop) such as “imagenet competition”, “convolutional neural network”, “recurrent neural network”, “deepmind alphago”, “reinforcement learning” and “q-learning”.
Martin has a PhD in Machine Learning, and has been an Open Source developer since 1999. After a career in finance (based in London and New York), he decided to follow his original passion, and now works on Machine Learning / Artificial Intelligence full-time.