Articulo de referencia

Método del estado adjunto

El método del estado adjunto es un método numérico para calcular eficientemente el gradiente de una función u operador en un problema de optimización numérica . [ 1 ] Tiene apli...

El método del estado adjunto es un método numérico para calcular eficientemente 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 estado adjunto permiten el uso de la integración por partes , lo que da como resultado una fórmula que contiene explícitamente la magnitud físicamente relevante. 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 respecto a sus parámetros en forma de optimización con restricciones. Al utilizar la forma dual de este problema de optimización con restricciones, se puede calcular el gradiente muy rápidamente. Una propiedad interesante es que el número de cálculos es independiente del número de parámetros para los que se desea obtener el gradiente. El método adjunto se deriva del problema dual [ 4 ] y se utiliza, por ejemplo, en el método iterativo de Landweber [ 5 ] .

El nombre método del estado adjunto se refiere a la forma dual del problema, donde la matriz adjuntaA=A¯T{\displaystyle A^{*}={\overline {A}}^{T}}se utiliza.

Cuando el problema inicial consiste en calcular el productosTincógnita{\displaystyle s^{T}x}yincógnita{\displaystyle x}debe satisfacerAincógnita=b{\displaystyle Ax=b}, el problema dual puede realizarse calculando el productorTb{\displaystyle r^{T}b}(=sTincógnita{\displaystyle =s^{T}x}) , dónder{\displaystyle r}debe satisfacerAr=s{\displaystyle A^{*}r=s}. Y r{\displaystyle r}se denomina vector de estado adjunto.

Caso general

El método original de cálculo adjunto se remonta a Jean Céa , [ 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 estadoU{\displaystyle u\in {\mathcal {U}}}, una variable de optimizaciónvV{\displaystyle v\in {\mathcal {V}}}, una función objetivoJ:U×VR{\displaystyle J:{\mathcal {U}}\times {\mathcal {V}}\to \mathbb {R} }está definido. La variable de estado{\displaystyle u}a menudo depende implícitamente dev{\displaystyle v}a través de la ecuación de estado (directa)Dv()=0{\displaystyle D_{v}(u)=0}(generalmente la forma débil de una ecuación diferencial parcial ), por lo tanto, el objetivo considerado esj(v)=J(v,v){\displaystyle j(v)=J(u_{v},v)}, dóndev{\displaystyle u_{v}}es la solución de la ecuación de estado dadas las variables de optimizaciónv{\displaystyle v}. Normalmente, uno estaría interesado en calcularj(v){\displaystyle \nabla j(v)}Utilizando la regla de la cadena :

j(v)=vJ(v,v)+J(v,v)vv.{\displaystyle \nabla j(v)=\nabla _{v}J(u_{v},v)+\nabla _{u}J(u_{v},v)\nabla _{v}u_{v}.}

Desafortunadamente, el términovv{\displaystyle \nabla _ {v}u_ {v}}A menudo es muy difícil diferenciar analíticamente ya que la dependencia se define a través de una ecuación implícita. El funcional lagrangiano puede utilizarse como una solución alternativa para este problema. Dado que la ecuación de estado puede considerarse como una restricción en la minimización dej{\displaystyle j}, el problema

minimizar j(v)=J(v,v){\displaystyle {\text{minimizar}}\ j(v)=J(u_{v},v)}
sujeto a Dv(v)=0{\displaystyle {\text{sujeto a}}\ D_{v}(u_{v})=0}

tiene una función lagrangiana asociadaL:U×V×UR{\displaystyle {\mathcal {L}}:{\mathcal {U}}\times {\mathcal {V}}\times {\mathcal {U}}\to \mathbb {R} }definido por

L(,v,λ)=J(,v)+Dv(),λ,{\displaystyle {\mathcal {L}}(u,v,\lambda )=J(u,v)+\langle D_{v}(u),\lambda \rangle ,}

dóndeλU{\displaystyle \lambda \in {\mathcal {U}}}es un multiplicador de Lagrange o variable de estado adjunta y,{\displaystyle \langle \cdot ,\cdot \rangle }es un producto interno enU{\displaystyle {\mathcal {U}}}El método de los multiplicadores de Lagrange establece que una solución al problema debe ser un punto estacionario del lagrangiano, a saber:

{dL(,v,λ;δ)=dJ(,v;δ)+δ,Dv(λ)=0δU,dvL(,v,λ;δv)=dvJ(,v;δv)+dvDv(;δv),λ=0δvV,dλL(,v,λ;δλ)=Dv(),δλ=0δλU,{\displaystyle {\begin{cases}d_{u}{\mathcal {L}}(u,v,\lambda ;\delta _{u})=d_{u}J(u,v;\delta _{u})+\langle \delta _{u},D_{v}^{*}(\lambda )\rangle =0&\forall \delta _{u}\in {\mathcal {U}},\\d_{v}{\mathcal {L}}(u,v,\lambda  ;\delta _{v})=d_{v}J(u,v;\delta _{v})+\langle d_{v}D_{v}(u;\delta _{v}),\lambda \rangle =0&\forall \delta _{v}\in {\mathcal {V}},\\d_{\lambda }{\mathcal {L}}(u,v,\lambda  ;\delta _{\lambda })=\langle D_{v}(u),\delta _{\lambda }\rangle =0\quad &\forall \delta _{\lambda }\in {\mathcal {U}},\end{cases}}}

dóndedincógnitaF(incógnita;δincógnita){\displaystyle d_{x}F(x;\delta _{x})}es el derivado de Gateaux deF{\displaystyle F}con respecto aincógnita{\displaystyle x}en la direcciónδincógnita{\displaystyle \delta _{x}}La última ecuación es equivalente aDv()=0{\displaystyle D_{v}(u)=0}, la ecuación de estado, a la cual se encuentra la soluciónv{\displaystyle u_{v}}La primera ecuación es la denominada ecuación de estado adjunta,

δ,Dv(λ)=dJ(v,v;δ)δU,{\displaystyle \langle \delta _{u},D_{v}^{*}(\lambda )\rangle =-d_{u}J(u_{v},v;\delta _{u})\quad \forall \delta _{u}\in {\mathcal {U}},}

porque el operador involucrado es el operador adjunto deDv{\displaystyle D_{v}},Dv{\displaystyle D_{v}^{*}}Al resolver esta ecuación se obtiene el estado adjunto.λv{\displaystyle \lambda _{v}}. El gradiente de la cantidad de interésj{\displaystyle j}con respecto av{\displaystyle v}esj(v),δv=dvj(v;δv)=dvL(v,v,λv;δv){\displaystyle \langle \nabla j(v),\delta _{v}\rangle =d_{v}j(v;\delta _{v})=d_{v}{\mathcal {L}}(u_{v},v,\lambda _{v};\delta _{v})}(la segunda ecuación con=v{\displaystyle u=u_{v}}yλ=λv{\displaystyle \lambda =\lambda _{v}}), por lo que puede identificarse fácilmente resolviendo posteriormente las ecuaciones de estado directas y adjuntas. El proceso es aún más sencillo cuando el operadorDv{\displaystyle D_{v}}es autoadjunto o simétrico ya que las ecuaciones de estado directa y adjunta difieren solo en su lado derecho.

Ejemplo: Caso lineal

En un contexto real de programación lineal de dimensión finita , la función objetivo podría serJ(,v)=A,v{\displaystyle J(u,v)=\langle Au,v\rangle }, paravRnorte{\displaystyle v\in \mathbb {R} ^{n}},Rmetro{\displaystyle u\in \mathbb {R} ^{m}}yARnorte×metro{\displaystyle A\in \mathbb {R} ^{n\times m}}y sea la ecuación de estadoBv=b{\displaystyle B_{v}u=b}, conBvRmetro×metro{\displaystyle B_{v}\in \mathbb {R} ^{m\times m}}ybRmetro{\displaystyle b\in \mathbb {R} ^{m}}.

La función lagrangiana del problema esL(,v,λ)=A,v+Bvb,λ{\displaystyle {\mathcal {L}}(u,v,\lambda )=\langle Au,v\rangle +\langle B_{v}u-b,\lambda \rangle }, dóndeλRmetro{\displaystyle \lambda \in \mathbb {R} ^{m}}.

El derivado deL{\displaystyle {\mathcal {L}}}con respecto aλ{\displaystyle \lambda }produce la ecuación de estado como se mostró anteriormente, y la variable de estado esv=Bv1b{\displaystyle u_{v}=B_{v}^{-1}b}. El derivado deL{\displaystyle {\mathcal {L}}}con respecto a{\displaystyle u}es equivalente a la ecuación adjunta, que es, para cadaδRmetro{\displaystyle \delta _{u}\in \mathbb {R} ^{m}},

d[Bvb,λ](;δ)=Av,δBvδ,λ=Av,δBvλ+Av,δ=0Bvλ=Av.{\displaystyle d_{u}[\langle B_{v}\cdot -b,\lambda \rangle ](u;\delta _{u})=-\langle A^{\top }v,\delta u\rangle \iff \langle B_{v}\delta _{u},\lambda \rangle =-\langle A^{\top }v,\delta u\rangle \iff \langle B_{v}^{\top }\lambda +A^{\top }v,\delta _{u}\rangle =0\iff B_{v}^{\top }\lambda =-A^{\top }v.}

Por lo tanto, podemos escribir simbólicamenteλv=BvAv{\displaystyle \lambda _{v}=-B_{v}^{-\top }A^{\top }v}El gradiente sería

j(v),δv=Av,δv+vBv:λvv,δv,{\displaystyle \langle \nabla j(v),\delta _{v}\rangle =\langle Au_{v},\delta _{v}\rangle +\langle \nabla _{v}B_{v}:\lambda _{v}\otimes u_{v},\delta _{v}\rangle ,}

dóndevBv=Bijvk{\displaystyle \nabla _{v}B_{v}={\frac {\partial B_{ij}}{\partial v_{k}}}}es un tensor de tercer orden ,λvv=λvv{\displaystyle \lambda _{v}\otimes u_{v}=\lambda _{v}^{\top }u_{v}}es el producto diádico entre los estados directo y adjunto y:{\displaystyle :} denota una contracción de doble tensor . Se supone queBv{\displaystyle B_{v}}tiene una expresión analítica conocida que se puede diferenciar fácilmente.

Consideraciones numéricas para el caso autoadjunto

Si el operadorBv{\displaystyle B_{v}}era autoadjunto,Bv=Bv{\displaystyle B_{v}=B_{v}^{\top }}, 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éricamente muy lento, se puede utilizar una descomposición LU en su lugar para resolver la ecuación de estado, enO(metro3){\displaystyle O(m^{3})}operaciones para la descomposición yO(metro2){\displaystyle O(m^{2})}operaciones para la resolución. Esa misma descomposición se puede utilizar luego para resolver la ecuación de estado adjunta en soloO(metro2){\displaystyle O(m^{2})}operaciones ya que las matrices son las mismas.

Véase también

Referencias

  1. Pollini, Nicolò; Lavan, Oren; Amir, Oded (2018-06-01). "Análisis de sensibilidad adjunta 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 .  
  2. Ricky TQ Chen, Yulia Rubanova, Jesse Bettencourt, David Duvenaud Ecuaciones diferenciales ordinarias neuronales Disponible en línea
  3. Plessix, RE. "Una revisión del método del estado adjunto 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.
  4. 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. Recuperado el 28 de octubre de 2022 .
  5. 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. Recuperado el 28 de octubre de 2022 .
  6. ^ Cea, Jean (1986). "Concepción óptima o identificación de formas, cálculo rápido de la derivación direccional de la función coût" . 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 .
  • Una explicación bien escrita por Errico: ¿Qué es un modelo adjunto?
  • Otra explicación bien escrita con ejemplos resueltos, escrita por Bradley.
  • Explicación más técnica: Una revisión del método del estado adjunto para calcular el gradiente de un funcional con aplicaciones geofísicas.
  • Curso del MIT
  • Notas del MIT