REDES NEURAIS EM PROBLEMAS INVERSOS DE CONDUO DE
REDES NEURAIS EM PROBLEMAS INVERSOS DE CONDUÇÃO DE CALOR Haroldo Fraga de Campos Velho Laboratório de Computação e Matemática Aplicada (LAC) Instituto Nacional de Pesquisas Espaciais (INPE) E-mail: haroldo@lac. inpe. br Web-page: http: //www. lac. inpe. br/~haroldo/ (Esta pesquisa é parte da tese de mestrado de Elcio Hideiti Shiguemori – CAP-INPE)
Objetivo Resolver um problema inverso de condução de calor utilizando redes neurais artificiais PROBLEMA DIRETO K x y Causas Efeitos PROBLEMA INVERSO K-1
Tópicos • Introdução às Redes Neurais • Introdução aos Problemas Inversos • Experimentos • Alguns Resultados • Comentários Finais
Introdução as Redes Neurais
Introdução as Redes Neurais Neurônio Biológico Sinapse Núcleo O neurônio Biológico pode ser visto como sendo o dispositivo computacional elementar básico do sistema nervoso. Axônio Sinapse Dendrito - Possui um corpo celular ou soma. - Possui muitas entradas e uma saída. - Entradas conexões sinápticas - Saída axônio O estímulo que chega à sinapse é transferida à membrana dendrital que dá origem a uma conexão excitatória ou inibitória. Neurônio Artificial Assim como os neurônios biológicos, os neurônios artificiais têm inúmeras entradas dadas pelos níveis de estímulos. - Cada entrada é multiplicada por um peso sináptico. - O resultado da multiplicação é somado - E então passada por uma função de ativação Entrada x 1 x 2 Pesos w 1 w. 2. . xn wn Saída
Introdução as Redes Neurais Funções de Ativação: φ(vj) Função Sinal Função Rampa y y 11 11 x -1 x < 0 , y = -1 x>0, y= 1 a b x<0, y=0 0<x<1, y=x x>1, y=1 Função tanh Função Sigmóide y y 1. 0 x x c y = 1 / (1 + e - x ) - 1. 0 d
Introdução as Redes Neurais Ativação e Aprendizagem • Ativação: • Consiste no processo de receber uma entrada e produzir uma saída com os pesos e bias obtidos na fase de aprendizagem. • Aprendizagem: • Consiste no processo de Adaptação dos pesos sinápticos das conexões e os níveis de bias dos neurônios em resposta as entradas. Paradigmas de Aprendizagem • Supervisionada - dada uma entrada, é apresentada uma saída desejada • Não-Supervisionada - a rede se auto-organiza
Introdução as Redes Neurais Algumas Redes Neurais • Rede Perceptron de Múltiplas Camadas com aprendizagem por retropropagação do erro • Rede Funções de Base Radial • Rede Correlação em Cascata
Introdução as Redes Neurais Rede Perceptron de Múltiplas Camadas (RPMC) com aprendizagem por retropropagação do erro “As RPMC têm sido aplicadas com sucesso para resolver diversos problemas difíceis, através de seu treinamento de forma supervisionado. ” S. Haykin (1994): Neural Networks, A Comprehensive Foundation • Características da RPMC – A função de ativação de cada neurônio é não-linear – A rede possui uma ou mais camadas escodidas – A rede exibe um alto grau de conectividade • A aprendizagem consiste em 2 passos: – Passo para a frente – Retropropagação
Introdução as Redes Neurais Rede Perceptron de Múltiplas Camada escondida Entrada Fixa = -1 Entrada x wi Entrada Fixa = +1 wi y(x) Saída Entrada Fixa = -1
Introdução as Redes Neurais Rede Perceptron de Múltiplas Camadas • Ativação: • Aprendizagem: • Última Camada • Camadas Escondidas
Introdução as Redes Neurais Rede Função de Base Radial • Formada por 3 camadas: entrada, escondia e saída • As conexões entre a entrada e camada escondida contém funções de base radial. Entrada x ti Camada escondida Entrada Fixa = +1 y(x) Saída
Introdução as Redes Neurais Rede Função de Base Radial • Ativação: • Aprendizagem: • Centros Fixos Selecionados Aleatoriamente. • Seleção Auto-organizada de Centros • Seleção Supervisionada de Centros
Introdução as Redes Neurais Rede Função de Base Radial • Centros Fixos Selecionados Aleatoriamente - Os centros são selecionados aleatoriamente - Os únicos parâmetros que são aprendidos são os pesos lineares na camada de saída. • Seleção Auto-organizada de Centros - os centros das funções de base radial são estimados através de uma aprendizagem auto-organizada. - um algoritmo de aprendizagem supervisionada estima os pesos lineares da camada de saída. • Seleção Supervisionada de Centros - Os centros das funções de base radial e os pesos lineares da camada de saída são estimados por um processo de aprendizagem supervisionada.
Introdução as Redes Neurais Rede Correlação em Cascata Combina duas idéias chave: • Arquitetura Cascata As unidades escondidas são adicionadas à rede uma de cada vez e não muda depois de terem sido adicionadas • Algoritmo de Aprendizado Cria e instala as novas unidades escondidas. Para cada nova unidade escondida, tenta-se maximizar a magnitude da correlação entre a nova unidade de saída e eliminar o erro residual.
Introdução as Redes Neurais Correlação em Cascata Treinamento da Rede
Introdução aos Problemas Inversos
Projeto Temático – Fapesp/BC Aplicações: Projeto Temático – Fapesp/BC Projeto de cooperação entre o LAC-INPE, COGS – Univ. Sussex • Ciência espacial: Determinação de posição de plataforma de coletas de dados • Geofísica: Inversão magnetotelúrica • Transferência de calor: Identificação de propriedades térmicas Projeto ótimo em análise térmica de satélites • Ciência dos materiais: Detecção de falhas em materiais compostos • Cristalização dentrítica: Identificação de coeficientes de difusividade • Oceanografia: Determinação de propriedades óticas de águas naturais • Meteorologia: Estimação de perfis de temperatura e umidade Determinação de propriedades de fluxos atmosféricos turbulentos Assimilação de dados meteorológicos
Introdução aos Problemas Inversos PROBLEMA DIRETO K x y Causas Efeitos PROBLEMA INVERSO K-1 "Resolver um Problema Inverso é determinar CAUSAS desconhecidas a partir de EFEITOS desejados ou observados” H. W. Engl, 1996
Introdução aos Problemas Inversos são difíceis de resolver e requerem técnicas matemáticas e computacionais sofisticadas para resolve-los: porque a maioria deles são mal-postos! • Problemas Mal-Postos (Hadamar) • Existência Para qualquer y Y existe (pelo menos um) x X tal que Kx=y • Unicidade Para qualquer y Y existe no máximo um x se Kx 1=Kx 2, xj X, então x 1=x 2 X tal que Kx=y, isto é, • Estabilidade A solução x depende continuamente de y, isto é, para qualquer seqüência {xn} X tal que Kxn Kx (n), então xn x (n ). Quando a condição de estabilidade não é satisfeita o problema é mal-condicionado
Introdução aos Problemas Inversos Métodos de Solução de Problemas Inversos • Problema Direto y=Kx • Inversão Direta x=K-1 y - efeito y - causa x - modelo matemático K • Mínimos Quadrados Ponderados • Decomposição em Valores Singulares (SVD) • Métodos de Regularização • Métodos Variacionais • Outros: Molificação, métodos baseados em filtros, redes neurais.
Introdução aos Problemas Inversos • Regularização Tikhonov observou que informações a priori poderiam restaurar alguma estabilidade a um problema inverso mal-posto. O uso de regularização consiste em obter soluções aproximadas de Kx=y para problemas mal-postos, que sejam estáveis para pequenas variações no valor de y. Problema Mal Posto + Informação a priori Realidade Física Problema Bem Posto
Redes Neurais em Problemas Inversos Estudar o uso de redes neurais artificiais na solução de problemas inversos. Ex. de aplicações: transferência de calor; recuperação da condição de fronteira e condição inicial. MODELO DIRETO K x Parâmetros y Dados MODELO INVERSO K-1
Recuperação da Condição Inicial Distribuição da Temperatura Perfil de temperatura no tempo t=0. 1 Condição Inicial
Utilização de Redes Neurais na Solução do Problema Inverso de Condução de Calor • Solução do Problema Direto Condições Iniciais Direto • Treinamento das Conjuntos de treinamento Redes Neurais Treinamento da Rede Neural • Ativação da Rede Pesos e bias Perfil de temperatur a Ativação da Rede Neural Condição Inicial
• Solução do Problema Direto A condução de calor numa barra isolada é matematicamente formulada como: T(x, t) é a temperatura, f(x) é a condição inicial, x (variável espacial) e t (variável temporal)
Solução do Problema Direto Dada uma distribuição de temperatura inicial f(x), a solução do problema direto T(x, t), para e t 0, é formalmente obtida utilizando-se o método espectral e por superposição linear (Muniz et al. , 1999). onde = são as autofunções associadas ao problema, são os autovalores e é a norma ou integral de normalização. Na solução exata do problema inverso, qualquer erro ou perturbação é amplificado exponencialmente. Prova de mal-condicionamento. W. B. Muniz, H. F. Campos Velho, F. M. Ramos (1999), J. Comp. Appl. Math. , 101.
• Treinamento das Redes Neurais • Diferentes Redes Neurais - Perceptron de Múltiplas Camadas - Funções de Base Radial - Correlação em Cascata • Estratégias diferentes nos Algoritmos de Treinamento - Utilizar constante de Momentum na rede RPMC - Utilizar diferentes algoritmos de ajuste dos centros das funções na Rede Funções de Base Radial • Diferentes Conjuntos de Treinamento - Conjuntos com perfis de temperatura similares - Conjuntos com perfis de temperatura não-similares
• Ativação da Rede Neural • Testar a generalização da Rede com Perfis de Temperatura utilizados e não utilizados no treinamento. • Utilizar dados ruidosos.
• Experimento • Krejsa et al. (1999), Inverse Problems in Engineering, 7, 197 -214. Redes Neurais Artificiais na resolução de Problemas Inversos de Condução de Calor, para a recuperação de condição de contorno. • São conhecidas: - a condição de contorno em x=L - a condição inicial f(x) • Deseja-se recuperar: - o fluxo de calor q(t) em x=0.
Experimento • Implementação do Problema Direto • A equação de difusão é resolvida numericamente pelo método de Euler explícito com diferenças finitas central (Hoffman, 1993) • Número de Difusão • Foi utilizado o valor: =0. 0005 onde é o coeficiente de difusão.
Experimento • Experimentos PROBLEMA DIRETO K Condição de Contorno Distribuição da Temperatura Condição de Contorno Temperatura medida no sensor no ponto 0. 025 Observação: Para diminuir o número de conexões sinápticas a entrada tem dimensões 50 x 1 e a saída tem dimensões 23 x 1. PROBLEMA INVERSO K-1
Experimento • Conjuntos de Treinamento • Foram gerados 2 conjuntos de experimentos com variações nos padrões de treinamento. – Perfis de Temperatura Similares – Perfis de Temperatura não Similares
Experimento - Conjuntos de Treinamento Perfis de temperatura Não-Similares Perfis de temperatura Similares
Estimação de Condição de Contorno com Redes Neurais Artificiais
Exemplo-2: Estimação de fluxo de calor ( programa espacial 50/60) (Beck, Alifanov, . . . ) q(t)=? xs x sensor cc conhecida q(0, t) T(xs)n q(0)n )n q(xs, t) xs
Experimento Resultados do Treinamento da Rede Perceptron de Múltiplas Camadas Treinamento dos dados não Similares Treinamento dos dados Similares
Experimento – RN: PMC Inversão com a Rede Neural treinada com Dados Não-Similares Perfis de temperatura usados no treinamento Erro 0. 02719 Erro 0. 01488 Perfis de temperatura não usados no treinamento Erro 0. 00932 Erro 0. 02669
Experimento – RN: PMC Inversão com a Rede Neural treinada com Dados Similares Perfis de temperatura usados no treinamento Erro 0. 01161 Erro 0. 00578 Perfis de temperatura não usados no treinamento Erro 0. 01333 Erro 0. 07315
Experimento – RN: PMC Resultados do Treinamento da Rede Perceptron de Múltiplas Camadas – Dados Ruidosos Ativação Entrada Dados não similares (0. 01273) e similares (0. 01331)
Experimento – RN: FBR Resultados do Treinamento da Rede Funções de Base Radial Treinamento dos dados não Similares Treinamento dos dados Similares
Experimento – RN: FBR Inversão com a Rede Neural treinada com Dados Não-Similares Perfis de temperatura usados no treinamento Erro 0. 03715 Erro 0. 00904 Perfis de temperatura não usados no treinamento Erro 0. 00798 Erro 0. 01548
Experimento – RN: FBR Inversão com a Rede Neural treinada com Dados Similares Perfis de temperatura usados no treinamento Erro 0. 01067 Erro 0. 00843 Perfis de temperatura não usados no treinamento Erro 0. 00842 Erro 0. 05876
Experimento – RN: FBR Resultados do Treinamento da RFBR – Dados Ruidosos Ativação Entrada Não-Similares erro=0. 01368 Similares erro=0. 01266
Experimento Resultados do Treinamento da Rede Correlação em Cascata Treinamento dos dados não Similares Treinamento dos dados Similares
Experimento: RN - CC Inversão com a Rede Neural treinada com Dados Não-Similares Perfis de temperatura usados no treinamento Erro 0. 04217 Erro 0. 02598 Perfis de temperatura não usados no treinamento Erro 0. 01671 Erro 0. 03156 * Saída Desejada Não Similares
Experimento: RN - CC Inversão com a Rede Neural treinada com Dados Similares Perfis de temperatura usados no treinamento Erro 0. 030051 Erro 0. 01187 Perfis de temperatura não usados no treinamento Erro 0. 03070 Erro 0. 05056 * Saída Desejada Não Similares
Experimento: RN - CC Resultados do Treinamento da Rede Correlação em Cascata – Dados Ruidosos Entrada * Saída Desejada Não Similares Não-Similares erro=0. 01042 Similares erro=0. 01747
Comentários Finais • As redes neurais implementadas resolvem o problema inverso de condução de calor na recuperação da condição de contorno. • A condição de contorno recuperada se aproximou mais da desejada com o conjunto de dados não similares. • A rede FBR atingiu um erro menor no treinamento e uma maior aproximação da condição de contorno desejada, no entanto havia mais neurônios na camada escondida em relação ao treinamento da rede PMC.
Comentários Finais • Porque usar redes neurais em problemas inversos: – Esta é uma nova metodologia: novos horizontes a descobrir. – São robustas em relação a dados com ruídos. – São naturalmente paralelizáveis. – Redes neurais recorrentes permitem extrapolação. – Permite implementação em hardware: neurocomputadores. OBS. : Projeto de Cooperação entre LAC-INPE, Unisinos, IPRJ-UERJ – Esta metodologia é utilizável mesmo quando não se tem um modelo matemático para o problema direto!
Neurocomputadores Neurocomputador Estudos iniciais usando microcontrolador (Dr. José Demísio e Ricardo Varela) Microcontrolador da familia 8051: porta serial RAM 256 bytes 4 portas paralelas independentes FASE-1 grad 1 1 x 1 y 2 2 x 2 weights 3 grad 2 y 3 Treinamento: backpropagation
Neurocomputadores Células do micontrolador rx 1 rx tx 3 tx rx 2 rx tx
Neurocomputadores Backpropagation interno CELL Size(bytes) CE 1 A. C 3. 666 CE 2 A. C 3. 653 CE 3 A. C 4. 116
Neurocomputadores Resultado da implementação Mean Square Error Neuro. Hard Mat. Lab MSE = 0. 026 MSE = 0. 019 output = [0. 12 0. 82 0. 27] output = [0. 09 0. 87 0. 18]
Neurocomputadores Neurocomputador
Neurocomputadores Estratégia de ação: 1. Continuar pesquisa em neurocomputador com microcontroladores Aplicação: assimilação de dados em dinâmica caótica – sistema caótico de Lorentz. 2. Desenvolver pesquisas nas áreas de neurocomputadores com chips mais potentes (aritmética de ponto flutuante). 3. FPGA?
Mini-curso de Problemas Inversos Agradecimentos:
- Slides: 57