In this course the theory and practice of neural computation for machine learning are introduced. Artificial neural networks are used for many real-world problems: classification, time-series prediction, regression, pattern recognition. The class starts with an introduction to feed forward neural networks. More complicated multi-layered “deep” networks are then covered. Basic backpropagation, gradient descent and modern regularization techniques are implemented in assignments. The class will look at modern deep learning techniques: convolutional neural networks, deep belief networks and deep recurrent neural models such as LSTM nets. Readings and current results from the literature on neural network research will be discussed.