This course will introduce the student to classic neural network structures, Convolution Neural Networks (CNN), Long Short-Term Memory (LSTM), Gated Recurrent Neural Networks (GRU), General Adversarial Networks (GAN) and reinforcement learning. Application of these architectures to computer vision, time series, security, natural language processing (NLP), and data generation will be covered. High Performance Computing (HPC) aspects will demonstrate how deep learning can be leveraged both on graphical processing units (GPUs), as well as grids. Focus is primarily upon the application of deep learning to problems, with some introduction to mathematical foundations. Students will use the Python programming language to implement deep learning using Google TensorFlow and Keras.
The program focused on the following four themes:
- Optimization: How and why can deep models be fit to observed (training) data?
- Generalization: Why do these trained models work well on similar but unobserved (test) data?
- Robustness: How can we analyze and improve the performance of these models when applied outside their intended conditions?
- Generative methods: How can deep learning be used to model probability distributions?