Differentiable Programming for Data-driven Modeling, Optimization, and Control
Abstract:
This talk will present a different programming perspective on physics-informed machine learning (PIML). Specifically, we will discuss the opportunity to develop a unified PIML framework for digital twins of dynamical systems, learning to optimize, and learning to control methods. We demonstrate the performance of these emerging PIML methods in a range of engineering case studies, including modeling of networked dynamical systems, robotics, building control, and dynamic economic dispatch problem in power systems.
Bio:
Jan is an incoming associate professor in the Department of Civil and Systems Engineering and the Ralph S. O’Connor Sustainable Energy Institute (ROSEI) at Johns Hopkins University (JHU). And currently works as a senior data scientist in the Physics and Computational Sciences Division at Pacific Northwest National Laboratory (PNNL). Jan has a PhD in Control Engineering from the Slovak University of Technology in Bratislava, Slovakia, and before joining PNNL, he was a postdoc at the mechanical engineering department at Katholieke Universiteit (KU) Leuven in Belgium. His current research is focused on physics-informed machine learning for dynamical systems, constrained optimization, and model-based optimal control with applications in the energy sector.
Summary:
Motivation: Simulation for decision making and scientific discovery
Want to improve efficiency and scalability to make them usable in closed-loop control and decision making
But simulations are too slow for live control
Spectrum:
White-box models: physics-based, more domain knowledge, rarely differentiable
Gray-box models
Black-box models: less domain models, data-driven, usually differentiable
Heterogeneous solution methods and tools
Constrained optimization (most domain knowledge): Gurobi, PyOMPO, JUMP, Gekko, CVXPY, CasADi
Differential equations (knowledge of physics): Matlab, DifferentialEquations.jl, SciPy, PETSc, Tao, NWChem
Supervised learning (human labeling): PyTorsh, TensorFlow, Flux, JFX, Gym
Reinforcement learning (least domain knowledge): same
Relevant Techniques:
Differentiable Programming
Learning to Solve
Learning to Optimize
Learning to Model
Learning to Control
Coherent algorithmic framework for SciML
Sampling methods
ML component
‘... (14m)
Example: Learning to Solve: Physics-informed Neural Networks (PINNs)
Sample points in PDE domain
Apply neural network on points
Evaluate candidate solutions with target PDE equation (Differentiable)
Evaluate loss
Back-propagate to neural network
Trained neural network is forward solver for the problem
Example: Learning to Optimize with Constraints
Problem parameters
Apply neural network to generate candidate solution
Differentiable optimization solver that fine-tunes neural network’s candidate solution (usually a simpler, more efficient solver, sometimes a full solver) optimality
Lagrangian loss
Back-propagate to neural network
Trained neural network is a fast optimizer
Example: Learning to Model
Training data
Neural network + Differentiable Time-stepper
System identification loss (difference between real and predicted trajectories)
Back-propagate to neural network
Trained neural network is good predictive forecaster
Example: Learning to Control
Control parameters
Neural policy
Differentiable System Model that reflects policy’s actions
Evaluate Loss/Reward
Back-propagate to neural network
Trained neural network effectively controls system to maximize reward
NeuroMANCER Scientific ML Library: https://github.com/pnnl/neuromancer