# CS551: Introduction to Deep Learning

This course will provide a basic understanding of deep learning and how to solve problems from varied domains. Open source tools will be used to demonstrate different applications.

## Class timings

- Monday - 0800-0900
- Tuesday - 0800-0900
- Wednesday - 1700-1800

## Syllabus

Brief introduction of big data problem. Overview of linear algebra, probability, numerical computation. Basics of Machine learning/Feature engineering. Neural network. Tutorial for Tools. Deep learning network - Shallow vs Deep network, Deep feedforward network, Gradient based learning - Cost function, soft max, sigmoid function, Hidden unit - ReLU, Logistic sigmoid, hyperbolic tangent Architecture design, SGD, Unsupervised learning - Deep Belief Network, Deep Boltzmann Machine, Factor analysis, Autoencoders. Regularization. Optimization for training deep model. Advanced topics - Convolutional Neural Network, Recurrent Neural Network/ Sequence modeling, LSTM, Reinforcement learning. Practical applications – Vision, speech, NLP, etc.

## Books

- Ian Goodfellow, Yoshua Bengio and Aaron Courville, “Deep Learning”, Book in preparation for MIT Press, 2016. (available online)
- Jerome H. Friedman, Robert Tibshirani, and Trevor Hastie, “The elements of statistical learning”, Springer Series in Statistics, 2009.
- Charu C Aggarwal, “Neural Networks and Deep Learning”, Springer.

## Slides

- Introdution to Keras - Presented by Niraj

## Additional Reading Materials

- Matrix differentiation by Randal J. Barnes, Department of Civil Engineering, University of Minnesota, Minneapolis, Minnesota, USA