This course will provide an overview of deep learning techniques with engineering applications. Topics covered include: neural network architectures (CNNs, RNNs, and more.)
This course will provide an overview of deep learning techniques with engineering applications. Topics covered include: neural network architectures (CNNs, RNNs, and more.); model training and regularization; data augmentation; transfer learning; generative models; Ethics and fairness will play a prominent role in the course discussions. The course will follow an applied approach through several skill building assignments and a team-based project.
- Understand basic principles of artificial neural networks.
- Understand advances that have enabled modern deep neural networks (regularization, optimization, autodifferentiation, GPU-based parallelization, novel architectural formalisms).
- Understand deep network architectures for sequential data processing (e.g., recurrent networks for speech or text), multidimensional data processing (e.g., convolutional networks for images), and generating new data (e.g., autoencoders and generative adversarial networks).
- Understand various methods for benchmarking and evaluation of predictive models as well as diagnosing and explaining predictions.
- Apply the above principles and tools such as Python, NumPy, Matplotlib and PyTorch to a variety of data-driven engineering application use cases.
- Understand and appreciate the ethical implications of machine learning
- Learn how to lead successful machine learning projects.