Skip to content

Latest commit

 

History

History
271 lines (119 loc) · 15.5 KB

submission.md

File metadata and controls

271 lines (119 loc) · 15.5 KB

Workshop Proposal

Title : Deep Learning Hands-on Workshop

Abstract of talk or project

#Deep Learning is a hot topic, but it can be a little daunting to get started.

#Provisional outline :

#* The workshop will start from the very basics (with a little mathematics), and quickly progress to getting hands-on with open source software (ending the first hour with training a deep network on a simple problem) #* The second hour will build on a much larger pre-trained model, and show participants applications in both e-commerce and generative art.

Abstract of talk or project (UPDATED)

Deep Learning is a hot topic, but has a steep initial learning curve. To ease the pain, the second part of this workshop will require participants to have VirtualBox installed on their laptops.

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.

This will be followed by a more in-depth portion : Using a pre-built VM, participants will experiment with a much larger pre-trained model, and get an understanding of application to both e-commerce and generative art.

Short bio for the program :

  • Martin has a PhD in Machine Learning, and has been an Open Source developer since 1999.
  • After a career in finance, he decided to follow his original passion, and now works on Machine Learning / Artificial Intelligence full-time.
  • Previous presentations can be found at : http://redcatlabs.com/presentations

Please add anything else you would like to tell us :

  • The workshop will require people to have decent laptops, with a working VirtualBox (free, Free and multi-platform) installation - because setting up Deep Learning software can be pretty painful. Doing this via a centralized server isn't really an option, because of the processing requirement during model learning. I'll probably lend out thumb drives with an installable VM image so that people can get up and running (say) iPython with all the right modules installed locally.

PyCon SG 2016 (23-25 June 2016)

Title

Deep Learning Hands-on Workshop

Brief Description

Deep Learning is a hot topic, but has a steep initial learning curve. 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. In order to get the most out of the talk, participants should install VirtualBox on their laptops beforehand.

Detailed Abstract

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.

This will be followed by a more in-depth portion : Using a pre-built Virtual Machine, run within VirtualBox, participants will experiment with a much larger pre-trained model, and get an understanding of application to both e-commerce and generative art.

While parts of this are very technical, the subject can be appreciated at different levels - and the models (inside the Virtual Machhine) are all in Jupyter (fka iPython) notebooks, making interaction straightforward.

Notes to reviewers

This workshop was held at FOSSASIA on 19-March-2016, and worked remarkably well (IMHO). My guess is that the audience at PyCon would also be interested (even if they did it at FOSSASIA - which was. essentially, an alpha version that happened to work).

Since it includes a VirtualBox Appliance (a 1Gb image handed out via Thumb-drives), participants can install and play with a Deep Learning pre-configured environment (Jupyter / Python / Theano / Lasange) during the workshop.

While parts of the content are definitely at the 'experienced' end of the spectrum, the use of Jupyter notebooks to run all the code means that even non-Pythonists can click through the code, and upload new images / experiment for themselves.

Deep Learning is a hot topic, but has a steep initial learning curve. 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. In order to get the most out of the talk, participants should install VirtualBox on their laptops beforehand.

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 deep networks on simple problems.

This will be followed by a more in-depth portion, using a pre-built Virtual Machine, run within VirtualBox (which participants should have installed on their laptops before the workshop). This section includes an introduction to Deep Reinforcement Learning : Specifically training a deep neural network to play 'Bubble Breaker' using 'Q-learning', similar in principle to Google's AlphaGo.

While parts of this are very technical, the subject can be appreciated at different levels - and the models (inside the Virtual Machine) are all in Jupyter (fka iPython) notebooks, making interaction straightforward.

Ahh - now I see what happened.

I put in a proposal for a Workshop, then someone else changed it into a talk; took off the notes section; approved it; and didn't notify me at all.

Now I see (from the schedule) that this is allocated 90 minutes, which isn't long enough to do the content in the original Abstract.

So I've updated the abstract to reflect what will actually be talked about, and added to the description to emphasize how important having VirtualBox pre-installed is.

See you on Thursday!

talk.js

I've created a trimmed-down example of the Javascript<->Python workbook here : https://github.com/mdda/deep-learning-workshop/blob/master/notebooks/work-in-progress/py-js-py-js%20demo.ipynb

If you're interested in the content of the workshop itself, links to the presentation and code are here : http://blog.mdda.net/ai/2016/06/23/workshop-at-pycon-sg-2016

There's also the possibility of me doing another (similar, but different) workshop for DataScience SG (http://www.meetup.com/DataScience-SG-Singapore/) sometime soon.

For those wanting to whet their appetites with Javascript deep learning (in the browser), have a look at http://cs.stanford.edu/people/karpathy/convnetjs/ and http://playground.tensorflow.org/

DataScience SG 2016 (23 July 2016)

Title

Deep Learning Workshop (July hardcore bonus meetup)

Brief Description

Deep Learning is a hot topic, but has a steep initial learning curve. 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. Bring a laptop with VirtualBox installed!

Detailed Abstract

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.

This will be followed by a more in-depth portion : Using a pre-built Virtual Machine, run within VirtualBox, participants will experiment with a much larger pre-trained models, and get an understanding of two application areas relevant to datascientists (expected to be : image classification and anamoly detection).

While parts of this are very technical, the models (inside the Virtual Machine) are all in Jupyter (fka iPython) notebooks, making interaction straightforward. However, participants should install VirtualBox on their laptops beforehand, or expect to be mocked...

Pre-Event setup notes (into MeetUp comment section)

http://www.meetup.com/DataScience-SG-Singapore/events/232577187/


(Posting as a top-level message to avoid getting covered up)

The workshop involves a VirtualBox Appliance (to be used on your laptop). One of the benefits of using a VirtualBox Appliance is that it doesn't need configuration once it boots up in VirtualBox, and the appliance is self-contained, so shouldn't experience any software compatibility issues during the workshop.

While there will be USB sticks containing the VM passed around at the event, you can save yourself some time (and anxiety) by downloading it beforehand.


DropBox direct download link : https://dl.dropboxusercontent.com/u/21610393/deep-learning-workshop_2016-07-21_18-06.ova

Download via torrent (via dropbox) : https://dl.dropboxusercontent.com/u/21610393/deep-learning-workshop_2016-07-21_18-06.ova.torrent

Since the torrent file only contains Open Source materials, there is no harm in staying connected and helping others to download too.

Jupyter should start automatically when you boot the VM (after doing a VirtualBox Install Appliance...), and should be accessible at http://localhost:8080/

Fifth Elephant - Bangalore, India (27 July 2016)

Title of the workshop.

Deep Learning Workshop (Hands-on)

What is the maximum number of participants you normally accept for your workshop?

The workshop includes a VirtualBox Appliance to be handed out (which is ~1.3Gb), and the practical solution is to pass around USB keys with (a) the appliance file; and (b) a folder with some web pages (including javascript examples that don't need VirtualBox installed). The idea of a WiFi-download is probably a non-starter, because any normal venue's WiFi would be brought to its knees by the traffic...

Since each key takes <5mins to copy, it's just a question of having enough starter USB keys - and keeping up the 'pressure' to copy-and-pass-along.

So far, I've had audiences of ~100 with no problem. But apart from the logistics of the install, there is little that requires limiting the audience size (assuming that people are willing to help their neighbours, etc). One thing to consider : since the workshop will be long, it would make sense to have some way for people to work on their laptops comfortably (fold-out table on each chair, for instance).

Who should attend your workshop, i.e., the target audience?

Developers. And people that are keen to understand the underlying technology / thinking.

This isn't a 'strategic' talk for 'big thinkers' : This is actual hard-core.

Background criteria and knowledge participants should possess in order to attend your workshop.

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. No platform preference.

Software / packages they must install before coming to your workshop.

VirtualBox (https://www.virtualbox.org/wiki/Downloads) is essential. Chrome (or Firefox) would be good-to-have too.

Links to background reading material that participants should read before coming to your workshop.

It's not essential to read anything in particular before coming.

The workshop materials are mainly in Python (in Jupyter/iPython notebooks), and the code works 'as-is'.

What participants can expect to learn from your workshop?

  • An understanding of several state-of-the-art Deep Learning techniques

  • Hands-on experience of training deep neural network models on their own machines

  • An appreciation of the speed of progress in the Deep Learning field

Other info :

Brief Description

Deep Learning is a hot topic, but has a steep initial learning curve. 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. Bring a laptop with VirtualBox installed!

Detailed Abstract

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.

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 :

  • Anomaly detection

  • Applying a pre-trained model to classify images into previously unseen classes

  • Art 'Style-Transfer'

  • 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. However, participants should install VirtualBox on their laptops beforehand, or expect to be mocked...

1 : Maximum Number

As I outlined in my previous email, it's mainly dependent on USB drives being copied efficiently. If you had a download site for people to get the 1.3Gb Appliance file from before the event (and a ZIP of the presentation+JS materials), we could even stream-line that. It's not practical to have people downloading at the event though, since it will saturate your WiFi.

100 people is no problem with manual copying. For larger numbers, it would be good to have a couple of designated 'helpers' (for instance the two people who previously went to my PyCon talk) so that that problems/delays that the audience has can be dealt with by someone other than me. We could figure it out nearer the event.

Another concern (as the audience grows) is that people will be generally more distant, and perhaps some of the 'energy' (aka hand-waving) regarding what I'm talking about would be missed. It's probably best to ask the PyCon attendees what they think : I don't have any particular limit in mind.

  1. Math and ML Requirements

Here are a few things that are to be expected (though, since this is a data science conference... I don't think people should have much of a problem) :

  • 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".

The Python libraries that are used are Theano and Lasagne (both on GitHub).

To a large extent, though, understanding each individual line of code isn't important. So I'm not sure whether there's any particular materials I can recommend.

I'd also like to introduce you to my colleague Hari who coordinates workshops and does community outreach at HasGeek. Hari will be in touch with you from now on regarding preparing for your workshop in terms of getting the workshop details up on https://fifthelephant.talkfunnel.com/2016/, publishing workshop details on the website, working with you on the schedule of the workshop (when to have tea and lunch breaks during the session), communicating requirements to participants and setup at the venue (if you have specific asks such as WiFi, white board and markers, etc.)

FOSSASIA laptop warning ::

  • Participants should bring their laptop AND have Oracle's VirtualBox already installed and working.
    • VirtualBox is cross-platform, and open source, and enables us to distribute a full, working deep learning VM to all the participants (via USB stick).
    • At minimum, your laptop should have 2Gb of RAM and 8Gb of HD available. No platform preference.