Skip to content

PredictiveIntelligenceLab/ENM-5310

Repository files navigation

ENM 5310: Data-driven Modeling and Probabilistic Scientific Computing

Course Description

We will revisit classical scientific computing from a statistical learning viewpoint. In this new computing paradigm, differential equations, conservation laws, and data act as complementary agents in a predictive modeling pipeline. This course aims explore the potential of modern machine learning as a unifying computational tool that enables learning models from experimental data, inferring solutions to differential equations, blending information from a hierarchy of models quantifying uncertainty in computations, and efficiently optimizing complex engineering systems.

Specific topics to be covered span recent developments in supervised and unsupervised learning: nonlinear regression/classification with deep neural networks, multi-fidelity modeling and computation under uncertainty using Gaussian processes, Bayesian optimization, convolutional and recurrent neural networks, model reduction using principal component analysis, variational auto-encoders, and probabilistic latent variable models. The effectiveness of these tools will be demonstrated through several engineering applications including examples in fluid dynamics, heat transfer, design optimization, and modeling of cardiovascular flows.

Course prerequisites

  • Basic Calculus and Linear Algebra (MATH 240 or MATH 513 or ENM 240)
  • Basic Statistics and Probability (MATH 430 or ENM 321 or ENM 503)
  • Scientific computing in Python

Software used in class

  • A Python 3 distribution configured for scientific computing. The simplest way to set this up is by installing the Anaconda distribution.
  • JAX. Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPUs, and more.
  • Jupyter notebook. You will need this in order to follow some of the in-class tutorials.
  • Git. You will need this in order to download and stay in sync with the latest code we will develop in class.
  • Google Colab. Sign in with your Penn Gmail account. Provides free access to GPU and TPU cloud computing resources.

Course Learning Objectives

Students will leave this course with experience in:

  • Analyzing and synthesizing data towards enhancing their understanding and ability to model physical, biological, and engineering systems.
  • Hands-on skills on a broad class of machine learning tools enabling them to construct structured prediction models, propagate and quantify uncertainty, perform sensitivity analysis, and optimize systems of realistic complexity.
  • Applications of these tools spanning a diverse set of engineering disciplines, including fluid dynamics, heat transfer, mechanical design, and biomedical engineering.

Teaching Assistants

Please consult the TA regarding issues related to setting up your computing enviroment, code design, implementation, and execution.

TA: Cyril Palathinkal

Grader: TBD

Note

This syllabus is a work in progress. The lesson plan is subject to change depending on the progress and overall class performance.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published