Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

No8 - PINNs

Physics-Informend Neural Networks (PINNs)

Fecha: 06/05/2026

Optimización con restricciones y dualidad lagrangiana

Muchos de los problemas que hasta ahora trabajamos parecieran tratar de minimizar la función de costo sin restricciones; por ejemplo, cuadrados mínimos:

minθL(θ,y)=minθi=1Nyix(ti,θ)22(1)\min_{\theta} \mathcal{L} (\theta,y)=\min_{\theta}\sum_{i=1}^{N} \left\|\left\| y_i - x(t_i,\theta) \right\| \right\|_2^2 \qquad (1)

donde L\mathcal{L} es la función de costo.

Podemos reescribir esto como un problema con restricciones, dejando a xx libre pero exigiendo que satisfaga una ecuación diferencial:

minθ,xi=1Nyix(ti)22sujeto a{dxdt=f(x,t,θ)x(t0)=x0\min_{\theta,x} \sum_{i=1}^{N} \left\|\left\| y_i - x(t_i) \right\| \right\|_2^2 \quad \text{sujeto a} \quad \begin{cases} \dfrac{dx}{dt} = f(x,t,\theta) \\ x(t_0)=x_0 \end{cases}

Es decir, estamos convirtiendo

minθf(x(θ))\min_{\theta} f(x(\theta))

en

minθ,xf(x,θ)sujeto aG(x,θ)=0\min_{\theta,x} f(x,\theta) \quad \text{sujeto a} \quad G(x,\theta)=0

Si uno puede invertir G(x,θ)G(x,\theta) para obtener x=x(θ)x=x(\theta) (ya sea analítica o numéricamente), volvemos al problema sin restricciones.

En este caso,

G(x,θ)=[dudtf(u,t,θ)u(t0)u0]=0G(x,\theta)= \begin{bmatrix} \dfrac{du}{dt} - f(u,t,\theta) \\ u(t_0)-u_0 \end{bmatrix} =0

Esto se hace con el solver numérico.


Forma general del problema de optimización

La forma más general del problema de optimización puede escribirse como:

minθf(θ)\min_{\theta} f(\theta)

sujeto a

{g(θ)=0h(θ)0\begin{cases} g(\theta)=0 \\ h(\theta)\leq 0 \end{cases}

La diferencia entre resolver estos problemas con y sin restricciones es debido a la dualidad lagrangiana.


Dualidad lagrangiana

La dualidad lagrangiana toma un problema con restricciones y lo transforma en uno sin restricciones mediante mediante el metodo de los multiplicadores de Lagrange.

Se define el lagrangiano:

L(θ,λ,ν)=f(θ)+λg(θ)+νh(θ)\mathcal{L}(\theta,\lambda,\nu) = f(\theta) + \lambda g(\theta) + \nu h(\theta)

donde:


Imaginemos un problema sin restricciones hh. La dualidad lagrangiana nos dice, bajo ciertas hipótesis (dualidad fuerte) (Boyd & Vandenberghe (2004)):

maxλminθL(θ,λ)=minθmaxλL(θ,λ)\max_{\lambda}\min_{\theta}\mathcal{L}(\theta,\lambda)=\min_{\theta}\max_{\lambda}\mathcal{L}(\theta,\lambda)

Ejemplo: Lasso

Consideremos el problema de optimización:

minθyxθ22+λθ1\min_{\theta} \left\| \left\| y - x \theta \right\| \right\|_2^2 + \lambda \left\| \left\| \theta \right\| \right\|_1

donde:

Recordemos que

θ1=i=1pθi\left\| \left\| \theta \right\| \right\|_1=\sum_{i=1}^{p} \left\| \left\| \theta_i \right\| \right\|

Entonces puede mostrarse que el θ\theta^\ast que minimiza:

θ=argminθyxθ22+λθ1\theta^\ast= \arg\min_{\theta} \left\| \left\| y- x\theta \right\| \right\|_2^2 + \lambda \left\| \left\| \theta \right\| \right\|_1

puede reinterpretarse como

θ=argminθyxθ22sujeto aθ1C(λ)\theta^\ast = \arg\min_{\theta} \left\| \left\| y-x\theta \right\| \right\|_2^2 \quad \text{sujeto a} \quad \left\| \left\| \theta \right\| \right\|_1 \leq C(\lambda)

Por lo cual, la dualidad lagrangiana nos asegura que un problema de minimización de un lagrangiano puede reescribirse como un problema de optimización con restricciones.

Notar que si nuestro λ0\lambda \rightarrow 0 entonces la constante CC \rightarrow \infty. Esto puede interpretarse como que si no restringimos demasiado nuestras soluciones a que cumplan nuestros vínculos, entonces habrá más libertad para los valores θ\theta que se puedan obtener, logrando que CC sea muy grande; análogo ocurre para el caso extremo opuesto. Es decir, notamos que la dependencia entre λ\lambda y CC es inversa.


Problema relajado

Hay posibilidad de “relajar” la función de costo con un factor ε\varepsilon. Por ejemplo, tomemos el problema (1) y escribámoslo como:

minθ,xL(θ,x)=(3)\min_{\theta,x} \mathcal{L}(\theta,x)= \qquad (3)

sujeto a

dxdtf(x,t,θ)2εt\left\| \left\| \frac{dx}{dt} - f(x,t,\theta) \right\| \right\|_2 \leq \varepsilon \qquad \forall t

y

x(t0)u02ε\left\| \left\| x(t_0)-u_0 \right\| \right\|_2 \leq \varepsilon

donde recuperamos el problema (1) si ε=0\varepsilon=0 (es decir, si la ecuación diferencial se cumple exactamente). Una pregunta natural sería ¿de qué lagrangiano proviene esta restricción? Por dualidad lagrangiana, puede mostrarse que:

minθ,xL(θ,x)+λεt0t1dxdtf(x,t,θ)22dt(4)\min_{\theta,x} \mathcal{L}(\theta,x)+ \lambda_{\varepsilon} \int_{t_0}^{t_1} \left\| \left\| \frac{dx}{dt} -f(x,t,\theta) \right\| \right\|_2^2 dt \qquad (4)

El segundo término actúa como un término de regularización con derivadas (en el caso clásico de estadística esto corresponde a un “profiling”). Asimismo, vemos que si ε0\varepsilon \rightarrow 0 entonces λε\lambda_\varepsilon \rightarrow \infty y viceversa. Esta forma tiene la misma (o similar) que resolver mediante “splines” o “smooth splines”, solo que allí se utilizan las derivadas segundas.

La ecuación (4) constituye el punto de partida para una PINN (Physics-Informed Neural Network).

Physics-Informed Neural Networks (PINNs)

Las PINNs fueron introducidas recientemente por Raissi, Perdikaris y Karniadakis en el siguiente trabajo: Raissi et al. (2019).

Caso ODE

La idea es agarrar el “profiling” y nuestras incógnitas a optimizar (x(t)x(t)) usando una red neuronal. Es decir, cambiamos nuestra x(t)x(t) por:

xβ(t)x_\beta(t)

donde β\beta representa el conjunto de parámetros de la red neuronal:

β=[W1,,Wn,b1,,bn]\beta = [W_1,\dots,W_n,b_1,\dots,b_n]

por lo cual, con esto, lo ponemos en la ecuación diferencial y optimizamos sobre los parámetros de la red neuronal. Por ejemplo, una red neuronal puede escribirse como:

x(t)=σ(W3σ(W2σ(W1t)+b2)+b3)x(t) = \sigma \left( W_3 \sigma \left( W_2 \sigma(W_1 t)+b_2\right) +b_3 \right)

Para construir la función de costo necesitamos:

  1. Poder evaluar xβ(t)x_\beta(t) para todo tt.

  2. Poder evaluar

dxβdtt=s\frac{dx_\beta}{dt}\Big|_{t=s}

para cualquier ss.


Modo 1: PINN forward/directo

En este caso, θ\theta permanece fijo y no se optimiza.

Una vez obtenida x(t)x(t), la introducimos en el segundo término de la ecuación (4).

Tomamos puntos de prueba:

t0<z1<z2<<zk<<t1t_0 < z_1 < z_2 < \dots < z_k < \dots < t_1

y definimos la función de costo:

minβx(t0)x022+λ~k=1K(dxβdtf(x,t,θ))t=xk2\min_{\beta} \left\| \left\| x(t_0)-x_0\right\| \right\|_2^2 + \tilde{\lambda} \sum_{k=1}^{K} \left\| \left\| \left( \frac{dx_\beta}{dt} - f(x,t,\theta) \right)_{t=x_k} \right\| \right\|^2

La suma actúa como una aproximación de la integral.


Esto es equivalente a utilizar una red neuronal como solver numérico.


Ejemplo: ecuación del calor

Consideremos:

xRn,tR,(n=1,2,3)x \in \mathbb{R}^n, \qquad t \in \mathbb{R}, \qquad (n=1,2,3)

La ecuación del calor es:

utD2u=0\frac{\partial u}{\partial t} - D \nabla^2 u = 0

donde DD es la difusividad y 2=x+y+z\nabla^2 = \frac{\partial}{\partial x} + \frac{\partial}{\partial y} + \frac{\partial}{\partial z} es el laplaciano.

La ecuación debe satisfacerse para:

xΩ,t[t0,t1]\forall x\in\Omega, \qquad \forall t\in[t_0,t_1]

con la condición de borde:

u(x,t)=uB(x,t)xΩu(x,t)=u_B(x,t) \qquad \forall x\in\partial\Omega

y su condición inicial:

u(x,t0)=u0(x)u(x,t_0)=u_0(x)

Vamos a considerar una parametrización para el borde espacial, otra para la condición inicial y finalmente para los puntos del interior. Podemos visualizar esto en el siguiente diagrama

Las cruces simbolizan la parametrización del borde espacial, los círculos el borde temporal, y los triángulos los puntos del interior.

Las cruces simbolizan la parametrización del borde espacial, los círculos el borde temporal, y los triángulos los puntos del interior.

Función de costo total

La función de costo a minimizar sobre los parámetros β\beta es:

minβ  λ1i=1K1uβ(t0,xiI)u0(xiI)2+λ2j=1K2uβ(tjB,xjB)uB(tjB,xjB)2+λ3m=1K3G[uβ]tM,xM22\min_{\beta} \; \lambda_1 \sum_{i=1}^{K_1} \left\| \left\| u_\beta(t_0, x_i^I) - u_0(x_i^I) \right\| \right\|^2 + \lambda_2 \sum_{j=1}^{K_2} \left\| \left\| u_\beta(t_j^B, x_j^B) - u_B(t_j^B, x_j^B) \right\| \right\|^2 + \lambda_3 \sum_{m=1}^{K_3} \left\| \left\| \mathcal{G}[u_\beta] \Big|_{t_M, x_M} \right\| \right\|_2^2
Linicial+Lborde+Lfıˊsico\equiv \mathcal{L}_{\text{inicial}} + \mathcal{L}_{\text{borde}} + \mathcal{L}_{\text{físico}}
  • Los círculos representan u0(xiI)u_0(x_i^I), con II = Inicial.

  • Las cruces a uB(tjB,xjB)u_B(t_j^B, x_j^B), y BB = Borde.

  • Los triángulos representan a G[uβ]tM,xM\mathcal{G}[u_\beta] \Big|_{t_M, x_M}, donde MM = puntos de colocación.


Arquitectura de la red y funciones de costo

La red neuronal recibe como entradas t,x1,,xnt, x_1, \ldots, x_n y produce una salida escalar uβ(t,x)u_\beta (t,x). A partir de esa salida se computan tres cantidades:

OperaciónResultadoFunción de costo asociada
Id\text{Id}uβu_\betaLinicial\mathcal{L}_{\text{inicial}}
t\frac{\partial}{\partial t}uβt\dfrac{\partial u_\beta}{\partial t}Lborde\mathcal{L}_{\text{borde}}
\nablauβ\nabla u_\betaLfıˊsico\mathcal{L}_{\text{físico}}

Las tres funciones de costo se combinan en:

LTOTAL=Linicial+Lborde+Lfıˊsico\mathcal{L}_{\text{TOTAL}} = \mathcal{L}_{\text{inicial}} + \mathcal{L}_{\text{borde}} + \mathcal{L}_{\text{físico}}

Objetivo del modo Forward

    minβLTOT(β)0yuβsolucioˊn a la ecuacioˊn\implies \min_{\beta} \, \mathcal{L}_{\text{TOT}}(\beta) \simeq 0 \quad \text{y} \quad u_\beta \text{solución a la ecuación}

Hasta aquí todo es modo Forward.


PINNs Modo 2: Inverso

¡Este es el uso verdadero de una PINN! El modo “forward” es mas de juguete que otra cosa.

Problema

Dados los datos observados [uobs(ti,xi)]i=1N\left[u^{\text{obs}}(t_i, x_i)\right]_{i=1}^{N}, se busca recuperar D=D(x)D = D(x): la difusividad como función de xx.

Idea

Se desarrolla DD como una Red Neuronal con parámetros β2\beta_2, y se considera una función de costo empírica adicional:

Lemp=λi=1Nuβ1(xi,ti)uobs(ti,xi)22\mathcal{L}_{\text{emp}} = \lambda \sum_{i=1}^{N} \left\| \left\| u_{\beta_1}(x_i, t_i) - u^{\text{obs}}(t_i, x_i) \right\| \right\|_2^2

Ahora la arquitectura involucra dos redes

Se tienen dos redes con parámetros distintos:

Operación sobre uβ1u_{\beta_1}ResultadoFunción de costo asociada
Id\text{Id}uβ1u_{\beta_1}Linicial, borde, empıˊrica\mathcal{L}_{\text{inicial, borde, empírica}}
t\frac{\partial}{\partial t}uβ1t\dfrac{\partial u_{\beta_1}}{\partial t}Lfıˊsica\mathcal{L}_{\text{física}}
\nablauβ1\nabla u_{\beta_1}Lfıˊsica\mathcal{L}_{\text{física}}
Operación sobre Dβ1D_{\beta_1}ResultadoFunción de costo asociada
Id\text{Id}Dβ1D_{\beta_1}Lfıˊsica\mathcal{L}_{\text{física}}

La función de costo empírica también se incorpora a LTOTAL\mathcal{L}_{\text{TOTAL}}.

Parámetros a optimizar

β=[β1,β2]\beta = [\beta_1, \beta_2]

Se minimiza la función de costo total conjuntamente sobre β1\beta_1 y β2\beta_2, de modo que al final uβ1u_{\beta_1} aproxima la solución y Dβ2D_{\beta_2} recupera la difusividad desconocida.

References
  1. Boyd, S., & Vandenberghe, L. (2004). Convex optimization. Cambridge university press.
  2. Raissi, M., Perdikaris, P., & Karniadakis, G. E. (2019). Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations. Journal of Computational Physics, 378, 686–707. 10.1016/j.jcp.2018.10.045