Alex Wiltschko gives a practical tutorial on Torch and Twitter's Autograd, explaining automatic differentiation as the core abstraction behind all deep learning libraries.

Alex Wiltschko — Machine learning engineer at Twitter, developer of the torch-autograd package; gives this deep learning school tutorial on the Torch ecosystem.
This is a technical lecture on the Torch deep learning ecosystem and the Lua language it is built on. The first half covers practical fundamentals: tensors as views into memory, GPU computation, and the NN, optim, and Autograd packages for building and training neural networks. The second half dives into automatic differentiation, explaining why reverse-mode (backpropagation) beats forward-mode for neural nets, and how Autograd traces program execution just-in-time to compute gradients through control flow, loops, and recursion. Wiltschko then situates Torch among other libraries (TensorFlow, Theano, Keras, Caffe, Chainer) by granularity and graph-construction strategy, and closes with ideas the field could import from older AD communities like weather modeling.