Método numérico
El método de estados adjuntos es un método numérico para calcular de manera eficiente el gradiente de una función u operador en un problema de optimización numérica . [1] Tiene aplicaciones en geofísica , imágenes sísmicas , fotónica y, más recientemente, en redes neuronales . [2]
El espacio de estados adjunto se elige para simplificar la interpretación física de las restricciones de la ecuación . [3]
Las técnicas de estados adjuntos permiten el uso de la integración por partes , lo que da como resultado una forma que contiene explícitamente la cantidad de interés físico. Se introduce una ecuación de estado adjunto, que incluye una nueva variable desconocida.
El método adjunto formula el gradiente de una función en función de sus parámetros en forma de optimización de restricciones. Al utilizar la forma dual de este problema de optimización de restricciones, se puede calcular el gradiente muy rápidamente. Una propiedad interesante es que la cantidad de cálculos es independiente de la cantidad de parámetros para los que se desea el gradiente. El método adjunto se deriva del problema dual [4] y se utiliza, por ejemplo, en el método de iteración de Landweber . [5]
El nombre "método de estados adjuntos" se refiere a la forma dual del problema, donde se utiliza la matriz adjunta .
Cuando el problema inicial consiste en calcular el producto y debe satisfacer , el problema dual puede realizarse como el cálculo del producto ( ) , donde debe satisfacer . Y se denomina vector de estado adjunto.
Caso general
El método original de cálculo adjunto se remonta a Jean Cea, [6] con el uso del Lagrangiano del problema de optimización para calcular la derivada de un funcional con respecto a un parámetro de forma .
Para una variable de estado , una variable de optimización , se define una función objetivo . La variable de estado a menudo depende implícitamente de mediante la ecuación de estado (directa) (normalmente la forma débil de una ecuación diferencial parcial ), por lo que el objetivo considerado es . Normalmente, uno estaría interesado en calcular utilizando la regla de la cadena :
Desafortunadamente, el término suele ser muy difícil de diferenciar analíticamente, ya que la dependencia se define a través de una ecuación implícita. El funcional lagrangiano se puede utilizar como una solución alternativa para este problema. Dado que la ecuación de estado se puede considerar como una restricción en la minimización de , el problema
tiene una funcional lagrangiana asociada definida por
donde es un multiplicador de Lagrange o variable de estado adjunta y es un producto interno en . El método de los multiplicadores de Lagrange establece que una solución al problema tiene que ser un punto estacionario del lagrangiano, es decir
donde es la derivada de Gateaux de con respecto a en la dirección . La última ecuación es equivalente a , la ecuación de estado, cuya solución es . La primera ecuación es la llamada ecuación de estado adjunta,
porque el operador involucrado es el operador adjunto de , . Resolver esta ecuación produce el estado adjunto . El gradiente de la cantidad de interés con respecto a es (la segunda ecuación con y ), por lo tanto, se puede identificar fácilmente resolviendo posteriormente las ecuaciones de estado directas y adjuntas. El proceso es aún más simple cuando el operador es autoadjunto o simétrico ya que las ecuaciones de estado directas y adjuntas difieren solo por su lado derecho.
Ejemplo: Caso lineal
En un contexto real de programación lineal de dimensión finita , la función objetivo podría ser , para , y , y sea la ecuación de estado , con y .
La función lagrangiana del problema es , donde .
La derivada de con respecto a produce la ecuación de estado como se mostró anteriormente, y la variable de estado es . La derivada de con respecto a es equivalente a la ecuación adjunta, que es, para cada ,
Así, podemos escribir simbólicamente . El gradiente sería
donde es un tensor de tercer orden , es el producto diádico entre los estados directo y adjunto y denota una contracción tensorial doble . Se supone que tiene una expresión analítica conocida que se puede diferenciar fácilmente.
Consideración numérica para el caso autoadjunto
Si el operador fuera autoadjunto, , la ecuación de estado directa y la ecuación de estado adjunta tendrían el mismo lado izquierdo. Con el objetivo de no invertir nunca una matriz, que es un proceso numérico muy lento, se puede utilizar una descomposición LU para resolver la ecuación de estado, en operaciones para la descomposición y operaciones para la resolución. Esa misma descomposición se puede utilizar entonces para resolver la ecuación de estado adjunta en solo operaciones, ya que las matrices son las mismas.
Véase también
Referencias
- ^ Pollini, Nicolò; Lavan, Oren; Amir, Oded (1 de junio de 2018). "Análisis de sensibilidad adjunto y optimización de sistemas dinámicos histeréticos con amortiguadores viscosos no lineales". Optimización estructural y multidisciplinaria . 57 (6): 2273–2289. doi :10.1007/s00158-017-1858-2. ISSN 1615-1488. S2CID 125712091.
- ^ Ricky TQ Chen, Yulia Rubanova, Jesse Bettencourt, David Duvenaud Ecuaciones diferenciales ordinarias neuronales Disponible en línea
- ^ Plessix, RE. "Una revisión del método de estados adjuntos para calcular el gradiente de un funcional con aplicaciones geofísicas". Geophysical Journal International, 2006, 167(2): 495-503. Acceso gratuito en el sitio web de GJI
- ^ McNamara, Antoine; Treuille, Adrien; Popović, Zoran; Stam, Jos (agosto de 2004). "Control de fluidos mediante el método adjunto" (PDF) . ACM Transactions on Graphics . 23 (3): 449–456. doi :10.1145/1015706.1015744. Archivado (PDF) del original el 29 de enero de 2022 . Consultado el 28 de octubre de 2022 .
- ^ Lundvall, Johan (2007). "Asimilación de datos en dinámica de fluidos mediante optimización adjunta" (PDF) . Suecia: Universidad Tecnológica de Linköping . Archivado (PDF) del original el 9 de octubre de 2022. Consultado el 28 de octubre de 2022 .
- ^ Cea, Jean (1986). "Concepción óptima o identificación de formas, cálculo rápido de la derivación direccional de la función costera". ESAIM: Modelado matemático y análisis numérico - Modélisation Mathématique et Analyse Numérique (en francés). 20 (3): 371–402. doi : 10.1051/m2an/1986200303711 .
Enlaces externos
- Una explicación bien escrita de Errico: ¿Qué es un modelo adjunto?
- Otra explicación bien escrita con ejemplos resueltos, escrita por Bradley [1]
- Explicación más técnica: Una revisión del método de estados adjuntos para calcular el gradiente de un funcional con aplicaciones geofísicas
- Curso del MIT [2]
- Notas del MIT [3]