Svelare il Pattern di Progettazione delle Reti Neurali Informate dalla Fisica Parte 06

Neural Network Design Pattern Informed by Physics Part 06 Unveiled

Portare la causalità all’addestramento di PINN

Foto di Delano Ramdas su Unsplash

Benvenuti al sesto blog di questa serie, in cui continuiamo il nostro entusiasmante viaggio alla scoperta dei design pattern delle reti neurali informate dalla fisica (PINN)🙌

In questo episodio, parleremo di come portare la causalità nell’addestramento delle reti neurali informate dalla fisica. Come suggerito dal paper che esamineremo oggi: rispettare la causalità è tutto ciò di cui hai bisogno!

Come sempre, iniziamo parlando delle questioni attuali, poi passiamo ai rimedi suggeriti, alla procedura di valutazione e ai vantaggi e svantaggi del metodo proposto. Infine, concluderemo il blog esplorando le potenziali opportunità che ci attendono.

Mentre questa serie continua ad espandersi, la collezione di design pattern di PINN diventa sempre più ricca 🙌 Ecco un’anteprima di ciò che ti aspetta:

Design pattern di PINN 01: Ottimizzazione della distribuzione dei punti residui

Design pattern di PINN 02: Espansione dinamica dell’intervallo di soluzione

Design pattern di PINN 03: Addestramento di PINN con boosting del gradiente

Design pattern di PINN 04: Apprendimento di PINN migliorato dal gradiente

Design pattern di PINN 05: Tuning automatico degli iperparametri

Immergiamoci!

1. Paper in sintesi 🔍

  • Titolo : Rispettare la causalità è tutto ciò di cui hai bisogno per addestrare le reti neurali informate dalla fisica
  • Autore : S. Wang, S. Sankaran, P. Perdikaris
  • Istituti : Università di Pennsylvania
  • Link : arXiv, GitHub

2. Design pattern 🎨

2.1 Problema 🎯

Le reti neurali informate dalla fisica (PINN) rappresentano un grande passo avanti nella combinazione di dati osservativi e leggi fisiche in vari campi. Nella pratica, tuttavia, spesso non riescono a gestire problemi ad alta non linearità, dinamiche multiscala o caotici, e tendono a convergere verso soluzioni errate.

Perché succede questo?

Bene, il problema fondamentale risiede nella violazione della causalità nelle formulazioni di PINN, come rivelato dal paper attuale.

La causalità, nel senso fisico, implica che lo stato in un punto temporale futuro dipende dallo stato nei punti temporali attuali o passati. Nell’addestramento di PINN, tuttavia, questo principio potrebbe non essere valido; queste reti potrebbero essere implicitamente orientate a stimare le soluzioni delle equazioni differenziali alle future fasi prima ancora di risolvere le condizioni iniziali, essenzialmente “saltando in avanti” nel tempo e violando così la causalità.

In contrasto, i metodi numerici tradizionali preservano in modo innato la causalità attraverso una strategia di marcia temporale. Ad esempio, quando si discretizza un’equazione differenziale in tempo, questi metodi assicurano che la soluzione al tempo t sia risolta prima di approssimare la soluzione al tempo t + ∆ t. Pertanto, ogni stato futuro viene costruito in sequenza sui passati risolti, preservando così il principio di causalità.

Questa comprensione del problema ci porta a una domanda intrigante: come possiamo correggere questa violazione della causalità in PINN, portandole in linea con le leggi fisiche fondamentali?

2.2 Soluzione 💡

L’idea chiave qui è di ri-formulare la funzione di perdita di PINN.

In particolare, possiamo introdurre uno schema di pesatura dinamica per tenere conto di diverse contribuzioni della perdita residua della PDE valutata in diversi punti temporali. Vediamolo attraverso delle illustrazioni.

Per semplicità, supponiamo che i punti di collocamento siano uniformemente campionati nel dominio spazio-temporale della nostra simulazione, come illustrato nella figura qui sotto:

La perdita residua totale della PDE viene calcolata su tutti i punti di collocamento e i suoi valori di gradiente vengono utilizzati per guidare l'ottimizzazione dei parametri della rete. (Immagine dell'autore del blog)

Per procedere con un passo di discesa del gradiente, dobbiamo prima calcolare la perdita residua cumulativa della PDE su tutti i punti di collocamento. Un modo specifico per farlo è quello di calcolare prima le perdite relative ai punti di collocamento campionati in istanti di tempo individuali e poi eseguire una “semplice somma” per ottenere la perdita totale. Il passo successivo di discesa del gradiente può quindi essere condotto sulla base della perdita totale calcolata per ottimizzare i pesi del PINN.

Certo, l’ordine esatto di sommazione sui punti di collocamento non influenza il calcolo della perdita totale; tutti i metodi producono lo stesso risultato. Tuttavia, la decisione di raggruppare i calcoli di perdita per ordine temporale è intenzionale, progettata per enfatizzare l’elemento di “temporalità”. Questo concetto è cruciale per la comprensione della strategia di formazione causale proposta.

In questo processo, le perdite residue della PDE valutate in diversi punti temporali sono trattate allo stesso modo, il che significa che tutte le perdite residue temporali vengono contemporaneamente ridotte al minimo.

Tuttavia, questo approccio rischia di violare la causalità temporale del PINN, poiché non impone una regolarizzazione cronologica per la riduzione della perdita residua temporale a intervalli di tempo successivi.

Quindi, come possiamo far aderire il PINN alla precedenza temporale durante la formazione?

Il segreto sta nella pesatura selettiva delle perdite residue temporali individuali . Ad esempio, supponiamo che nell’iterazione corrente vogliamo che il PINN si concentri sull’approssimazione delle soluzioni nell’istante di tempo t₁. Quindi, potremmo semplicemente attribuire un peso maggiore a Láµ£( t₁), che è la perdita residua temporale a t₁. In questo modo, Láµ£( t₁) diventerà un componente dominante nella perdita totale finale e, di conseguenza, l’algoritmo di ottimizzazione si concentrerà sulla riduzione di Láµ£( t₁), che si allinea con il nostro obiettivo di approssimare le soluzioni nell’istante di tempo t₁ per primo.

Attribuendo pesi alle perdite residue temporali in diversi istanti di tempo, possiamo guidare l'ottimizzatore a concentrarsi sulla riduzione della perdita nei nostri istanti di tempo desiderati. (Immagine dell'autore del blog)

Nell’iterazione successiva, spostiamo il nostro focus sulle soluzioni nell’istante di tempo t₂. Aumentando il peso su Láµ£(t₂), diventa il fattore principale nel calcolo della perdita totale. L’algoritmo di ottimizzazione è quindi diretto verso la riduzione di Láµ£(t₂), migliorando la precisione della previsione delle soluzioni a t₂.

(Immagine dell'autore del blog)

Come si può vedere dalla nostra panoramica precedente, variare i pesi assegnati alle perdite residue temporali in diversi istanti di tempo ci consente di dirigere il PINN verso l’approssimazione delle soluzioni nei nostri istanti di tempo scelti.

Quindi, come ciò aiuta ad incorporare una struttura causale nella formazione del PINN? Si scopre che possiamo progettare un algoritmo di formazione causale (come proposto nel paper), in modo che il peso per la perdita residua temporale al tempo t, cioè Láµ£( t ), è significativo solo quando le perdite prima di t (Láµ£( t-1 ), Láµ£( t-2 ), ecc.) sono sufficientemente piccole . Ciò significa effettivamente che la rete neurale inizia a minimizzare Láµ£(t) solo quando ha raggiunto un’accuratezza di approssimazione soddisfacente per i passi precedenti.

Per determinare il peso, il paper propone una formula semplice: il peso ωᵢ è impostato in modo inversamente esponenziale proporzionale alla magnitudo della perdita residua temporale cumulativa di tutte le istanze di tempo precedenti. Ciò garantisce che il peso ωᵢ sarà attivo (cioè con un valore sufficientemente grande) solo quando la perdita cumulativa di tutte le istanze di tempo precedenti è piccola, ovvero il PINN può già approssimare con precisione le soluzioni ai passaggi temporali precedenti. In questo modo si riflette la causalità temporale nella formazione di PINN.

(Immagine dell'autore di questo blog)

Con tutti i componenti spiegati, possiamo mettere insieme l’intero algoritmo di formazione causale come segue:

Illustrazione dell'algoritmo di formazione causale proposto nel paper. (Immagine dell'autore di questo blog)

Prima di concludere questa sezione, ci sono due osservazioni degne di nota:

  1. Il paper suggerisce di utilizzare la magnitudo di ωᵢ come criterio di arresto per la formazione di PINN. In particolare, quando tutti i ωᵢ sono più grandi di una soglia predefinita δ, la formazione può essere considerata completata. Il valore consigliato per δ è 0,99.
  2. La selezione di un valore adeguato per ε è importante. Sebbene questo valore possa essere regolato tramite una sintonizzazione iperparametrica convenzionale, il paper ha raccomandato una strategia di annealing per la regolazione di ε. I dettagli possono essere trovati nel paper originale (sezione 3).

2.3 Perché la soluzione potrebbe funzionare 🛠️

Dinamicamente ponderando le perdite residue temporali valutate in diverse istanze di tempo, l’algoritmo proposto è in grado di guidare la formazione di PINN per approssimare prima le soluzioni PDE ai tempi precedenti, prima ancora di tentare di risolvere la soluzione ai tempi successivi.

Questa proprietà facilita l’incorporazione esplicita della causalità temporale nella formazione di PINN e costituisce il fattore chiave nelle simulazioni potenzialmente più accurate dei sistemi fisici.

2.4 Benchmark ⏱️

Il paper ha considerato un totale di 3 diverse equazioni di benchmark. Tutti i problemi sono problemi in avanti in cui PINN viene utilizzato per risolvere le PDE.

  • Sistema di Lorenz: queste equazioni sorgono nello studio della convezione e dell’instabilità nella convezione atmosferica planetaria. Il sistema di Lorenz presenta una forte sensibilità alle sue condizioni iniziali ed è noto per essere difficile per il PINN vanilla.

  • Equazione di Kuramoto-Sivashinsky: questa equazione descrive la dinamica di vari modelli a onde, come fiamme, reazioni chimiche e onde superficiali. È noto per presentare una vasta gamma di comportamenti caotici spazio-temporali.

  • Equazione di Navier-Stokes: questo insieme di equazioni differenziali parziali descrive il movimento di sostanze fluide e costituisce le equazioni fondamentali della meccanica dei fluidi. Il paper attuale ha considerato un esempio classico di turbolenza decadente bidimensionale in un dominio quadrato con condizioni al contorno periodiche.

Lo studio di benchmark ha dimostrato che:

  • L’algoritmo di formazione causale proposto è stato in grado di ottenere miglioramenti di precisione del 10-100x rispetto allo schema di formazione PINN vanilla.
  • Dimostrato che i PINN dotati di algoritmo di formazione causale possono simulare con successo sistemi altamente non lineari, multi scala e caotici.

2.5 Punti di forza e di debolezza ⚡

Punti di forza 💪

  • Rispetta il principio di causalità e rende la formazione di PINN più trasparente.
  • Introduce miglioramenti significativi di precisione, consentendogli di affrontare problemi che sono rimasti sfuggenti ai PINN.
  • Fornisce un criterio quantitativo pratico per valutare la convergenza della formazione di PINN.
  • Negligibile costo computazionale aggiunto rispetto alla strategia di formazione di PINN vanilla. L’unico costo aggiunto è quello di calcolare i ωᵢ, che è trascurabile rispetto alle operazioni di auto-diff.

Debolezze 📉

  • Introduce un nuovo iperparametro ε, che controlla la pianificazione dei pesi per le perdite residue temporali. Anche se gli autori hanno proposto una strategia di annealing come alternativa per evitare la noiosa taratura degli iperparametri.
  • Complica il flusso di lavoro di addestramento del PINN. Dovrebbe essere prestata particolare attenzione ai pesi temporali ωᵢ, poiché sono ora funzioni dei parametri addestrabili della rete (ad esempio, i pesi e il bias del layer), e il gradiente associato alla computazione di ωᵢ non dovrebbe essere propagato all’indietro.

2.6 Alternative 🔀

Ci sono un paio di metodi alternativi che cercano di affrontare lo stesso problema dell’attuale “algoritmo di addestramento causale”:

  • Strategia di campionamento temporale adattativo (Wight et al.): invece di pesare i punti di collocamento in diversi istanti di tempo, questa strategia modifica la densità di campionamento dei punti di collocamento. Questo ha un effetto simile a spostare il focus dell’ottimizzatore sulla minimizzazione delle perdite temporali in diversi istanti di tempo.
  • Strategia di “marcia temporale” / “addestramento del curriculum” (ad esempio, Krishnapriyan et al.): la causalità temporale è rispettata mediante l’apprendimento della soluzione in modo sequenziale all’interno di finestre temporali separate.

Tuttavia, rispetto a quei metodi alternativi, l ‘”algoritmo di addestramento causale” mette la causalità temporale al centro, è più adattabile a una varietà di problemi e gode di un basso costo computazionale aggiuntivo.

3 Possibili miglioramenti futuri 🌟

Ci sono diverse possibilità per migliorare ulteriormente la strategia proposta:

  • Incorporare strategie di campionamento dati più sofisticate, come metodi di campionamento basati su adattamento e residui, per migliorare ulteriormente l’efficienza e l’accuratezza dell’addestramento.

Per saperne di più su come ottimizzare la distribuzione dei punti di residuo, dai un’occhiata a questo blog nella serie di pattern di progettazione del PINN.

  • Estendere alle impostazioni del problema inverso. Come garantire la causalità quando sono disponibili fonti puntiformi di informazione (ad esempio, dati osservazionali) richiederebbe un’estensione della strategia di addestramento attualmente proposta.

4 Conclusioni 📝

In questo blog, abbiamo esaminato come portare la causalità nell’addestramento del PINN con una riformulazione degli obiettivi di addestramento. Ecco i punti salienti del pattern di progettazione proposto nell’articolo:

  • [Problema]: Come fare in modo che i PINN rispettino il principio di causalità alla base dei sistemi fisici?
  • [Soluzione]: Riformulazione dell’obiettivo di addestramento del PINN, in cui viene introdotto uno schema di pesatura dinamica per spostare gradualmente il focus dell’addestramento dai passaggi temporali precedenti a quelli successivi.
  • [Potenziali vantaggi]: 1. Precisione dei PINN significativamente migliorata. 2. Espansione dell’applicabilità dei PINN a problemi complessi.

Ecco la scheda di progettazione del PINN per riassumere le conclusioni:

PINN design pattern proposed in the paper. (Image by this blog author)

Spero tu abbia trovato utile questo blog! Per saperne di più sui modelli di progettazione del PINN, non esitare a consultare i post precedenti:

  • Pattern di progettazione del PINN 01: Ottimizzazione della distribuzione dei punti di residuo
  • Pattern di progettazione del PINN 02: Espansione dinamica dell’intervallo di soluzione
  • Pattern di progettazione del PINN 03: Addestramento del PINN con gradient boost
  • Pattern di progettazione del PINN 04: Apprendimento del PINN migliorato dal gradiente
  • Pattern di progettazione del PINN 05: Taratura degli iperparametri per PINN

Non vedo l’ora di condividere ulteriori approfondimenti con te nei prossimi blog!

Riferimenti 📑

[1] Wang et al., Rispettare la causalità è tutto ciò di cui hai bisogno per addestrare le reti neurali informatiche nelle scienze fisiche, arXiv, 2022.