This course introduces the fundamental concepts of data-driven modelling and modern machine learning, with a specific focus on applications in process monitoring, surrogate modelling, and optimization for chemical engineering. Starting from data preprocessing and classical machine learning methods, the course progresses through neural network architectures — including convolutional neural networks — to the construction of surrogate models that can replace expensive numerical simulations. Students learn how to train, evaluate, and deploy ML models for engineering tasks such as process monitoring, anomaly detection, and design optimization.
The course bridges the gap between the physics-based modelling students have encountered in earlier courses (transport phenomena, CFD) and modern data-driven approaches. A distinctive feature is the emphasis on surrogate modelling and ML-based optimization: students learn not only to build predictive models, but also to use trained surrogates as fast, differentiable proxies for simulation-based design and optimization. The course includes computer laboratory sessions with Python (NumPy, pandas, scikit-learn, PyTorch) and a hands-on team project involving the deployment of a trained ML model on physical hardware.
This course introduces the fundamental concepts of data-driven modelling and modern machine learning, with a specific focus on applications in process monitoring, surrogate modelling, and optimization for chemical engineering. Starting from data preprocessing and classical machine learning methods, the course progresses through neural network architectures — including convolutional neural networks — to the construction of surrogate models that can replace expensive numerical simulations. Students learn how to train, evaluate, and deploy ML models for engineering tasks such as process monitoring, anomaly detection, and design optimization.
The course bridges the gap between the physics-based modelling students have encountered in earlier courses (transport phenomena, CFD) and modern data-driven approaches. A distinctive feature is the emphasis on surrogate modelling and ML-based optimization: students learn not only to build predictive models, but also to use trained surrogates as fast, differentiable proxies for simulation-based design and optimization. The course includes computer laboratory sessions with Python (NumPy, pandas, scikit-learn, PyTorch) and a hands-on team project involving the deployment of a trained ML model on physical hardware.
At the end of this course, the student will be able to:
- Understand the main phases of a data-driven modelling workflow: data collection, preprocessing, feature engineering, model training, validation, and testing.
- Select and apply classical machine learning methods (regression, classification, clustering, SVM, ensemble methods) to engineering datasets.
- Apply dimensionality reduction techniques (PCA, PLS) for process monitoring and fault detection.
- Design, implement, and train fully connected and convolutional neural networks using PyTorch.
- Understand the principles of surrogate modelling: replacing expensive physics-based simulations (e.g. CFD) with trained neural networks, and evaluating surrogate accuracy and generalization.
- Formulate and solve optimization problems using trained ML surrogates, including gradient-based optimization through differentiable models.
- Understand the concepts behind generative models (autoencoders, VAE) and their potential for inverse design.
- Critically evaluate the strengths, limitations, and applicability of ML methods in chemical engineering contexts.
- Deploy a trained ML model on physical hardware for real-time inference in a team project setting.
At the end of this course, the student will be able to:
- Understand the main phases of a data-driven modelling workflow: data collection, preprocessing, feature engineering, model training, validation, and testing.
- Select and apply classical machine learning methods (regression, classification, clustering, SVM, ensemble methods) to engineering datasets.
- Apply dimensionality reduction techniques (PCA, PLS) for process monitoring and fault detection.
- Design, implement, and train fully connected and convolutional neural networks using PyTorch.
- Understand the principles of surrogate modelling: replacing expensive physics-based simulations (e.g. CFD) with trained neural networks, and evaluating surrogate accuracy and generalization.
- Formulate and solve optimization problems using trained ML surrogates, including gradient-based optimization through differentiable models.
- Understand the concepts behind generative models (autoencoders, VAE) and their potential for inverse design.
- Critically evaluate the strengths, limitations, and applicability of ML methods in chemical engineering contexts.
- Deploy a trained ML model on physical hardware for real-time inference in a team project setting.
Students should have completed a course in transport phenomena and/or computational fluid dynamics (CFD), providing familiarity with partial differential equations, discretization methods, and numerical simulation of physical systems.
Basic knowledge of the following topics is expected:
- Linear algebra (matrices, eigenvalues, matrix decomposition).
- Calculus and ordinary differential equations.
- Basic programming skills (any language; Python experience is helpful but not required).
- Fundamentals of process control (transfer functions, feedback loops, PID controllers) as covered in a standard undergraduate process control course.
Students should have completed a course in transport phenomena and/or computational fluid dynamics (CFD), providing familiarity with partial differential equations, discretization methods, and numerical simulation of physical systems.
Basic knowledge of the following topics is expected:
- Linear algebra (matrices, eigenvalues, matrix decomposition).
- Calculus and ordinary differential equations.
- Basic programming skills (any language; Python experience is helpful but not required).
- Fundamentals of process control (transfer functions, feedback loops, PID controllers) as covered in a standard undergraduate process control course.
Data-driven modelling: datasets, preprocessing, feature engineering, training/validation/testing, bias-variance tradeoff, cross-validation.
Classical machine learning methods: linear and nonlinear regression, regularization (Ridge, Lasso), logistic regression, decision trees, random forests, ensemble methods, support vector machines.
Dimensionality reduction and latent-variable methods: PCA, PLS, and their application to process monitoring and fault detection (Hotelling's T², SPE statistics, contribution plots).
Neural networks: fully connected architectures, activation functions, backpropagation, gradient descent and modern optimizers, regularization techniques (dropout, batch normalization).
Convolutional neural networks (CNNs): convolution and pooling operations, feature maps, standard architectures, transfer learning. Application to image-based engineering data.
Surrogate modelling: replacing expensive simulations (CFD, FEM) with trained neural networks. Dataset generation strategies, input/output design, accuracy evaluation. CNN surrogates for geometry-to-property prediction.
ML for process monitoring and control: soft sensors, anomaly detection, fault classification. Data-driven models in model predictive control (MPC).
Optimization with ML surrogates: gradient-based and gradient-free optimization, Bayesian optimization, optimizing through a differentiable surrogate, multi-objective optimization and Pareto fronts.
Introduction to generative models: autoencoders, variational autoencoders (VAE), latent spaces, and the concept of inverse design.
Practical project: deployment of a trained ML model on physical hardware (Arduino) for real-time inference, in small teams.
Data-driven modelling: datasets, preprocessing, feature engineering, training/validation/testing, bias-variance tradeoff, cross-validation.
Classical machine learning methods: linear and nonlinear regression, regularization (Ridge, Lasso), logistic regression, decision trees, random forests, ensemble methods, support vector machines.
Dimensionality reduction and latent-variable methods: PCA, PLS, and their application to process monitoring and fault detection (Hotelling's T², SPE statistics, contribution plots).
Neural networks: fully connected architectures, activation functions, backpropagation, gradient descent and modern optimizers, regularization techniques (dropout, batch normalization).
Convolutional neural networks (CNNs): convolution and pooling operations, feature maps, standard architectures, transfer learning. Application to image-based engineering data.
Surrogate modelling: replacing expensive simulations (CFD, FEM) with trained neural networks. Dataset generation strategies, input/output design, accuracy evaluation. CNN surrogates for geometry-to-property prediction.
ML for process monitoring and control: soft sensors, anomaly detection, fault classification. Data-driven models in model predictive control (MPC).
Optimization with ML surrogates: gradient-based and gradient-free optimization, Bayesian optimization, optimizing through a differentiable surrogate, multi-objective optimization and Pareto fronts.
Introduction to generative models: autoencoders, variational autoencoders (VAE), latent spaces, and the concept of inverse design.
Practical project: deployment of a trained ML model on physical hardware (Arduino) for real-time inference, in small teams.
The course is designed for chemical engineering students but is accessible to students from related disciplines with adequate mathematical and programming background. Laboratory sessions use Python-based tools; no prior Python experience is strictly required, as an introductory session is included.
The course is designed for chemical engineering students but is accessible to students from related disciplines with adequate mathematical and programming background. Laboratory sessions use Python-based tools; no prior Python experience is strictly required, as an introductory session is included.
The course combines lectures , computer-based laboratory sessions , and a team-based practical project. Lectures cover the theoretical foundations and the connection between physical modelling and data-driven approaches. Laboratory sessions are held in the computer lab, where students implement ML methods hands-on using Python, scikit-learn, and PyTorch on engineering datasets. The practical project, carried out in teams of 2–3 students, involves training and deploying a machine learning model on a physical or simulated device/microcontroller for real-time inference on a physical system (e.g. sensor-based classification, anomaly detection, or control). TA support is provided during project sessions.
The course combines lectures , computer-based laboratory sessions , and a team-based practical project. Lectures cover the theoretical foundations and the connection between physical modelling and data-driven approaches. Laboratory sessions are held in the computer lab, where students implement ML methods hands-on using Python, scikit-learn, and PyTorch on engineering datasets. The practical project, carried out in teams of 2–3 students, involves training and deploying a machine learning model on a physical or simulated device/microcontroller for real-time inference on a physical system (e.g. sensor-based classification, anomaly detection, or control). TA support is provided during project sessions.
Main references (selected chapters):
- S.L. Brunton and J.N. Kutz, *Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control*, 2nd edition, Cambridge University Press, 2022.
- I. Goodfellow, Y. Bengio, and A. Courville, *Deep Learning*, MIT Press, 2016. Freely available at https://www.deeplearningbook.org.
- A. Géron, *Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow*, 3rd edition, O'Reilly, 2022.
Lecture slides and curated reading lists will be made available through the course platform. Curated code repositories with Jupyter notebooks, datasets, and laboratory templates will be provided for reproducible exercises.
Main references (selected chapters):
- S.L. Brunton and J.N. Kutz, *Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control*, 2nd edition, Cambridge University Press, 2022.
- I. Goodfellow, Y. Bengio, and A. Courville, *Deep Learning*, MIT Press, 2016. Freely available at https://www.deeplearningbook.org.
- A. Géron, *Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow*, 3rd edition, O'Reilly, 2022.
Lecture slides and curated reading lists will be made available through the course platform. Curated code repositories with Jupyter notebooks, datasets, and laboratory templates will be provided for reproducible exercises.
Slides; Libro di testo; Materiale multimediale ;
Lecture slides; Text book; Multimedia materials;
Modalita di esame: Prova scritta (in aula);
Exam: Written test;
...
The assessment consists of a written exam and a group project.
The written exam evaluates the theoretical and methodological knowledge acquired during the course. It includes short-answer questions and exercises covering data preprocessing, classical ML methods, PCA/PLS, neural network architectures, surrogate modelling, and optimization concepts. Duration: 90 minutes. Textbooks and notes are not permitted; an equation sheet provided by the instructor is allowed. The written exam accounts for 70% of the final grade (maximum: 21/30).
The group project evaluates the ability to design, implement, and deploy a machine learning solution on physical hardware. Each team (2–3 students) delivers a working demo and a short written report documenting the approach, implementation choices, results, and limitations. The project accounts for 30% of the final grade (maximum: 9/30).
The final grade is the sum of the written exam and project scores. The exam is passed if the total is at least 18/30 and neither component is below a minimum threshold (written ≥ 12/21; project ≥ 5/9). A grade of 30/30 with honors (lode) may be awarded when the total is 30 or above and the student demonstrates exceptional understanding in both components.
Gli studenti e le studentesse con disabilita o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unita Special Needs, al fine di permettere al/la docente la declinazione piu idonea in riferimento alla specifica tipologia di esame.
Exam: Written test;
The assessment consists of a written exam and a group project.
The written exam evaluates the theoretical and methodological knowledge acquired during the course. It includes short-answer questions and exercises covering data preprocessing, classical ML methods, PCA/PLS, neural network architectures, surrogate modelling, and optimization concepts. Duration: 90 minutes. Textbooks and notes are not permitted; an equation sheet provided by the instructor is allowed. The written exam accounts for 70% of the final grade (maximum: 21/30).
The group project evaluates the ability to design, implement, and deploy a machine learning solution on physical hardware. Each team (2–3 students) delivers a working demo and a short written report documenting the approach, implementation choices, results, and limitations. The project accounts for 30% of the final grade (maximum: 9/30).
The final grade is the sum of the written exam and project scores. The exam is passed if the total is at least 18/30 and neither component is below a minimum threshold (written ≥ 12/21; project ≥ 5/9). A grade of 30/30 with honors (lode) may be awarded when the total is 30 or above and the student demonstrates exceptional understanding in both components.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.