Physics-Informed Neural Network: cosa sono e in quale contesto si applicano

Machine Learning e Deep Learning sono ormai largamente utilizzati in diversi ambiti, incluso quello scientifico. Ma, con riferimento a quest’ultimo, possiamo essere sicuri che un algoritmo sia in grado di “comprendere” i problemi scientifici che esso dovrebbe essere in grado di risolvere? Spieghiamo cosa sono le cosiddette PINN e perché sono indicate più di altre tipologie di reti neurali per problemi di questo tipo

Pubblicato il 29 Nov 2022

Guglielmo Iozzia

Associate Director - ML/AI/Computer Vision presso MSD

Physics-informed_nerural_networks

Machine learning (ML) e Deep learning (DL) hanno provocato un radicale cambiamento del metodo scientifico. Tradizionalmente la ricerca scientifica era basata soprattutto su un approccio teorico e sperimentale. Il rapido progresso di ML/DL negli ultimi 15 anni circa, accelerato soprattutto grazie a una maggiore disponibilità di dati scientifici (ma anche da altri fattori, quali ad esempio la riduzione dei costi di calcolo e storage o in molti casi, anche maggiori investimenti per la ricerca), ha favorito il sopravvento di approcci di tipo data-driven.  Come possiamo essere sicuri che un algoritmo sia in grado di “comprendere” i problemi scientifici che esso dovrebbe essere in grado di risolvere? Spieghiamo allora cosa sono le cosiddette Physics-Informed Neural Network (PINN) e perché sono indicate più di altre tipologie di reti neurali per problemi di questo tipo.

Physics-Informed Neural Network: cosa sono

A differenza dell’approccio tradizionale, non è necessaria una teoria di partenza, in quanto un algoritmo di ML/DL può essere utilizzato per analizzare un problema scientifico basandosi solamente sui dati. Ma questo tipo di approccio può risultare accurato per qualsiasi problema scientifico? Per trovare una risposta a questa domanda, prendiamo in esame un problema di fisica abbastanza semplice: un oscillatore armonico smorzato rappresentato dal moto di un corpo agganciato a una molla. Un caso quindi di moto armonico non ideale in cui interviene la forza di attrito, la quale fa sì che, col trascorrere del tempo, l’ampiezza delle oscillazioni si riduca sempre di più fino a quando il corpo non avrà raggiunto la sua posizione di equilibrio:

Physics-Informed Neural Network

Immaginiamo di disporre di un set di dati sperimentali e di non conoscere le leggi fisiche alla base del sistema in esame e proviamo a predire nuovi dati a partire da quelli disponibili utilizzando un approccio di tipo DL esclusivamente data-driven. Per rendere l’esempio quanto più realistico possibile, supponiamo di avere un dataset per il training costituito da poche decine o poche centinaia di campioni non etichettati (situazione in cui ci si può trovare di fronte di frequente in ambito scientifico). Eseguendo il training di un modello di rete neurale usando esclusivamente i dati a disposizione, si ottengono i risultati illustrati nel diagramma seguente:

Physics-Informed Neural Network

La curva in grigio è la soluzione esatta, a partire da determinate condizioni iniziali e al contorno, del sistema di equazioni differenziali che rappresenta il sistema in esame, in questo esempio riportata solamente allo scopo di poter eseguire la comparazione con i risultati prodotti dal modello di DL. I punti in arancio rappresentano i dati sperimentali che compongono il dataset disponibile per il training della rete neurale. La curva in blu rappresenta le predizioni della rete neurale addestrata per questo problema. Come si può facilmente notare, le previsioni del modello coincidono perfettamente con le soluzioni reali in un intervallo di tempo vicino a quello dei dati sperimentali e successivamente divergono rapidamente dai risultati attesi. Il motivo di questo comportamento è dovuto al fatto che l’apprendimento a partire da soli dati non tiene conto delle leggi fisiche che regolano il sistema in esame.

Come fare quindi per rendere una rete neurale quanto più accurata possibile in problemi scientifici come questo? Ecco che entrano in gioco le cosiddette Physics-Informed Neural Network (PINN), che sono basate su un’idea concettualmente semplice: aggiungere le equazioni differenziali che regolano un dato sistema fisico nel calcolo delle perdite (loss) durante la fase di apprendimento. La figura seguente riassume a grandi linee come avviene la fase di training di una rete neurale:

Physics-Informed Neural Network

Il training è un processo iterativo. Durante ogni step, i dati del training set vengono passati in input e tale informazione viene propagata in avanti attraverso i vari strati della rete neurale, fino a quello di output, dove una predizione viene prodotta. Quest’ultima viene quindi comparata con il valore reale aspettato per quel determinato input e uno score, detto perdita (loss), che rappresenta appunto lo scostamento della predizione rispetto al valore reale e che viene calcolato tramite la loss function scelta per la rete sotto training. Quest’ultimo viene infine dato in pasto ad una funzione cosiddetta Optimizer, che ha il compito di adeguare i pesi della rete neurale, in modo da cercare di minimizzarne la loss (e di conseguenza migliorarne le prestazioni) allo step successivo. Il “trucco” con le PINN sta quindi nel calcolo della loss: questa, infatti non viene calcolata solamente in relazione ai dati sperimentali, ma sommandola con quella derivante dal calcolo delle equazioni differenziali che descrivono il sistema in esame. In pratica, la rete neurale imparando a risolvere equazioni differenziali acquisisce una sorta di “conoscenza” scientifica del problema che le é stato assegnato. Possiamo quindi schematizzare il meccanismo di training di una Physics-Informed Neural Network nel seguente modo:

Physics-Informed Neural Network

Tornando all’esempio dell’oscillatore armonico smorzato: il passaggio del training della rete neurale da data-driven only a physics-informed produce i seguenti risultati:

Physics-Informed Neural Network

Dal diagramma sopra si può notare come le due curve (soluzione esatta del problema e predizione della PINN) coincidano perfettamente.

I principali framework per il DL in Python, quali TensorFlow e PyTorch, sono già provvisti di tutti i componenti necessari per l’implementazione di PINN (sono le stesse API normalmente utilizzate per l’implementazione e il training di qualsiasi modello di rete neurale): i Data Scientist quindi possono concentrare i loro sforzi principalmente nell’identificazione del modello matematico e relative equazione differenziali che descrivono il sistema in esame, senza dover imparare ad usare nuovi strumenti di programmazione/calcolo.

Physics-Informed Neural Network: casi d’uso

Come accennato nel paragrafo precedente, non di rado può capitare che per alcuni problemi scientifici la disponibilità di dati sperimentali sia limitata e/o tali dati siano non etichettati, rendendo così difficile il ricorso al DL, in quanto le reti neurali richiedono dataset non piccoli e comunque dati di qualità. Quindi, in base alla quantità/qualità dei dati disponibili, prima dell’avvento delle PINN si doveva perseguire una fra due strategie mutualmente esclusive: ricorrere an un approccio basato solo sui principi fondamentali della fisica (caso di dati non abbondanti e/o non etichettati) o basati solo su DL (dati abbondanti):

Physics-Informed Neural Network

Le Physics-Informed Neural Network, quindi, mettono insieme i due mondi in un approccio unificato (dati + fisica).

Nonostante il nome, in realtà le PINN possono essere usate in casi non strettamente legati all’ambito della fisica: altri sistemi che possono essere descritti tramite un sistema non lineare di equazioni differenziali parziali si prestano a questo tipo di approccio.

I primi casi di applicazione di PINN sono stati implementati relativamente a casi di process simulation nell’ambito della fluidodinamica computazionale, ampiamente utilizzata nelle industrie chimica, farmaceutica, aereonautica e automobilistica, per citarne alcune, ma successivamente anche in casi più complessi in ambito biomedico, relativi ad esempio a casi non banali di emodinamica, cioè l’analisi del comportamento del sangue in movimento attraverso i vasi. Particolarmente attiva attualmente la ricerca di applicazioni PINN in ambito dinamica molecolare e scoperta di nuovi materiali (di particolare interesse soprattutto in ambito farmaceutico, insieme a tante altre applicazioni di DL per l’accelerazione dei processi di Drug Discovery).

Le Physics-Informed Neural Network hanno trovato terreno fertile anche nel settore dell’energia: particolarmente degna di nota una iniziativa del Dipartimento dell’Energia degli Stati Uniti atta a creare un gemello digitale per la progettazione di apparecchiature energeticamente efficienti e a bassissima emissione di CO2, che è stato presentato recentemente alla conferenza NVIDIA GTC 2022.

Physics-Informed Neural Network

Conclusioni

Le Physics-Informed Neural Network attualmente rappresentano una strategia interessante per problemi in ambito scientifico che altrimenti presenterebbero serie difficoltà dovute o alla mancanza di dati sperimentali di qualità o alla complessità delle leggi che regolano il sistema reale che si vuole studiare e dei modelli matematici che le rappresentano. Esse sono state il primo tentativo di combinazione di DL con principi fisici e si ha evidenza della loro validità in casi d’uso in diversi ambiti, ma allo stesso tempo in alcuni altri hanno evidenziato dei limiti che sono stati per la maggior parte superati implementando ulteriori specializzazioni di reti neurali che insieme alle architetture di tipo PINN fanno parte della cosiddetta Scientific Machine Learning.

Un futuro articolo dettaglierà le varie famiglie di reti neurali appartenenti a questa categoria.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3