If you are into Deep Learning, sooner or later, it inevitbly happens that you’re asked at least
once to explain what actually means **Deep Learning** , and what’s all the fuss about it.

Indeed, answering this question in a proper way, may vary (and it has to) depending on the kind of audience you’ve been talking to.

If you are talking to a machine learning experts, you have to concentrate on what *deep*
means, for the multiple learning models you can come up with.
Most importarly, you have
to convince them that a deep learning model would work by far better than a more
standard and robust Random Forest or Support Vector Machine.

On the other hand, if your audience is made up of engineers, they ~~don’t give a damn..~~ are
definitely more interested in how you implement your Artificial Neural Networks (ANN) rather than
understanding what are the implications of different *activations* and *optimizers*.

Finally, if your audience is made up of data scientists - who are a good mixture of the previous two, according to Drew Conway - they are more or less interested in both the two aspects.

The other way, that is the *unconventional way*, to explain what Deep Learning means,
is from the perspective of the computational model it requires to be properly effective.
Therefore, you may want to talk about ANN in terms of matrix multiplications algorithms,
running on a (series of) GPUs in parallel.
And this is **exactly** the perspecitve I intend to pursue in this talk.

This talk is for PyData scientists who are interested in understanding Deep Learning models from this unconventional perspective, learning what are the libraries and tools they may leverage for their experiments on GPUs. Experienced engineers may likely benefit from this talk as well, learning how they can make their models run fast(er).