This course provides a practical introduction to deep neural networks (DNN) with the goal to extend student’s understanding of the latest and cutting-edge technology and concepts in deep learning (DL) field. DNNs are simplified representation of neurons in the brain that are suited in complex applications, such as natural language processing (NLP), computer vision (CV), speech processing, and many other predictive models rising from non-linear and unstructured data, including text, images, video, audio. The course starts with a brief review of machine learning (ML) and neural networks (NN), including anatomy of neural networks, model evaluation techniques and feature engineering in Python with TensorFlow (TF) and Keras. It then defines and exemplifies the deep learning with convolutional neural networks (CNN), recurrent neural networks (RNN), long-short term memory (LSTM) networks with attention mechanism, generative adversarial networks (GAN) and deep reinforcement learning (DRL), and transfer learning among other key concepts. This is a hands-on course with significant Python coding requirements. Students will apply neural networks to the computer vision (CV) tasks, natural language processing (NLP) tasks, and domains with structured data. Since DL is a rapidly developing field, the course will also rely on recent seminal publications, which students may be asked to reproduce with small scale datasets as an exercise. Prerequisites: Multivariate calculus, linear algebra, probability/statistics; A neural network OR machine learning course: Examples: EN.605.647, EN.625.638, EN.525.670,EN.605.649, EN.705.601, EN.605.646. A working knowledge of Python is assumed. Prior coding experience data munging, numerical linear algebra, ML, and visualization libraries is highly recommended: Example: Python, Numpy, Pandas, ScikitLearn, Matplotlib.
EN.605.647 Neural Networks