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 textbook An Introduction to the Analysis of Algorithms by Robert Sedgewick and Phillipe Flajolet overviews the primary techniques used in the mathematical analysis of algorithms.
The textbook Analytic Combinatorics by Philippe Flajolet and Robert Sedgewick enables precise quantitative predictions of the properties of large combinatorial structures.