Aprendizagem Profunda para Resolver Equações Diferenciais Série II: PINN Resolver o Problema Direto da Equação de Burger

Abaixo, apresentarei a rede neural de conhecimento de física incorporada (PINN) para resolver equações diferenciais. Primeiro, o método básico do PINN é introduzido e, com base na estrutura de solução PINN de Pytorch, a equação unidimensional do hambúrguer com termo de tempo é resolvida.

Rede neural de conhecimento físico incorporado (PINN) Introdução e documentos relacionados
Aprendizagem profunda para resolver equações diferenciais Série 1: Estrutura de solução PINN (Poisson 1d)
Aprendizagem profunda para resolver equações diferenciais Série 2: PINN para resolver problemas avançados de equações de hambúrguer
Aprendizagem profunda para resolver equações diferenciais Série 3: PINN resolve o problema inverso da equação do hambúrguer
Deep learning para resolver a equação diferencial série IV: Baseado na função de ativação adaptativa PINN resolve o problema inverso da equação do hambúrguer
Deep learning para resolver a equação diferencial série V: PINN resolve o problema direto e inverso da equação de Navier-Stokes

1. Introdução ao PINN

Como uma poderosa ferramenta de processamento de informações, a rede neural tem sido amplamente utilizada nas áreas de visão computacional, biomedicina e engenharia de petróleo e gás, desencadeando mudanças tecnológicas em muitos campos. A rede de aprendizagem profunda tem uma capacidade de aprendizagem muito forte, não só pode descobrir leis físicas, mas também resolver equações diferenciais parciais. Nos últimos anos, a solução de equações diferenciais parciais com base em aprendizado profundo tornou-se um novo foco de pesquisa. A rede neural informada pela física incorporada (PINN) é uma aplicação de máquinas científicas no domínio numérico tradicional, que pode ser usada para resolver vários problemas relacionados a equações diferenciais parciais (PDE), incluindo resolução de equações, inversão de parâmetros, descoberta de modelos, controle e otimização etc

2. Método PINN

A ideia principal do PINNN é mostrada na Figura 1, primeiro construa um resultado de saída como u ^ \hat{u}você^ 's rede neural, que é usada como um modelo proxy para a solução PDE, e a informação PDE é usada como uma restrição, codificada na função de perda de rede neural para treinamento. A função de perda inclui principalmente quatro partes: perda de estrutura diferencial parcial (perda de PDE), perda de condição de valor de contorno (perda de BC), perda de condição de valor inicial (perda de IC) e perda de condição de dados reais (perda de dados).
insira a descrição da imagem aqui

Figura 1: Diagrama esquemático do PINN

Em particular, considere o seguinte problema de EDP, onde a solução da EDP u ( x ) u(x)u ( x )Ω ⊂ R d \Omega \subset \mathbb{R}^{d}OhRd definição, ondex = ( x 1 , … , xd ) \mathbf{x}=\left(x_{1}, \ldots, x_{d}\right)x=( x1,,xd)
f ( x ; ∂ u ∂ x 1 , … , ∂ u ∂ xd ; ∂ 2 u ∂ x 1 ∂ x 1 , … , ∂ 2 u ∂ x 1 ∂ xd ) = 0 , x ∈ Ω f\left( \mathbf{x} ; \frac{\parcial u}{\parcial x_{1}}, \ldots, \frac{\parcial u}{\parcial x_{d}} ; \frac{\parcial^{2} u}{\parcial x_{1} \parcial x_{1}}, \ldots, \frac{\parcial^{2} u}{\parcial x_{1} \parcial x_{d}} \direita)=0 , \quad \mathbf{x} \in \Omegaf( x ;x1 você,,xd você;x1x12 e,,x1xd2 e)=0 ,xΩAo
mesmo tempo, satisfaça o seguinte limite
B ( u , x ) = 0 em ∂ Ω \mathcal{B}(u, \mathbf{x})=0 \quad \text { on } \quad \partial \OmegaB ( u ,x )=0 sobre Ω

O processo de solução PINN inclui principalmente:

  • O primeiro passo é definir o modelo de rede neural da camada totalmente conectada da camada D:
    N Θ : = LD ∘ σ ∘ LD − 1 ∘ σ ∘ ⋯ ∘ σ ∘ L 1 N_{\Theta}:=L_D \circ \ sigma \circ L_{D-1} \circ \sigma \circ \cdots \circ \sigma \circ L_1Nº:=euDpeuD - 1ppeu1
    式中:
    L 1 ( x ) : = W 1 x + b 1 , W 1 ∈ R d 1 × d , b 1 ∈ R d 1 L i ( x ) : = W x + bi , Wi ∈ R di × di − 1 , bi ∈ R di , ∀ i = 2 , 3 , ⋯ D − 1 , LD ( x ) : = WD x + b D , WD ∈ RN × d D − 1 , b D ∈ RN . \begin{aligned} L_1(x) &:=W_1 x+b_1, \quad W_1 \in \mathbb{R}^{d_1 \times d}, b_1 \in \mathbb{R}^{d_1} \\ L_i (x) &:=W_i x+b_i, \quad W_i \in \mathbb{R}^{d_i \times d_{i-1}}, b_i \in \mathbb{R}^{d_i}, \forall i =2,3, \cdots D-1, \\ L_D(x) &:=W_D x+b_D, \quad W_D \in \mathbb{R}^{N \times d_{D-1}}, b_D \ em \mathbb{R}^N . \end{alinhado}eu1( x )eueu( x )euD( x ): =C1x+b1,C1Rd1× d ,b1Rd1: =Ceux+beu,CeuRdeu× deu - 1,beuRdeu,eu=2 ,3 ,D1 ,: =CDx+bD,CDRN × dD - 1,bDRN. _
    e σ \sigmaσ é a função de ativação,WWW ebbb são os parâmetros de ponderação e viés.
  • A segunda etapa, para medir a rede neural u ^ \hat{u}vocêL ( θ ) = wf LPDE ( θ ; T f ) + wi LIC ( θ ; T i ) + wb LBC ( θ , ; T b ) + wd LD ata(
    θ , ; T data ) \mathcal{L}\left(\boldsymbol{\theta}\right)=w_{f} \mathcal{L}_{PDE}\left(\boldsymbol{\theta}; \mathcal{ T}_{f}\direita)+w_{i} \mathcal{L}_{IC}\left(\boldsymbol{\theta} ; \mathcal{T}_{i}\direita)+w_{b} \mathcal{L}_{BC}\left(\boldsymbol{\theta},; \mathcal{T}_{b}\right)+w_{d} \mathcal{L}_{Data}\left(\ boldsímbolo{\theta},; \mathcal{T}_{data}\right)eu( eu )=cfeuP D E( eu ;Tf)+ceueueu C( eu ;Teu)+cbeuB C( eu ,;Tb)+cdeuD a t a( eu ,;Td a t a)
    onde:
    LPDE ( θ ; T f ) = 1 ∣ T f ∣ ∑ x ∈ T f ∥ f ( x ; ∂ u ^ ∂ x 1 , … , ∂ u ^ ∂ xd ; ∂ 2 u ^ ∂ x 1 ∂ x 1 , … , ∂ 2 u ^ ∂ x 1 ∂ xd ) ∥ 2 2 LIC ( θ ; T i ) = 1 ∣ T i ∣ ∑ x ∈ T i ∥ u ^ ( x ) − u ( x ) ∥ 2 2 LBC ( θ ; T b ) = 1 ∣ T b ∣ ∑ x ∈ T b ∥ B ( u ^ , x ) ∥ 2 2 LD ata ( θ ; T dados ) = 1 ∣ T dados ∣ ∑ x ∈ T dados ∥ u ^ ( x ) − u ( x ) ∥ 2 2 \begin{aligned} \mathcal{L}_{PDE}\left(\boldsymbol{\theta} ; \mathcal{T}_{f}\right) &=\frac{1 }{\left|\mathcal{T}_{f}\right|} \sum_{\mathbf{x} \in \mathcal{T}_{f}}\left\|f\left(\mathbf{x } ; \frac{\parcial \hat{u}}{\parcial x_{1}}, \ldots, \frac{\parcial \hat{u}}{\parcial x_{d}} ; \frac{\parcial ^{2} \hat{u}}{\parcial x_{1} \parcial x_{1}}, \ldots, \frac{\partial^{2} \hat{u}}{\parcial x_{1} \parcial x_{d}} \right)\right\|_{2}^{2} \\ \mathcal{L}_{IC}\left(\boldsymbol{\theta};\mathcal{T}_{i}\direita) &=\frac{1}{\esquerda|\mathcal{T}_{i}\direita|} \sum_{\mathbf{x}\in \mathcal{T }_{i}}\|\hat{u}(\mathbf{x})-u(\mathbf{x})\|_{2}^{2} \\ \mathcal{L}_{BC} \left(\ballsymbol{\theta};\mathcal{T}_{b}\right) &=\frac{1}{\left|\mathcal{T}_{b}\right|}\sum_{\ mathbf{x} \in \mathcal{T}_{b}}\|\mathcal{B}(\hat{u}, \mathbf{x})\|_{2}^{2}\\ \mathcal {L}_{Data}\left(\bold symbol{\theta}; \mathcal{T}_{data}\right) &=\frac{1}{\left|\mathcal{T}_{data} \ direita|} \sum_{\mathbf{x} \in \mathcal{T}_{dados}}\|\hat{u}(\mathbf{x})-u(\mathbf{x})\|_ { 2}^{2} \end{alinhado}=\frac{1}{\left|\mathcal{T}_{b}\right|}\sum_{\mathbf{x}\in \mathcal{T}_{b}}\|\mathcal{B} (\hat{u}, \mathbf{x})\|_{2}^{2}\\ \mathcal{L}_{Data}\left(\bold symbol{\theta}; \mathcal{T} _ {data}\right) &=\frac{1}{\left|\mathcal{T}_{data}\right|} \sum_{\mathbf{x}\in \mathcal{T}_{data} } \|\hat{u}(\mathbf{x})-u(\mathbf{x})\|_{2}^{2} \end{alinhado}=\frac{1}{\left|\mathcal{T}_{b}\right|}\sum_{\mathbf{x}\in \mathcal{T}_{b}}\|\mathcal{B} (\hat{u}, \mathbf{x})\|_{2}^{2}\\ \mathcal{L}_{Data}\left(\bold symbol{\theta}; \mathcal{T} _ {data}\right) &=\frac{1}{\left|\mathcal{T}_{data}\right|} \sum_{\mathbf{x}\in \mathcal{T}_{data} } \|\hat{u}(\mathbf{x})-u(\mathbf{x})\|_{2}^{2} \end{alinhado}euP D E( eu ;Tf)eueu C( eu ;Teu)euB C( eu ;Tb)euD a t a( eu ;Td a t a)=Tf1xTff( x ;x1você^,,xdvocê^;x1x12você^,,x1xd2você^)22=Teu1xTeuvocê^ (x)u ( x ) 22=Tb1xTbB (você^ ,x ) 22=Td a t a1xTd a t avocê^ (x)u ( x ) 22
    wf w_{f}cfwi w_{i}ceuwb w_{b}cbe wd w_{d}cdé o peso. T f \mathcal{T}_{f}TfT i \mathcal{T}_{i}TeuT b \mathcal{T}_{b}TbE dados T \mathcal{T}_{data}Td a t aRepresenta os pontos residuais do PDE, valor inicial, valor limite e valor verdadeiro. Aqui T f ⊂ Ω \mathcal{T}_{f} \subconjunto \OmegaTfΩ é um conjunto predefinido de pontos para medir a saída da rede neuralu ^ \hat{u}você^ Extensão da correspondência com PDE.
  • Finalmente, use o algoritmo de otimização de gradiente para minimizar a função de perda até que os parâmetros de rede que atendam à precisão da previsão sejam encontrados. KaTeX parse error: Undefined control sequence: \theat at position 1: \̲t̲h̲e̲a̲t̲^{*} .

Vale a pena notar que para problemas inversos, ou seja, alguns parâmetros na equação são desconhecidos. Se apenas a equação PDE e as condições de contorno forem conhecidas, e os parâmetros PDE forem desconhecidos, o problema inverso é um problema indeterminado, então outras informações devem ser conhecidas, como alguns pontos de observação uuo valor de vc . Nesse caso, o método PINN pode usar os parâmetros na equação como variáveis ​​desconhecidas e adicioná-los ao treinador para otimização. A função de perda inclui a perda de dados.

3. Resolução da definição do problema - problema positivo

ut + uux = vuxx , x ∈ [ − 1 , 1 ] , t > 0 u ( x , 0 ) = − sin ⁡ ( π x ) u ( − 1 , t ) = u ( 1 , t ) = 0 \begin {alinhado} u_t+u u_x &=v u_{xx}, x \in[-1,1], t>0 \\ u(x, 0) &=-\sin (\pi x) \\ u( -1, t) &=u(1, t)=0 \end{alinhado}vocêt+u u uxu ( x ,0 )u ( 1 ,t )=vc _x x,x[ -1 , _1 ] ,t>0=pecado ( π x )=u ( 1 ,t )=0

Onde: parâmetro v ∈ [ 0 , 0.1 / π ] v \in[0,0.1 / \pi]v[ 0 ,0,1 / π ] . _ _ A solução numérica é obtida pela transformação de Hopf-Cole, conforme mostra a Figura 2.
Requisitos da tarefa:

  • A tarefa resolve u para condições de contorno conhecidas e equações diferenciais.

    Adicione uma descrição da imagem
Figura 2: Solução Numérica Burger

4. Exibição de resultados

Os resultados da previsão são mostrados na Figura 3-5. Além disso, vale ressaltar que o algoritmo utiliza inicialização randômica da rede, quando a inicialização não for boa, aparecerá o erro de treinamento mostrado na Figura 5.

Figura 3: Diagrama de variação dos parâmetros do problema do processo de treinamento e erro de treinamento

Os resultados da previsão durante o treinamento são mostrados na Figura 4-5.

insira a descrição da imagem aqui

Figura 3: Gráfico do resultado da previsão

insira a descrição da imagem aqui

Figura 4: Gráfico de erro de previsão

insira a descrição da imagem aqui

Figura 5: Previsão de resultados em momentos diferentes

insira a descrição da imagem aqui

Figura 6: Gráfico de mudança de erro durante o treinamento

insira a descrição da imagem aqui

Figura 7: Gráfico de alteração de erro de treinamento sob inicialização incorreta

Acho que você gosta

Origin blog.csdn.net/weixin_45521594/article/details/127814574
Recomendado
Clasificación