Machine Learning for Computational Engineering

Machine learning for computational engineering is an emerging field in applied mathematics. Machine learning for computational engineering aims at using machine learning methods to solve scientific computing problems. I am particularly interested in studying the applicability of deep neural networks as function approximators for reconstructing unknown fields or relations within a physical system.

My perspective view on machine learning for computational engineering is that we should use the known physical laws to the largest extent and only substitute the unknown components with deep neural networks (or any other machine learning tools) when necessary. This requires us to couple the deep neural networks with physical laws (typically described by partial differential equations). This methodology allows us to train deep neural networks with small data (in many science and engineering problems, we do not have sufficient data to train deep neural networks end-to-end).

Technically, it is desirable to leverage efficient numerical PDE methods (e.g., finite element methods) that have been developed over the last half century. Here comes my research: a general framework to back-propagate gradients through both deep neural networks and numerical PDE solvers. See the ADCME page for more information.

Research Papers

Here are some papers that I authored (or co-authored) related to my methodology:


ADCME Software

Application: Solid Mechanics

Application: Geophysics

Application: Fluid Dynamics

Application: Stochastic Processes

Fractional PDE