UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS PROGRAMA DE PÓS-GRADUAÇÃO EM MATEMÁTICA E ESTATÍSTICA
Brigida Cristina Fernandes Batista
Soluções de Equações Diferenciais Usando Redes Neurais de Múltiplas camadas com os métodos da Descida mais íngreme e Levenberg-Marquardt. Orientador: Prof. Dr. Valcir João da Cunha Farias
BELÉM-PA 2012
1
Brigida Cristina Fernandes Batista
Soluções de Equações Diferenciais Usando Redes Neurais de Múltiplas camadas com os métodos da Descida mais íngreme e Levenberg-Marquardt.
Dissertação apresentada ao Programa de Pós-Graduação Pós-Graduação em Matemática e Estatística (PPGME) da Universidade Federal do Pará, como requisito parcial para a obtenção do grau de Mestre em Matemática.
Área de Concentração: Concentração: Matemática Aplicada. Orientador: Prof. Dr. Valcir João da Cunha Farias.
BELÉM-PA 2012 2
Brigida Cristina Fernandes Batista
Soluções de Equações Diferenciais Usando Redes Neurais de Múltiplas camadas com os métodos da Descida mais íngreme e Levenberg-Marquardt.
Dissertação apresentada ao Programa de Pós-Graduação Pós-Graduação em Matemática e Estatística (PPGME) da Universidade Federal do Pará, como requisito parcial para a obtenção do grau de Mestre em Matemática.
Área de Concentração: Concentração: Matemática Aplicada. Orientador: Prof. Dr. Valcir João da Cunha Farias.
BELÉM-PA 2012 2
Brigida Cristina Fernandes Batista
Esta Dissertação foi julgada pelo Corpo Docente do Programa de Pós-Graduação em Matemática e Estatística- PPGME da Universidade Federal do Pará, para obtenção do grau de Mestre em Matemática.
Belém, 29 junho de 2012
Banca examinadora
_____________________ ________________________________ ______________________ ___________ Prof. Dr. Valcir João da Cunha Farias ( Orientador) Universidade Federal do Pará – UFPA UFPA – PPGME PPGME
_____________________ ________________________________ ______________________ ___________ Prof. Dr. Arthur da Costa Almeida ( Membro) Universidade Federal do Pará – UFPA UFPA
__________________________________________________ __________________________________ ________________
Prof. Dr. Celsa Hermínia de Melo Maranhão ( Membro ) Universidade Federal Federal do Pará - UFPA
_____________________ ________________________________ ______________________ ___________ Prof. Dr. Regivan Hugo Nunes Santiago ( Membro) Universidade Federal do Rio Grande do Norte – UFRN UFRN - DIMAP
3
Dedicatória
À minha querida e amada Mãe Ana Cristina R. Fernandes.
4
Agradecimentos Agradeço primeiramente e acima de tudo a Deus. À minha mãe Ana Cristina pela paciência e por sempre acreditar em mim, muitas vezes mais que eu mesma. Agradeço a sua dedicação e preocupação com meu futuro. Ao meu amigo Cristyan Pinheiro, que é talvez, o maior responsável por eu ter ingressado neste mestrado, por seu incentivo, apoio e companheirismo em todas as fases do curso. Ao meu orientador Valcir Farias por sua paciência, companheirismo e amizade. Ao meu irmão Renan Batista pela torcida e paciência. A minha turma de mestrado de 2010, aos que continuaram até o fim e aos que mudaram seus caminhos no decorrer desses anos, em especial as my friends Marly dos Anjos e Juliana Nunes, pelo apoio e amizade. Ao meu querido Wagner Vital, por sempre ter uma palavra de incentivo, por seu companheirismo e apoio na realização dessa etapa de minha vida. Aos professores do ICEN, por todo o aprendizado e amizade adquiridos durante esses 6 anos e meio de estudos Aos professores da banca, Arthur Almeida, Celsa Maranhão, Marcus Rocha e Regivan Nunes, pelo interesse e colaboração.
5
Sumário Resumo
9
Abstract
10
Introdução
11
Capitulo 1 - REDES NEURAIS
14
1.1 – Introdução.......................................................................................................14 1.2 – O neurônio biológico.......................................................................................14 1.3 – O neurônio artificial........................................................................................15 1.3.1 – Funções de ativação................................................................................17 1.4 – Arquitetura das redes neurais e processo de treinamento...............................18 1.4.1 - Feedforward .............................................................................................19 1.4.2 - Recorrente ou realimentada.....................................................................19 1.4.3 - Processos de treinamento e aspectos de aprendizado.............................20 1.4.3.1 – Treinamento supervisionado............................................................20 1.4.3.2 – Treinamento não-supervisionado.....................................................20 1.4.3.3 – Aprendizagem usando lote de padrões ( off-line).............................20 1.4.3.4 – Aprendizagem usando lote de padrão-por-padrão ( on-line)............21 1.5 - Alguns modelos de redes Neurais Artificiais:..................................................21 1.5.1 - Rede Perceptron........................................................................................21 1.5.1.1 – Princípio de funcionamento do Perceptron.....................................21 1.5.1.2 – Analise matemática do Perceptron..................................................22 1.5.1.3 – Processo de treinamento do Perceptron...........................................23 1.5.2 - Rede Adaline............................................................................................24 1.5.2.1 – Princípio de funcionamento do Adaline..........................................25 1.5.2.2 – Processo de treinamento do Adaline................................................25 1.5.2.3 – Comparação entre o processo de treinamento do Adaline e Perceptron........................................................................................................................28 6
1.5.3 - Rede Perceptron de múltiplas camadas (PMC).......................................28 1.5.3.1 – Princípio de funcionamento do PMC.............................................28 1.5.3.2 – Processo de treinamento do PMC...................................................29 1.5.3.2.1 – Derivação do algoritmo backpropagation...............................29 1.5.3.2.1.1 – Ajuste dos pesos sinápticos da camada de saída.............32 1.5.3.2.1.2 – Ajuste dos pesos sinápticos da camada intermediária.....33 1.5.3.2.2 - Outra versão do algoritmo backpropagation............................36 1.5.3.2.2.1 – Método de Levenberg-Marquardt....................................36
Capítulo 2 – METODOLOGIA
39
2.1 – Introdução........................................................................................................39 2.2 – Descrição do método.......................................................................................39 2.3 – Ilustração do método.......................................................................................40 2.3.1 - Soluções de EDO’s de 1ª ordem..............................................................40 2.3.2 - Soluções de EDO de 2ª ordem.................................................................41 2.3.3 - Soluções de Sistema acoplado de EDO’s de 1ª ordem............................41 2.3.4 - Soluções de EDP’s.............. .....................................................................41 2.4 – Cálculo do gradiente.......................................................................................42 2.4.1 - Equação Diferencial Ordinária (EDO) de primeira ordem......................43 2.4.2 - Equação Diferencial Ordinária (EDO) de segunda ordem......................45 2.4.3 - Sistema Acoplado de Equações diferencial Ordinária (EDO’s). .............49 2.4.4 - Equação Diferencial Parcial (EDP).........................................................52
Capítulo 3 – RESULTADOS
55
3.1 – Introdução......................................................................................................55 3.2 - A Rede Neural para solução de Edo’s de primeira ordem ..............................55 3.2.1 – Problema 1..............................................................................................55 3.2.2 – Problema 2..............................................................................................59 7
3.3 - A Rede Neural para solução de Edo’s de segunda ordem...............................63 3.3.1 – Problema 3...............................................................................................63 3.3.2 – Problema 4...............................................................................................67 3.4 - A Rede Neural para soluç ão de sistema acoplado de Edo’s............................71 3.4.1 – Problema 5...............................................................................................71 3.5 - A Rede Neural para solução de Edp’s.................................................. ...........76 3.5.1 – Problema 6...............................................................................................76 3.5.2 – Problema 7...............................................................................................81
Considerações Finais e trabalhos futuros
87
Referências Bibliográficas
88
8
Resumo Neste trabalho é mostrado um método para resolver ambas as equações diferenciais, ordinárias e parciais, utilizando uma rede neural artificial feedforward como elemento fundamental de aproximação, cujos parâmetros (pesos e bias) são ajustados para minimizar uma função erro apropriada. A rede neural é implementada no software MATLAB. Para treinar os parâmetros foi utilizado o método da descida mais Íngreme e método de Levenberg-Marquardt, os quais precisaram do cálculo do gradiente. A solução aproximada da equação diferencial é escrita como a soma de dois termos, o primeiro é construído para satisfazer as condições iniciais e de fronteira e o segundo contêm os parâmetros ajustáveis da rede. Foi feito uma comparação dos problemas de edo’s de 1ª ordem e o do sistema acoplado de edo’s com os métodos de Runge-Kutta e os problemas de edo’s de 2ª ordem e as edp’s com o método de diferenças finitas.
Palavra chave- Redes neurais, equações diferenciais ordinárias, equações diferenciais parciais, método de Levenberg-Marquardt, método da descida mais íngreme.
9
Abstract This work provides a method to solve ordinary and partial differential equations, using feedforward artificial neural network approach as a fundamental element, whose parameters (weights and biases) are adjusted to minimize an appropriate error function. The neural network is implemented in MATLAB software. To train the parameters we used the method of steepest descent and Levenberg-Marquardt method, which required the calculation of the gradient. The approximate solution of the differential equation is written as a sum of two terms, the first satisfies the initial and boundary conditions and the second containing the adjustable parameters of the network. A comparison was made of the problems of ODE's 1st order and the coupled system of ODE’s with Runge-Kutta methods and problems of ODE's 2nd order and the PDE's with the finite difference method.
Keyword- neural networks, differential equations, partial differential equations, Levenberg-Marquardt method, method of steepest descent.
10
Introdução A primeira publicação relacionada à neurocomputação segundo (SILVA et al, 2010) aconteceu em 1943, através de um artigo elaborado por Walter Pitts e McCulloch (1943), o primeiro matemático e o segundo neurofisiologista. Foi neste artigo que realizaram a primeira modelagem matemática inspirada no neurônio biológico, resultando assim na primeira concepção de neurônio artificial. Em 1949, o primeiro método de treinamento para rede foi proposto por Donald Hebb, a qual denominou-se de regra de aprendizagem de Hebb. Em 1957 Frank Rosenblatt criou uma rede neural que foi batizada com o nome Perceptron. Esta rede, segundo Ludwig Jr (2007), teve origem em uma simulação computacional para a retina, o qual demonstrou como o sistema nervoso visual reconhece padrões. Após esse episódio muitos pesquisadores da época ficaram incentivados a realizar pesquisas relacionadas a inteligência artificial. Porém em 1969, a neurocomputação sofreu um revés com a publicação de Marvin Minsky e Seymour e Papert que provaram no trabalho intitulado Perceptrons- na introduction to computational geometry, que redes neurais de uma única camada, como a proposta por Rosenblatt, não realizam classificações de padrões para classes não linearmente separáveis. Este trabalho desestimulou os pesquisadores e somente em 1982, retomou o destaque que tinha antes de 1969 com a formulação de mapas auto-organizáveis por Kohonen (1982), e a proposição de redes recorrentes feita por John Hopfield (1982). Segundo (SILVA, 2010) em 1986 Rumelhart, Hinton e Willams, publicaram o livro, Parallel distributed processing [Rumelhart et al, 1986], onde desenvolveram um algoritmo que permitia ajustar os pesos em uma rede com mais de uma camada. A proposição de tal algoritmo, denominado backpropagation, reascendeu e motivou definitivamente as pesquisas em redes neurais artificiais. A partir de daí a redes neurais passaram a ser aplicadas na solução de vários problemas científicos como na Física, na Química, na Biologia e, até mesmo, na Matemática para a solução de equações diferenciais. Vários trabalhos na literatura vêm aplicando redes neurais artificiais na solução de equações diferenciais (Kozek et al, 1995; Milligen et al, 1995; Lagaris et al, 1998; Aarts and Van Der Veer, 2001; Parisi et al, 2003; Shirvany et al, 2009; Tsoulos et al, 2009). Kozek et al (1995) aplicaram redes neurais celular para resolver equações diferenciais parciais e sistema de equações diferenciais ordinárias, eles concluíram que os paradigmas de redes neurais são estruturas flexíveis para descrever uma ampla variedade de fenômenos não lineares.
11
Milligen et al, (1995) propõem um método para resolver equações diferenciais baseado nas redes neurais, para demonstrar o potencial do método, o mesmo é aplicado em um problema de equilíbrio de plasma bidimensional ideal e concluem que os presentes processos, relativamente simples, fornecem uma prova de princípio do poder e possibilidades do método proposto. Aarts and Van Der Veer, (2001) apresentam um método de rede neural que resolve uma equação diferencial parcial com condições de contorno e\ou condições iniciais, as equações e suas condições de contorno e/ou iniciais são incorporadas nas estruturas e na formação de conjuntos de várias redes neurais. Desta forma, as redes são especificamente estruturadas. Seus resultados mostram que a aplicação do método para um problema com duas dimensões é muito bom e promissor. Parisi et al, (2003) implementam uma rede neural artificial não supervisionada para resolver equações diferenciais em um problema de engenharia química. Para treinar a rede eles utilizaram o método do algoritmo genético e o método da descida mais íngreme (ou método do gradiente descendente) eles concluem que a aproximação pela rede neural da solução é de expressão matemática compacta, que pode incluir qualquer número de parâmetros como variável, e, consequentemente, é mais adequado para ser utilizado em problemas de otimização ou controle. Shirvany et al, (2009) utilizaram uma rede neural tipo Perceptron de Múltiplas Camadas (PMC) e Função de Base Radial (FBR) para resolver ambos os tipos de equações diferenciais, ordinárias e parciais. Eles aplicaram o método na equação não linear de Schrondinger . Eles concluem que os resultados demonstram a ampla aplicabilidade do método e também mostram que o método utilizado por eles pode resolver equações diferenciais de forma eficaz com menor número de parâmetros desconhecidos, em comparação com os métodos convencionais. Tsoulos et al, (2009) resolveram equações diferenciais utilizando redes neurais artificiais com o algoritmo de evolução gramatical, através de uma série de 19 experimentos eles mostram que o método proposto conseguiu resolver todos os problemas e concluem que o método utilizado por eles pode ser estendido para resolver equações diferenciais de ordem superior. Lagaris et al. (1998) apresentam um método para resolver ambas equações diferenciais, ordinárias e parciais, utilizando uma rede neural feedforward como o elemento fundamental de aproximação, cujos parâmetros (pesos e bias) são ajustados para minimizar uma função erro apropriada. Eles utilizam um Perceptron de Múltiplas Camadas (PMC) com o método de Quase-Newton (BSFG). Seus resultados mostram que o método exibe excelente desempenho de generalização, além disso, pode facilmente ser utilizado para lidar com os domínios de dimensões superiores (três ou mais).
12
Neste trabalho foi utilizado a mesma metodologia de Lagaris et al. (1998) para resolver equações diferenciais ordinárias e parciais, definidas em um domínio regular, porém, aplica-se o método de Levenberg-Marquardt e o método da descida mais íngreme para treinar a rede. Este trabalho está divido em três capítulos e considerações finais: O Capítulo 1: Mostra conceitos básicos das redes neurais artificiais, alguns modelos de interesse para este trabalho, o processo de treinamento de uma rede neural artificial e o métodos de otimização utilizados. O Capítulo 2: Trata do caminho percorrido para a realização desde trabalho e mostra o cálculo do gradiente dos erros proposto por Lagaris et al (1998). O Capítulo 3: Ilustra através de figuras e tabelas a precisão das soluções obtidas e a comparação dos resultados obtidos pela rede, treinada com os métodos de Levemberg-Marquardt e o da descida mais Íngreme, com os métodos de Runge-Kuta e diferenças finitas. Considerações finais: Faz uma breve conclusão dos experimentos deste trabalho e sugestões para trabalhos futuros.
13
CAPÍTULO 1
REDES NEURAIS 1.1 - INTRODUÇÃO As redes neurais artificiais são modelos computacionais inspirados no sistema nervoso dos seres vivos, foram concebidas de forma a emular em um computador, a estrutura e a funcionalidade do cérebro. Para isto os pesquisadores tiveram que buscar alternativas para modelar o neurônio biológico, tanto na sua estrutura como na sua funcionalidade, na conectividade e interatividade dos neurônios e, principalmente, na dinâmica operacional do sistema biológico. SILVA et al (2010) define as redes neurais como um conjunto de unidades de processamento, caracterizadas por neurônios artificiais, que são interligados por um grande número de interconexões (sinapses artificiais) essas redes possuem a capacidade de adquirir e manter o conhecimento (baseado em informação). Suas principais características são: Adaptação por experiência; tolerância a falhas; aplicações em tempo real; capacidade de aprendizado; capacidade de resolver problemas práticos sem a necessidade da definição de listas de regras ou de modelos precisos; habilidade de generalizações; organizações de dados; armazenamento distribuído e facilidade de prototipagem.
1.2 – O NEURÔNIO BIOLÓGICO. Segundo Silva et al (2010) a função dos bilhões de neurônios que o cérebro humano possui, se resume em conduzir impulsos (estímulos elétricos advindos de reações físico-químicas) sobre determinadas condições de operações. Os principais componentes dos neurônios biológicos são:
Os dendritos, que têm como principal função captar, de forma contínua, os estímulos vindos de diversos outros neurônios. O corpo celular , formado pelo núcleo celular, citoplasma e membrana celular, é responsável de processar todas as informações advindas dos dendritos com o intuito de produzir um potencial de ativação que indicará se o neurônio poderá disparar um impulso elétrico ao longo de seu axiônio. O axiônio é constituído de uma fibra tubular que é responsável de transmitir os impulsos elétricos para outros neurônios. A sua terminação é também constituída de ramificações denominadas terminações sinápticas. As sinapses são conexões que viabilizam a transferência de impulsos elétricos do axiônio de um neurônio para os dendritos de outro. 14
A Figura 1.1 mostra o modelo de um neurônio biológico com todos os seus principais componentes.
Figura 1.1 - Modelo de um neurônio biológico
1.3 - O NEURÔNIO ARTIFICIAL O neurônio artificial é baseado em um neurônio biológico. O modelo matemático de um neurônio artificial foi primeiramente idealizado pelos pesquisadores W. S. McCulloch e W. H. Pitts em 1943 (HAYKIN, 2001). O modelo de neurônio mais simples, o qual foi proposto por McCulloch e Pitts, englobam as principais características de uma rede neural biológica, isto é, o paralelismo e alta conectividade, sendo ainda o modelo mais utilizado nas diferentes arquiteturas de redes neurais artificiais. A Figura 1.2 mostra como se compõe basicamente um neurônio artificial.
Figura 1.2 - Modelo de um neurônio artificial
Onde:
Sinais de entrada
;
15
São sinais ou medidas advindas do meio externo, que são análogos aos impulsos elétricos externos captados pelos dendritos do neurônio biológico, esses sinais representam valores assumidos pelas variáveis de uma aplicação específica.
Pesos sinápticos
;
São valores que irão ponderar cada uma das variáveis de entrada da rede, esses pesos por sua vez serão análogos as ponderações exercidas pelas junções sinápticas do modelo biológico.
Combinador linear {∑};
Tem como função agregar todos os sinais de entrada que foram ponderados pelos respectivos pesos sinápticos a fim de produzir um valor de potencial de ativação
Limiar de ativação (bias) { };
É uma variável que especifica qual será o patamar apropriado para que o resultado produzido pelo combinador linear possa gerar um valor de disparo em direção á saída do neurônio;
Potencial de ativação { u};
É o resultado da soma entre o valor produzido pelo combinador linear e o limiar de ativação.
Função de ativação { };
Tem como objetivo limitar a saída do neurônio dentro de um intervalo de valores razoáveis a serem assumidos pela sua própria imagem funcional.
Sinal de saída { y};
Consiste no valor final produzido pelo neurônio em relação a um conjunto de sinais de entrada especificados. As funções a seguir, propostas por McCulloch e Pitts, sintetizam o resultado produzido pelo neurônio artificial.
1.3.1- As funções de ativação. As funções de ativação podem ser divididas em dois grupos principais:
16
Funções de ativação parcialmente diferenciáveis.
São aquelas que possuem pontos onde suas derivadas de primeira ordem são inexistentes. As principais funções desse grupo são:
Tabela 1.1- Funções de ativação parcialmente diferenciáveis.
Função degrau
Função degrau bipolar ou função sinal.
Função rampa simétrica
17
Funções de ativação totalmente diferenciáveis.
São funções cujas suas derivadas de primeira ordem existem e são conhecidas em todos os pontos de seu domínio. As principais funções desse grupo são:
Tabela 1.2 - Funções de ativação totalmente diferenciáveis.
Função sigmoidal (logística)
Função tangente hiperbólica
Função gaussiana
Função linear
O ideal na função de ativação (ou propagação) é que ela seja não linear, limitada, monotônica e continuamente derivável em todos os seus pontos.
18
1.4 - ARQUITETURA DAS REDES NEURAIS E PROCESSO DE TREINAMENTO. Não existe nenhum procedimento determinístico para estruturar uma rede, esta é feita de forma heurística, sendo que basicamente ela pode ser dividida em três partes, chamadas de camadas, as quais são chamadas da seguinte forma:
Camada de entrada. Camadas escondidas, intermediárias, ocultas ou invisíveis. Camada de saída.
Cabe ressaltar que o aumento do número de camadas acarreta o aumento da complexidade e do tempo de processamento da rede. Dois principais tipos de estrutura compõem o universo de modelos de redes neurais artificiais (RNA): as do tipo unidirecional ( feedforward ) e as do tipo recorrente:
1.4.1- F eedforward - Neste tipo de estrutura todas as saídas dos neurônios de uma camada são conectadas com todos os neurônios da camada posterior obedecendo à direção entrada saída, não havendo conexões entre neurônios de uma mesma camada. A Figura 1.3 apresenta uma estrutura ( feedforward ) com quatro camadas.
Figura 1.3 - Neurônio artificial com quatro camadas com estrutura feedforward.
1.4.2- Recorrente ou realimentada - Nesta estrutura, ao contrario da anterior, não existe um sentido único para o fluxo dos sinais entre neurônios ou entre camadas. Cada camada pode conter conexões entre os elementos de processamento da mesma camada (estímulos laterais), das camadas anteriores e das camadas posteriores, são redes com realimentação, onde um neurônio pode ser direta ou indiretamente retroalimentado pela sua saída. A Figura 1.4 apresenta uma estrutura recorrente.
19
Figura 1.4 - Neurônio artificial com uma camada com estrutura recorrente.
A operação de uma rede neural constitui-se de 3 etapas: treinamento (ajuste dos parâmetros do modelo), teste (validação dos parâmetros do modelo) e produção (utilização do modelo).
1.4.3 - Processos de treinamento e aspectos de aprendizado Aprendizado geralmente se constitui no ajuste do conjunto de pesos de modo a executar uma tarefa específica, e pode acontecer de varias formas, mas nos deteremos a falar, basicamente, sobre as formas seguintes:
1.4.3.1 - Treinamento supervisionado - Este treinamento utiliza um conjunto de pares (entrada - saída), em que para cada padrão de entrada é especificado um padrão de saída desejado (resposta desejada). O aprendizado ocorre no momento em que a saída gerada pela rede, a partir dos cálculos efetuados com o padrão de entrada e os pesos correntes, for diferente da saída desejada, a rede deverá então, segundo alguns critérios, ajustar seus pesos de forma a reduzir o erro. Essa dinâmica é repetida para todo conjunto de dados (entradas e saídas) inúmeras vezes, até que a taxa de erro esteja dentro de uma faixa considerada satisfatória. 1.4.3.2 - Treinamento não-supervisionado - Este tipo de aprendizado também é conhecido como aprendizado auto-supervisionado, e classifica os padrões similares sem utilizar pares (entrada - saída), isto é, no treinamento da rede são usados apenas valores de entrada. A rede trabalha essas entradas e se organiza de modo a classificá-las mediante algum critério de semelhança. Esse tipo de rede utiliza os neurônios como classificadores, e os dados de entrada como elementos de classificação. 1.4.3.3 – Aprendizagem usando lote de padrões ( off-line) – Neste tipo de aprendizagem os ajustes efetuados nos vetores de pesos das redes e em seus limiares só são efetivados após a apresentação de todo o conjunto de treinamento, pois cada passo de ajuste leva em consideração o total de desvios observados nas amostras de treinamento frente aos respectivos valores desejados para as suas saídas. 20
1.4.3.4 – Aprendizagem usando lote de padrão-por-padrão ( on-line) – Neste tipo de aprendizagem ao contrário da anterior ( off-line), os ajustes dos pesos e limiares são feitos após a apresentação de cada amostra de treinamento. Portanto, após a execução do passo de ajuste, a respectiva amostra pode ser descartada. Os parâmetros usados para aprendizado e armazenamento do conhecimento dependem do modelo de rede adotado. Quaisquer que sejam estes parâmetros, os métodos de ajustes dos mesmos são chamados de regras de aprendizado, que implementam na prática, um procedimento matemático de otimização que busca minimizar ou maximizar uma determinada função objetivo. Neste trabalho é utilizado uma aprendizagem não supervisionada, pois não possuímos a saída desejada, e sim uma estimativa da saída, utilizamos também, aprendizagem usando lote de padrões ( off-line) no método de Levenberg-Marquardt e a aprendizagem usando lote de padrão-por-padrão ( on-line) no método da descida mais íngreme.
1.5- ALGUNS MODELOS DE REDES NEURAIS ARTIFICIAIS: O processo de treinamento dos modelos de redes neurais descrito nesta seção é feito pelo método da descida mais íngreme e é baseado no livro de Silva et al (2010).
1.5.1- Redes Perceptron O perceptron, proposto por Rosemblatt em 1958 (HAYKIN, 2001), foi o primeiro modelo de aprendizagem com um “ professor ” (i.e., aprendizagem supervisionada). Ela é considerada a arquitetura mais simples, pois apresenta apenas um conjunto de entradas, representativas do problema a ser mapeado, e somente uma saída, sem haver nenhuma camada de neurônios oculta, ela pertence à arquitetura feedforward de camada única. A Figura 1.5 ilustra uma rede Perceptron, com n sinais de entrada e somente uma saída. Pode-se observar na mesma que o valor do limiar de ativação { } foi assumido como sendo um termo de ponderação { }, tendo-se o valor unitário negativo como respectiva entrada.
Figura 1.5 - Modelo de um neurônio artificial com n sinais de entrada e somente uma saída.
21
1.5.1.1 - Princípio de funcionamento do Perceptron.
Nota-se na Figura 1.5 que inicialmente cada uma das entradas { serão ponderadas pelos pesos sinápticos { } a fim de quantificar a importância de cada um frente aos objetivos funcionais atribuídos ao neurônio. Em seguida, o valor resultante da soma de todas as entradas já devidamente ponderadas, adicionado ainda ao limiar de ativação (bias) { }, é repassado como argumento (potencial de ativação) para a função de ativação { u}, cujo resultado de retorno será a saída { } produzida pelo Perceptron.
Em termos matemáticos, pode-se escrever o processo interno realizado pelo Perceptron como as funções que descrevemos no início deste capítulo, propostas por McCulloch e Pitts, que sintetizam o resultado produzido pelo neurônio artificial.
Onde são as entradas da rede, são os pesos (ponderações) associados a iésima entrada, é o limiar de ativação (bias), é a função de ativação e é o potencial de ativação. As funções de ativação que são utilizadas normalmente, devido as suas características estruturais, são as funções de limite ríspido como a função degrau ou a degrau bipolar. O ajuste de pesos e limiares do Perceptron é efetuado utilizando processo de treinamento supervisionado, isto é, cada amostra dos sinais de entrada tem a respectiva saída (resposta) desejada.
1.5.1.2 - Análise matemática do Perceptron. Através da análise matemática, considerando a função sinal é verificado que o Perceptron pode ser considerado um típico caso de discriminador linear. Para ilustrar, assume-se um perceptron com duas entradas, como mostra a Figura 1.6
Figura 1.6 - Perceptron com duas entradas e uma saída.
22
Em termos matemáticos, a saída do perceptron, tendo-se como ativação a função sinal definida na seção (1.3.1), será dada por:
Sendo a desigualdade das equações acima representada por uma expressão de primeiro grau (linear), a fronteira de decisão para esta instância ( Perceptron de duas entradas) será então uma reta cuja equação é definida por:
Daí, pode-se concluir que o Perceptron se comporta com um classificador de padrões cuja função é dividir classes que sejam linearmente separáveis, isto é uma única reta seria capaz de separar as duas classes do problema. Para o caso do Perceptron de duas entradas da Figura 1.6, a Figura 1.7 (a) ilustra uma reta posicionada na fronteira de separabilidade de classes linearmente separáveis, em quanto que a Figura 1.7 (b) ilustra uma configuração em que as classes não são linearmente separáveis.
Figura 1.7 - (b) Ilustração de fronteira não linearmente separável.
Figura 1.7 - (a) Ilustração de fronteira de separação.
Se ao invés de considerar um perceptron de duas entradas for considerado um constituído de três entradas (se terá um problema com três dimensões), nesse caso, a fronteira de separação seria representada por um plano; sendo que para dimensões superiores, tais fronteiras seriam hiperplanos.
1.5.1.3 - Processo de treinamento do perceptron. O ajuste correto dos pesos sinápticos de uma rede permite que, dado um conjunto de sinais de entrada, essa rede após ter processado estes sinais de entrada através de seus neurônios apresente a saída desejada, com um nível de erro aceitável. Este ajuste é obtido, iterativamente, por meio da regra de Hebb (SILVA et al, 2010). 23
A expressão que representa este processo é a apresentada nas Equações (1.3) e (1.4) a seguir:
Onde:
(())
é o vetor contendo o limiar e o pesos; é a k-ésima amostra de treinamento; é o valor desejado para k-ésima amostra de treinamento; y é valor da saída produzida pelo Perceptron; é uma constante que define a taxa de aprendizagem da rede, esta é escolhida com cautela para evitar instabilidade no processo de treinamento, sendo normalmente escolhido valores no intervalo de [0,1].
( )
Como a mesma regra de ajuste é aplicada tanto para os pesos sinápticos como para o limiar, pode-se então inserir o valor do limiar { } dentro do vetor de pesos sinápticos. Portanto podemos representar as expressões anteriores (1.3) e (1.4) por uma única expressão vetorial dada por:
(1.5)
1.5.2- Rede Adaline e regra Delta. O Adaline e Perceptron surgiram quase que simultaneamente, esse modelo foi idealizado por Widrow e Hoff em 1960 (SILVA et al, 2010). A grande contribuição do Adaline, e a principal diferença entre este modelo e o perceptron de uma única camada, foi a introdução do algoritmo de aprendizado denominado regra Delta. A estrutura do Adaline é similar a do Percetron, composto por um conjunto de entradas, uma única camada neural, com um único neurônio. Assim como o Perceptron, a rede Adaline, possui arquitetura feedforward de camada única, e também é mais utilizada em problemas de classificação de padrões envolvendo apenas duas classes distintas. A Figura 1.9. Ilustra uma rede Adaline constituída de n-sinais de entrada e somente uma saída.
24
Figura 1.9 - Neurônio com n-sinais de entrada na rede Adaline.
1.5.2.1 - Principio de funcionamento do Adaline. O principio de funcionamento do Adaline é análogo ao do Perceptron. Conforme se pode observar, a obtenção da saída { y} do Adaline segue a mesma sequência definida para a rede Perceptron, sendo que tal processo também será representado pelas seguintes expressões:
Entretanto, observa-se na Figura 1.9 a presença de um bloco associador junto à estrutura do Adaline, cuja função é simplesmente auxiliar no processo de treinamento da rede, conforme será detalhado a seguir. O sinal de erro obtido pelo bloco é dado por:
(1.6)
Resumidamente, o Adaline tem seus pesos ajustados em função do erro do potencial de ativação { u} produzido pela rede e o respectivo valor desejado { d }. A análise matemática efetuada para demonstrar as condições de convergência do Perceptron pode ser também aplicada à rede Adaline. Em suma as classes do problema a ser mapeado devem ser linearmente separáveis para que haja a sua completa identificação.
1.5.2.2 - Processo de treinamento do Adaline O processo de ajuste dos pesos e bias do Adaline é baseado no algoritmo de aprendizado denominado de regra Delta idealizado por Widrow e Hoff em 1960 (SILVA et al, 2010) ou regra de aprendizado de Widrow-Hoff, também conhecido como algoritmo LMS (least mean square) ou método da Descida mais íngreme. O objetivo da Regra Delta é de se obter o ponto de mínimo da diferença entre a saída desejada { d } e a resposta do combinador linear { u} utilizando de cada vez um 25
exemplo do conjunto, e iterações locais, para com isso ajustar os pesos e limiar (bias) do neurônio. Ou seja, esse método utiliza a minimização do erro quadrático entre u e d com o intuito de ajustar o vetor de pesos da rede.
∑ ( )
Simplificadamente, esse algoritmo tem como objetivo obter um ótimo tal que o erro quadrático sobre todo o conjunto de amostras seja o mínimo possível. Logo considerando uma configuração ótima, temos que:
(1.7)
A função erro quadrático em relação às p amostras de treinamento é definida por:
(1.8)
Substituindo (1.1) em (1.8), obtém-se:
(1.9)
(1.10)
Daí, a expressão (1.8) totaliza a composição do erro quadrático médio contabilizando-se os p padrões de treinamento disponibilizados para o processo de aprendizagem do Adaline. Com o objetivo de encontrar o valor ótimo para o erro quadrático médio dado, aplica-se o operador gradiente em relação ao vetor de pesos w.
( )() ( )
Assim,
Daí,
Pois
26
(1.11)
(1.12)
(1.13)
O treinamento do vetor de pesos deve ser efetivado em direção a um ponto de mínimo, caminhando-se simplesmente no sentido oposto ao gradiente naquele ponto, pois o objetivo da otimização é minimizar o erro quadrático médio. Por esse motivo a variação a ser efetivada no vetor de pesos do Adaline é dada por:
(1.14)
Onde é o parâmetro da taxa de aprendizagem. Este método, em que caminha-se no sentido oposto ao gradiente é conhecido como o método da descida mais íngreme ou método do gradiente descendente. Substituindo o resultado de (1.13) em (1.14), obtém-se:
( ) ( ) ( )
(1.15)
Logo, podemos expressar (1.15) por:
(1.16)
Por uma questão de simplificação podemos optar por atualizar w discretamente após a apresentação de cada k-ésimo padrão de treinamento, ou seja:
1.5.2.3 - Comparação entre o processo de treinamento do Adaline e Perceptron. Foi visto que o processo de treinamento do Adaline é realizado por meio da regra Delta, cujo objetivo consiste em minimizar a diferença entre a saída desejada { d } e a resposta do combinador linear { u}, considerando para tanto todas as amostras de treinamento disponíveis. Por isso, independentemente dos valores iniciais atribuídos ao seu vetor de pesos, o hiperplano de separabilidade obtido após a convergência da rede será o mesmo. Diferentemente do Adaline o processo de treinamento do Perceptron é realizado pela regra de Hebb, na qual se considera a resposta produzida após a apresentação individual (sinapses locais) de cada amostra de treinamento. Em tal situação, quaisquer hiperplanos posicionados dentro da faixa de separabilidade entre as classes são consideradas soluções apropriadas ao propósito de classificação de padrões pelo Perceptron.
27
1.5.3- Rede Perceptron de múltiplas camadas (PMC). As redes Perceptron de múltiplas camadas (PMC) são caracterizadas pela presença de pelo menos uma camada intermediaria (oculta) de neurônios, situada entre a camada de entrada e a respectiva camada neural de saída. Logo, observa-se que as redes PMC possuem no mínimo duas camadas de neurônios, os quais estão distribuídos entre as camadas intermediarias e a camada de saída. O PMC é uma generalização da rede perceptron e, assim como esta, ela pertence à arquitetura feedforward s, seu treinamento é feito de forma supervisionada. O mecanismo utilizado para a aprendizagem no caso do PMC é conhecido como algoritmo de retropropagação de erro. Na Figura 1.11 apresenta-se uma ilustração de um perceptron de múltiplas camadas com duas camadas escondidas.
Figura 1.10 – Perceptron de múltiplas camadas com duas camadas escondida.
1.5.3.1 - Principio de funcionamento do Perceptron de múltiplas camadas. Pode-se observar através da Figura 1.10 que cada uma das entradas da rede, representando os sinais advindos de determinada aplicação será distribuída uma a uma para os neurônios da camada seguinte, neste caso, as saídas dos neurônios da primeira camada neural escondida serão as próprias entradas daqueles neurônios pertencentes a segunda camada neural escondida, e assim sucessivamente. Ou seja, o perceptron de múltiplas camadas funciona como uma sequências de perceptrons simples interconectados, tendo sempre sua propagação sendo feita da camada de entrada em direção a camada de saída. O perceptron de múltiplas camadas diferencia-se do perceptron simples, não só pela presença de camadas escondidas, como também, por sua camada de saída ter a possibilidade de ser composta por diversos neurônios como mostra a Figura 1.10. Além disso, no perceptron simples um único neurônio era responsável pelo mapeamento integral de todo o processo, agora no perceptron de múltiplas camadas o conhecimento 28
relacionado ao comportamento entrada/saída do sistema será distribuído por todos os neurônios constituintes do PMC. A configuração topológica de uma rede perceptron de múltiplas camadas, tais como a quantidade de camadas intermediaria e seus respectivos números de neurônios, vão depender de diversos fatores, como: a classe de problema a ser tratada pelo PMC, a disposição espacial das amostras de treinamento e os valores iniciais atribuídos tanto ao parâmetro de treinamento como às matrizes de pesos.
1.5.3.2 - Processo de treinamento do Perceptron de múltiplas camadas. No processo de treinamento de redes PMC é aplicado um algoritmo de aprendizado denominado backpropagation ou algoritmo de retropropagação do erro, conhecido também como regra Delta generalizada. O treinamento de uma rede PMC é geralmente constituído de duas fases bem especificas. A primeira fase a é denominada de “propagação adiante” ( forward ), onde visa-se obter as respostas da rede levando em consideração, apenas valores atuais dos pesos sinápticos e limiares de seus neurônios, que serão inalterados durante cada execução desta fase. Nesta fase os sinais de entrada de uma amostra do conjunto de treinamento são inseridos nas entradas da rede e são propagados camada a camada até a produção das respectivas saídas. Após isso as saídas da rede são comparadas com as respectivas respostas desejadas que estejam disponíveis.
Considerando uma rede PMC que contenha neurônios em sua camada de saída, os respectivos desvios (erros) diferença entre as respostas desejadas e aquelas obtidas pela rede são então calculados, os quais posteriormente serão utilizados para ajustar os pesos e limiares de todos os seus neurônios. Em seguida aplica-se, a segunda fase do método backpropagation denominada de “propagação reversa” (backward ). No decorrer desta fase, diferentemente da fase anterior, são executadas as alterações (ajuste) dos pesos sinápticos e limiares de todos os neurônios da rede. As sucessivas aplicações das fases forward e backward fazem com que os pesos sinápticos e limiares dos neurônios se ajustem automaticamente em cada interação, implicando na gradativa diminuição da soma dos erros produzidos pelas respostas da rede frente aquelas desejadas.
1.5.3.2.1 - Derivação do algoritmo backpropagation. O algoritmo backpropagation foi criado por Rumelhart, Hinton e Williams em 1986 (HAYKIN, 2001), a partir d a generalização da regra de aprendizado “Widrow Hoff”, que fora introduzida por Bernard Widrow e Marcian Hoff em 1960-1962 para redes do tipo feedfoward perceptron. A regra de aprendizado “Widrow-Hoff” também é conhecida como “Regra Delta” — LMS (minimização do erro médio quadrático) — que ajusta os pesos das
29
conexões entre os neurônios da rede de acordo com o erro, ou seja, esta regra tem como objetivo encontrar um conjunto de pesos e polarizações que minimizem a função erro. Para um melhor entendimento da funcionalidade envolvida no algoritmo backpropagation, será primeiramente definida diversas variáveis e parâmetros auxiliares. Na Figura 1.11 a seguir apresenta-se um conjunto de variáveis que norteiam a derivação do algoritmo.
Figura 1.11 – Notação para derivação do algoritmo backpropagation
Será visto cada neurônios { j} pertencentes a uma das camadas {L} da topologia ilustrada na Figura 1.11 como um perceptron simples como mostra a Figura 1.12:
Figura 1.12 – Configuração do neurônio utilizado na derivação do algoritmo backpropagation
Onde representa uma função de ativação que deve ser diferenciável em todo o seu domínio, tais como aquelas representadas pela função de ativação logística ou tangente hiperbólica.
30
Através das Figuras 1.11 e 1.12, assume-se então a seguinte terminologia para seus parâmetros constituintes:
1) São matrizes de pesos cujos elementos denotam o valor do peso sináptico conectando o j-ésimo neurônio da camada (L) ao i-ésimo neurônio da camada (L-1). Para a topologia ilustrada na Figura 1.11, tem-se:
é o peso sináptico conectando o j-ésimo neurônio da camada de saída ao i-ésimo neurônio da camada 2; é o peso sináptico conectando o j-ésimo neurônio da camada escondida 2 ao i-ésimo neurônio da camada 1; é o peso sináptico conectando o j-ésimo neurônio da camada escondida 1 ao i-ésimo neurônio da camada de entrada.
2) São vetores cujo os elementos denotam a entrada ponderada em relação ao j-ésimo neurônio da camada L, os quais são definidos por:
3) São vetores cujos elementos denotam a saída do j-ésimo neurônio em relação à camada L, os quais são definidos por:
Todo o processo de treinamento do PMC é em função do sinal de erro, que é visto a seguir.
31
Onde
é a resposta calculada para o neurônio j. é a resposta desejada para o neurônio j.
Considerando a topologia ilustrada na Figura 1.11. Assume-se a função erro quadrático como aquela a ser utilizada para medir o desempenho local associado aos resultados produzidos pelos neurônios de saída à referida amostra, ou seja:
∑
(1.17)
Onde é o valor produzido pelo j-ésimo neurônio de saída da rede considerando-se a k-ésima amostra de treinamento, enquanto que é o seu respectivo valor desejado. Assumindo um conjunto de treinamento composto por p amostra, o erro quadrático médio é escrito como:
O método utilizado para o ajuste dos pesos e bias é baseado no gradiente (também chamado de método da descida mais íngreme) da função erro quadrático dada em (1.17).
1.5.3.2.1.1- Ajuste dos pesos sinápticos da camada de saída. O objetivo é determinar o gradiente
, para aplicar a correção
na
matriz de pesos com o intuído de minimizar o erro entre a saída produzida pela rede e sua respectiva saída desejada. De acordo com a regra da cadeia do calculo, pode expressar esse gradiente como:
(1.18)
Por intermédio das definições anteriores temos que:
32
(1.19) (1.20)
(1.21)
Onde denota a derivada de primeira ordem da função de ativação considerada. Substituindo os resultados das equações (1.19), (1.20) e (1.21) na equação (1.18) temos:
Logo, o ajuste da matriz de pesos deve ser efetuado em direção oposta ao gradiente afim de minimizar o erro (método da descida mais íngreme), ou seja:
(1.22)
Onde
é definido como o gradiente local em relação ao j-
ésimo neurônio da camada de saída.
é a taxa de aprendizagem do algoritmo backpropagation.
De forma complementar pode-se escrever a expressão (1.22) no seguinte procedimento recursivo: recursivo:
1.5.3.2.1.2- Ajuste dos pesos sinápticos de camadas intermediárias. O ajuste dos neurônios das camadas intermediárias é realizado através de estimativas de erros de saída produzidos por aqueles neurônios da camada imediatamente posterior, os quais já foram previamente ajustados, esse fato se dá, pois diferentemente dos neurônios da camada de saída do PMC, os neurônios das camadas intermediárias não tem acesso de forma direta aos valores desejados para as suas saídas. Dando sequência aos ajustes, continua-se fazendo uso da topologia ilustrada na Figura 1.12, a qual possui duas camadas escondidas. escondidas.
Ajuste dos pesos sinápticos da segunda camada escondida.
O objetivo do processo de treinamento para a segunda camada neural escondida consiste em ajustar a matriz de pesos com o intuído de minimizar o erro entre a saída produzida pela rede em relação à retropropagação do erro advindo dos ajustes dos neurônios da camada neural de saída. Assim tem-se: 33
(1.23)
Por intermédio das definições anteriores tem-se que:
(1.24)
(1.25)
∑ ∑ ∑∑ ∑∑
Onde o valor da derivada parcial do argumento da parcela
próprio
, ou seja:
∑
(1.26)
éo
(1.27)
Por outro lado temos que
∑
(1.28)
Logo substituindo (1.28) em (1.27), temos:
(1.29)
Substituindo as equações (1.24), (1.25) e (1.29) na equação (1.23) temos:
Logo, o ajuste da matriz de pesos gradiente afim de minimizar o erro, ou seja:
34
deve ser efetuado em direção oposta a
(1.30)
Onde
∑
é definido como o gradiente local em relação ao j-ésimo neurônio da segunda camada intermediária. De forma complementar pode-se escrever a expressão (1.30) no seguinte procedimento iterativo: iterativo:
Ajuste dos pesos sinápticos da primeira camada escondida.
∑ ∑ ∑∑ ∑∑ ∑ ∑
Em relação a primeira camada escondida, o objetivo do processo de treinamento consiste em ajustar a matriz de pesos com o intuído de minimizar o erro entre a saída produzida pela rede em relação à retropropagação do erro advindo dos ajustes dos neurônios da segunda camada neural. Assim tem-se:
(1.31)
Por intermédio das definições anteriores temos que:
(1.32)
(1.33)
(1.34)
De forma semelhante ao ajuste anterior tem-se que o valor da derivada parcial do argumento da parcela
é o próprio
, ou seja:
(1.35)
Por outro lado tem-se que:
35
(1.36)
Logo substituindo (1.36) em (1.35), obtém-se:
∑ ∑
(1.37)
Daí substituindo as equações (1.32), (1.33) e a (1.37) na equação (1.31) tem-se:
Logo, o ajuste da matriz de pesos deve ser efetuado em direção oposta a gradiente afim de minimizar o erro (método da descida mais íngreme), ou seja:
(1.38)
Onde
é definido como o gradiente local em relação ao j-ésimo neurônio da primeira camada intermediária. De forma complementar pode-se escrever a expressão (1.38) no seguinte procedimento iterativo: iterativo:
Vale ressaltar que em primeira instância, tem-se ajustado os pesos sinápticos dos neurônios da camada de saída, somente depois de obtidos os valores verdadeiros dos desvios observados entre suas respostas produzias e os respectivos valores desejados, é que serão ajustados os valores dos pesos sinápticos das camadas anteriores. Em segunda instância, retropropaga-se este erro para os neurônios das camadas anteriores, ponderando-se os mesmo pelos valores de pesos sinápticos que já foram previamente ajustados em todas as camadas posteriores. Consequentemente, a resposta desejada em todas as camadas escondida deve ser então determinada em função dos neurônios (da camada imediatamente posterior) que estão diretamente conectados a este e que já foram previamente ajustados no passo anterior. O número de vezes que serão necessárias apresentar todas as amostras do conjunto de treinamento para o ajuste do vetor de pesos { w} será denominado de época.
1.5.3.2.2 – Outra Outra versão do Algoritmo backpropagation. 1.5.3.2.2.1 - Método de Levenberg-Marquardt. Esse método é aplicável em uma função de custo que é expressa como a soma de erros quadráticos. Seja 36
Onde o fator é incluído somente com o intuito de simplificar a análise subseqüente.
[ ] { ‖‖} ‖ ‖ ‖‖ ()
O sinal do erro é uma função do vetor de pesos ajustável . Dado um ponto de operação , linearizamos a dependência de em relação a escrevendo
Pode-se escrever isso matricialmente como:
Onde
E
(1.39)
é é o vetor
é a matriz jacobiana k-por-m de
:
A matriz jacobiana e transposta da matriz de gradiente m-por-k
O vetor de peso atualizado
, onde
é assim definido por
Usando a equação (1.39) para calcular a norma euclidiana quadrática de , é obtido.
Onde
A fim de minimizar esta expressão diferencia-se a mesma em relação a iguala-se o resultado a zero, daí obtêm-se 37
e
Resolvendo esta equação para
, pode-se então escrever;
A equação acima descreve a forma pura do método de Gauss-newton, porém para que a interação deste método seja computável, a matriz produto deve ser não singular. Então para assegurar esta não singularidade da matriz produto tem-se como pratica atual a adição da matriz diagonal . Onde o I é a matriz identidade e é um parâmetro que ajusta a taxa de convergência do algoritmo.
Então o método é implementado da forma ligeiramente modificada conhecida como o método de Levemberg-Marquadt:
Esse método, diferentemente do método de Newton, requer apenas o cálculo da matriz Jacobiana do vetor de erro , o que o torna um método de mais fácil implementação, pois a determinação da matriz Jacobiana é muito mais simples que a determinação da matriz Hessiana. Esse método apresenta convergência em menos iterações, mas requer mais cálculos por iteração devido ao cálculo de matrizes inversas.
38
CAPÍTULO 2
METODOLOGIA 2.1- INTRODUÇÃO Neste capítulo será abordado o caminho percorrido para conclusão deste trabalho. Como foi visto no capítulo 1 que os métodos de otimização da descida mais íngreme e o método de Levenberg-Marquardt requerem o calculo do gradiente, por isso veremos também, neste capítulo, o calculo do gradiente das funções de custo. Neste trabalho foi utilizado teste com um perceptron de múltiplas camadas tendo uma camada oculta com 10 neurônios, e uma unidade de saída com a função linear. A função de ativação utilizada na camada oculta foi a sigmoide linear, a otimização foi feita através do método da descida mais íngreme e do método de Levenberg-Marquardt. A rede neural foi implementada no software MATLAB em um computador de uso doméstico, com 2 gb de memória, 520 de HD, proc. Intel dual core. Foi utilizado como critério de parada do programa um , ou seja, enquanto a diferença entre o erro quadrático de duas interações consecutivas não forem menor ou igual a o programa continua atualizando os pesos.
A solução analítica exata de cada função teste já era conhecida com antecedência, para com isso ser testado a precisão da solução da rede treinada. O teste dessa precisão era obtido calculando o desvio . Foi comparado também as soluções das edo’s de 1ª ordem e do sistema acoplado de edo’s obti dos pela rede com as soluções do método de Runge-Kutta de 2ª ordem (método de Euler melhorado), e utilizado o método de diferenças finitas (centrada) para comparar os resultado das Edo’s de 2ª ordem e Edp’s obtido s pela rede.
⃗⃗⃗
2.2- DESCRIÇÃO DO MÉTODO. Lagaris et al (1998) utiliza em seu artigo o método de Quase-Newton para treinar a rede, neste trabalho, diferente do trabalho do Lagaris, foi empregado outros dois métodos de otimização; O método da descida mais íngreme e o método de Levenberg-Marquardt, os quais requerem o calculo do gradiente do erro e o calculo da matriz Jacobiana. As redes foram treinadas com uma malha de dez pontos eqüidistantes. A aproximação proposta é ilustrada em termos da equação geral a seguir:
(⃗ ⃗ ⃗ ⃗) ⃗ 39
(2.1)
Sujeita a condições de fronteira (CF) ou condições iniciais (CI), como as condições de Dirichlet e/ou Neumann, onde;
⃗
⃗
denota a definição do domínio
é a solução para ser calculada.
⃗ ⃗ ⃗ ⃗ ⃗ ( )
Para obter uma solução para a equação diferencial (2.1), assume-se uma discretização do domínio D num conjunto de pontos e de sua fronteira S em um conjunto de pontos . Daí o problema é transformado no sistema de equações a seguir.
(2.2)
Sujeito às restrições imposta pelas condições de fronteira ou condições iniciais.
⃗⃗ ⃗ ∑⃗(⃗ ⃗⃗ ⃗⃗ ⃗⃗) ⃗ ⃗ ⃗ ⃗⃗⃗ ⃗ ⃗⃗ ⃗ ⃗ ⃗⃗⃗ ⃗
Se denota uma solução aproximada com parâmetros ajustáveis problema é transformado para
A solução aproximada CF’s. Assim.
⃗
,o
(2.3)
é escolhida tal que por construção satisfaça a
(2.4)
Onde é a saída da rede neural feedforward com parâmetros e unidades de entradas alimentadas com o vetor de entrada .
O primeiro termo não contém parâmetros ajustáveis e satisfaz a condição de fronteira. O segundo termo é construído de forma a não contribuir para a CF’s, uma vez que deve satisfazê-los. Este termo emprega uma rede neural cujos pesos e bias devem ser ajustados a fim de lidar com o problema de minimização.
2.3 – ILUSTRAÇÃO DO MÉTODO 2.3.1 – Soluções de EDO’s de 1ª ordem. Considera-se a EDO de 1ª ordem.
Com
e com condição inicial (CI)
Uma possível solução é escrita como; 40
(2.5) .
⃗ ⃗ ∑
(2.6)
Onde o erro para ser minimizado é dado pela equação:
(2.7)
A qual será a função de custo utilizada nas técnicas de otimização.
2.3.2 – Soluções de EDO ’s de 2ª ordem. O mesmo procedimento pode ser aplicado para EDO’s de 2ª ordem
⃗ ⃗ ⃗ ∑
Para o problema de valor inicial: pode ser expressa como:
e
, a solução aproximada
(2.8)
Considerando-se as condições de fronteira (CF) de Dirichlet: , a solução aproximada pode ser escrita como:
e
(2.9)
Nos dois casos acima de EDO’s de segunda ordem o erro para ser minimizado é dada pela seguinte equação:
Onde os
(2.10)
’s são pontos em [0,1].
2.3.3 – Soluções de Sistemas EDO’s de 1ª ordem . Considerando agora o sistema de EDO’s de 1ª ordem.
⃗ ⃗∑ ∑ ( )
(2.11)
A solução aproximada será escrita como;
(2.12)
O erro para ser minimizado é dado por
2.3.4 - Soluções de EDP’s.
41
(2.13)
Neste trabalho vamos utilizar apenas EDP’s Elípticas.
Vamos então considerar a equação de Poisson
(2.14)
⃗ ⃗ ⃗ ⃗ ⃗∑ Onde
com condição de fronteira de Dirichlet: . A solução aproximada
será escrita como;
Onde Dirichlet, isto é;
(2.15)
é escolhido como para satisfazer a condição de fronteira de
(2.16)
Para condições de fronteira mistas (parte Dirichlet e Neumann) da forma .
A
solução
aproximada é escrita como;
(2.17)
Onde
é escolhido para satisfazer as condições de fronteira.
(2.18)
A função de custo para ser minimizada é dada por;
Onde os
são pontos em
(2.19)
.
2.4 - CÁLCULO DO GRADIENTE O calculo do gradiente da função de custo deste trabalho envolve valores não somente da saída da rede (como nos caso tradicionais de treinamento), mas envolve também as derivadas das saídas em relação a qualquer de suas entradas. Então no calculo do gradiente da função de custo em relação aos pesos da rede, é preciso primeiro calcular o gradiente da saída da rede em relação as suas entradas. A Figura 2.1 ilustra a rede neural utilizada neste trabalho. 42
Figura 2.1- Perceptron de múltiplas camadas com uma unidade de saída.
Considera-se um perceptron de múltiplas camadas com n unidades de entrada, uma camada oculta com H unidades, onde utilizamos a função sigmoide (logística) e uma unidade de saída com função linear, o caso de mais de uma camada oculta pode ser obtido analogamente. Para um dado vetor de entrada a saída da rede é , onde , denota o peso da unidade de entrada j para a unidade de oculta i, e é a função de ativação sigmóide. Isso diretamente mostra que
⃗ ∑ ∑ Onde
e
denota a derivada de k-ordem da sigmóide.
Agora será feito o calculo do gradiente da função de custo das equações diferenciais citadas anteriormente:
2.4.1 Equação Diferencial Ordinária (EDO) de primeira ordem. De acordo com (2.6) a solução aproximada de uma equação ordinária de 1ª ordem é da forma:
⃗ ⃗⃗ ⃗∑
Onde entrada x e pesos .
(2.20)
é a saída da rede neural feedforward com uma unidade de
E por (3.8) a função de custo para ser minimizada é dada por
Onde os
’s são pontos em [0,1].
43
(2.21)
Tem-se que
⃗ ⃗
(2.22)
Substituindo (2.22) em (2.21), temos que a função de custo é da seguinte forma;
⃗ ∑ ⃗ ⃗ ⃗ ⃗ () ⃗ ⃗ ⃗ ()
Derivando (2.23) em relação aos pesos da última camada
(2.23)
temos;
Onde Se,
(2.24)
(2.25)
(2.26)
(2.27)
Substituindo (2.25), (2.26) e (2.27) em (2.24). Obtêm-se
⃗ ()
(2.28)
Derivado a equação do erro (2.23) em relação aos pesos da camada oculta tem-se;
Então
⃗ ⃗ () ⃗
44
(2.29)
(2.30)
(2.31)
()
(2.32)
Substituindo (2.30), (2.31) e (2.32) em (2.29). Obtêm-se
⃗ () ⃗ ⃗ ()
Derivado a equação do erro (2.23) em relação ao bias
Então
⃗
temos:
(2.33)
(2.34)
(2.35)
()
(2.36)
(2.37)
Logo, substituindo (2.35), (2.36) e (2.37) em (2.34). É obtido
⃗ ()
(2.38)
2.4.2 - Equação diferencial Ordinária (EDO) de segunda ordem
De forma análoga ao calculo do gradiente da EDO de primeira ordem. Vamos considerar para o problema de valor inicial: e , a solução aproximada escrita em (2.8) como; 45
⃗ ⃗
(2.39)
Para dois pontos da condição de contorno de Dirichlet: a solução aproximada é escrita em (2.9) como:
e
,
(2.40)
E como foi visto em (2.10) a função de custo para ser minimizada em ambos os casos é a seguinte:
Onde os
⃗ ∑
(2.41)
’s são pontos em [0,1].
Para o caso do problema de valor inicial, tem-se que;
⃗ ⃗ ⃗
(2.42)
Já para o caso da condição de contorno de Dirichlet. Obtêm-se
⃗ ⃗ ⃗
(2.43)
Substituindo (2.42) em (2.41), chega-se que a função de custo é a seguinte;
⃗ ⃗ ⃗ ⃗
(2.44)
Tem-se que o gradiente de (2.44) em relação aos pesos da última camada é:
⃗ ⃗ ⃗ () ⃗ ⃗ ⃗
Onde
Como,
46
(2.45)
⃗
()
(2.46)
(2.47)
(2.48)
() () ()
(2.49)
Como o segundo termo da soma da equação (2.49) vai ser igual a zero em ambas equações deste trabalho, temos que substituindo (2.46), (2.47), (2.48) e (2.49) em (2.45). Obtêm-se a seguinte equação:
⃗
O gradiente da função de custo (2.44) em relação aos pesos da camada oculta é:
Como,
⃗ ⃗ ⃗ () () ⃗ 47
(2.50)
(2.51)
()
(2.52)
() ()
(2.53)
(2.54)
Logo substituindo (2.51), (2.52), (2.53) e (2.54) em (2.50). Obtém-se que
⃗
Por fim, o gradiente de (2.44) erro em relação ao bias é:
⃗ ⃗ ⃗ () () ⃗
(2.55)
Calculando tem-se:
48
(2.56)
(2.57)
⃗
() ()
(2.58)
(2.60)
Substituindo (2.56), (2.57), (2.58) e (2.59) em (2.55). Obtêm-se
⃗ Observe que quando se deriva a função de custo para uma equação com as condições de contorno de Dirichlet, substitui-se a equação (2.43) em (2.41) obtendo então;
⃗ ⃗ ⃗ ⃗
(2.61)
É obtido de forma análoga a anterior os seguintes gradientes do erro;
O gradiente de (2.61) em relação aos pesos da ultima camada, que é dado por:
⃗ ⃗ O gradiente de (2.61) em relação aos pesos da camada oculta, dado por:
E o gradiente de (2.61) em relação ao bias, dado por:
49
⃗ ⃗ ⃗ ⃗ Onde
2.4.3 -Sistema Acoplado de Equações diferencial Ordinária (EDO’s). Considerando a solução aproximada dada em (2.12);
⃗ ⃗ ∑ ∑ ( )
(2.62)
A função de custo dada em (2.13) para ser minimizada é;
Onde os Como
(2.63)
’s são pontos em [0,1].
⃗ ⃗ ⃗ ∑ ∑ ⃗ ⃗
(2.64)
Substituindo (2.64) em (2.63), chega-se na seguinte função de custo
(2.65)
O gradiente de (2.64) em relação aos pesos da última camada é:
⃗ ∑ ⃗ () ⃗ ⃗
(2.66)
Onde e
, para
Tem-se que:
50
⃗ () () ∑ ()
(2.67)
(2.68)
(2.69)
De (2.67), (2.68) e (2.69) em (2.66) conclui-se que:
⃗ ()() {
Onde
O gradiente da função de custo (2.64) em relação aos pesos da camada oculta é:
⃗ ∑ ⃗ () ⃗ () () ()
(2.70)
Como,
51
(2.71)
(2.72)
∑ ()
(2.73)
De (2.71), (2.72) e (2.73) em (2.70) conclui-se que:
⃗ () () () () ( ⃗ ∑ ⃗ ) ⃗ () () ∑ () Por fim, o gradiente da função de custo (2.64) em relação ao bias é:
(2.74)
Onde
(2.75)
(2.76)
(2.77)
De (2.75), (2.76) e (2.77) em (2.74) conclui-se que:
⃗ () () ()
2.4.4 -Equação diferencial Parcial (EDP). Vimos em (2.15) que a solução aproximada de uma equação diferencial parcial é escrita como; 52
⃗ ⃗∑ ⃗ ⃗
Onde
(2.78)
é escolhido como para satisfazer a condição de fronteira, isto é
A função de custo dada em (2.19) para ser minimizada é:
Onde os
são pontos em
(2.79)
.
(2.80)
(2.81)
e
Chamando de
Pode-se escrever as equações (2.80) e (2.81) como;
⃗ ⃗
O gradiente da função de custo (2.79) em relação aos pesos da última camada
é:
⃗ 53
(2.82)
Onde
()
Como;
(2.83)
(2.84)
(2.85)
Substituindo (2.83), (2.84) e (2.85) em (2.82). Obtêm-se
⃗
O gradiente da função de custo (2.79) em relação aos pesos da camada oculta é dado pela seguinte equação:
⃗
(2.86)
Onde
Sendo
54
(2.87)
(2.88)
(2.89)
Daí substituindo (2.87), (2.88) e (2.89) em (2.86). Obtêm-se;
⃗ ⃗
O gradiente da função de custo (2.79) em relação ao bias é dado pela equação:
(2.90)
Como;
(2.91)
(2.92)
Substituindo (2.91), (2.92) e (2.93) em (2.90). Obtêm-se;
⃗
55
(2.93)
CAPÍTULO 3
RESULTADOS 3.1- INTRODUÇÃO Neste capítulo são apresentados vários exemplos de estudos de caso para ilustrar a solução de equações diferenciais pelo método apresentado. Em todos os casos foi usado um perceptron de múltiplas camadas tendo uma camada oculta com 10 neurônios utilizando a função sigmóide (logística) e uma unidade de saída com função de ativação linear.
Para ilustrar as características das soluções fornecidas pelo método neural, são fornecidas figuras que mostram o desvio em relação a solução analítica e as aproximações de cada equação.
3.2 - A REDE NEURAL PARA SOLUÇÃO DE EDO’S DE PRIMEIRA ORDEM: 3.2.1 – Problema 1
⃗ ⃗ ⃗ Com
e
. A solução analítica é
De acordo com (2.5) a solução aproximada é escrita como . Foram selecionados 10 pontos equidistantes em [0,1] para o treinamento da
rede.
A Figura 3.1 ilustra a aproximação da solução fornecida pela rede neural, treinada com o Método da descida mais Íngreme e comparada com a solução analítica e o método de Runge-Kutta de 2ª ordem (Euler melhorado). A Figura 3.2 por sua vez ilustra a aproximação da solução fornecida pela rede neural, treinada pelo método de Levenberg-Marquardt e comparada, também, com a solução analítica e o método de Runge-Kutta.
56
Figura 3.1 - Problema 1; Aproximação da solução fornecida pela rede neural treinada com o método da descida mais Íngreme
Figura 3.2 - Problema 1; Aproximação da solução fornecida pela rede neural treinada com o método de LevenbergMarquardt.
As Figuras 3.1 e 3.2 mostram que a rede obteve uma aproximação tão boa quanto o método de Runge-Kutta, além disso, pode-se observar também que o método de Levenberg-Marquardt, nesta equação, teve uma melhor aproximação quando comparado ao método da descida mais íngreme.
As Figuras 3.3 e 3.4 por sua vez mostram a desvio da solução exata correspondente a malha de ponto de uma rede treinada pelo método da Descida 57
mais íngreme e pelo método de Método de Levenberg-Marquardt respectivamente. Pode-se observar que as mesmas reforçam a análise das figuras anteriores, a precisão do método de Levenberg-Marquardt se mostra superior ao método da descida mais íngreme, onde o desvio do método de Levenberg-Marquardt é próximo enquanto que o da descida mais íngreme é próximo a
Figura 3.3 - Problema 1; Desvio do Método da Descida mais Íngreme.
Figura 3.4 – Problema 1; Desvio do Método de Levenberg-Marquard
As Figuras 3.5, 3.6 e 3.7 mostram como a rede se comporta em uma malha com mil pontos equidistantes, ou seja, em sua fase operacional, nesta fase os pesos e bia, já devidamente treinados, são salvos e inseridos na rede e são propagados camada a camada até a produção das respectivas saídas, não havendo atualização dos pesos nessa fase. Lembrando que a rede foi treinada em uma malha com 10 pontos equidistantes. A Figura 3.5 mostra o desvio operacionais.
de pontos treinados e de pontos
Figura 3.5 - Problema 1; Desvio obtido pelo método da Descida mais Íngreme e pelo método de Levenberg-Marquardt em uma malha de mil pontos.
58
A Figura 3.6 mostra a aproximação da solução fornecida pela rede neural com a solução analítica exata de pontos fornecidos por uma rede treinada pelo método da Descida mais íngreme, em uma malha com mil pontos equidistantes.
Figura 3.6 - Problema 1; Aproximação da solução fornecida pela rede neural treinada pelo método da Descida mais íngreme
De modo análogo a Figura 3.7 mostra a mesma aproximação só que agora com pontos de uma rede treinada pelo método de Levenberg-Marquardt.
Figura 3.7 - Problema 1; Aproximação da solução fornecida pela rede neural treinada pelo método de Levenberg-Marquardt.
59
É interessante observar que as Figuras 3.6 e 3.7 mostra que a rede não perde precisão quando utilizado outros pontos, além dos treinados, na fase operacional.
⃗
A Tabela 3.1 mostra a quantidade de épocas que cada método utilizou com o mesmo vetor de entradas e os mesmos pesos e bias iniciais ( . Tabela 3.1 - Problema 1; Quantidades de épocas dos métodos da descida mais íngreme e Levenberg-Marquardt.
Método da descida mais Íngreme 578
Época
Método de LevenbergMarquardt 130
3.2.2 – Problema 2
⃗ ⃗ ⃗ Onde
e
.
A solução analítica é e por (2.5) a solução aproximada vai ser . A rede do mesmo modo que a primeira foi treinada com uma malha de dez pontos equidistantes em [0,1]. A Figura 3.8 e a Figura 3.9 ilustram a aproximação da solução fornecida pela rede neural com a solução analítica e o método de Runge-Kutta, de uma rede treinada com o método da Descida mais íngreme e com uma rede treinada pelo método de método de Levenberg-Marquardt respectivamente.
Figura 3.8 - Problema 2; Aproximação da solução fornecida pela rede neural treinada com o método da descida mais Íngreme
60
Figura 3.9 - Problema 2; Aproximação da solução fornecida pela rede neural treinada com o método de LevenbergMarquardt.
Nas Figuras 3.8 e 3.9, é observado, assim como Problema 1, que o método de Levenberg-Marquardt tem uma melhor precisão que o método da descida mais íngreme.
As Figuras 3.10 e 3.11 por sua vez mostram o desvio da solução exata correspondente a malha de ponto de uma rede treinada pelo método da Descida mais íngreme e pelo método de método de Levenberg-Marquardt respectivamente.
Figura 3.11 - Problema 2; Desvio
Figura 3.10 - Problema 2; Desvio do Método da Descida mais Íngreme.
do Método de
Levenberg-Marquardt..
Nas Figuras 3.10 e 3.11 a superioridade do método de Levenberg-Marquardt nesta equação fica mais evidente, pois mostra que o desvio máximo deste método esta próximo enquanto que o desvio máximo do método da descida mais íngreme esta próximo de .
61
De forma análoga a primeira equação, as Figuras 3.11, 3.12 e 3.13 mostram como a rede se comporta em uma malha com mil pontos equidistantes. As Figuras 3.11 e 3.12 mostram a aproximação da solução fornecida pela rede neural com a solução analítica, de pontos fornecido por uma rede treinada pelo método da Descida mais íngreme e pelo método de Levenberg-Marquardt respectivamente.
Figura 3.11 - Problema 2; Aproximação da solução fornecida pela rede neural treinada pelo método da Descida mais íngreme.
Figura 3.12 - Problema 2; Aproximação da solução fornecida pela rede neural treinada pelo método de Levenberg-Marquardt.
62
Nas Figuras 3.11 e 3.12 observa-se que a precisão do método continua muito boa quando se generaliza para uma malha com mil pontos, note que na Figura 3.12 é quase imperceptível a diferença entre a solução fornecida pela rede e a solução analítica, o que mostra que o método de Levenberg-Marquardt tem uma melhor precisão comparado ao método da descida mais íngreme no problema 2.
Figura 3.13 - Problema 2; Desvio
obtido pelo método da Descida mais Íngreme e pelo método de Levenberg-Marquardt.
Novamente, a Figura 3.13 reforça a análise feita nas figuras anteriores, o qual mostra que o método de Levenberg-Marquardt tem teve uma melhor aproximação neste problema, quando comparado ao método da descida mais íngreme.
Tabela 3.2 - Problema 2; Quantidades de épocas dos métodos da descida mais íngreme e Levenberg-Marquardt
Época
Método da descida mais Íngreme 1529
Método de LevenbergMarquardt 331
Em ambas as equações de edo’s de 1ª ordem ( Problema
1 e 2) foi observado que o método de Levenberg-Marquardt converge com uma melhor precisão, comparado ao método da descida mais íngreme. Além disso, pode-se observar na Tabela 3.1 e na Tabela 3.2 que o método de Levenberg-Marquardt converge mais rápido que o método da descida mais íngreme.
63
3.3 - A R EDE NEURAL PARA SOLUÇÃO DE EDO’s DE SEGUNDA ORDEM: As equações diferenciais ordinárias de 2ª ordem utilizadas neste trabalho foram resolvidas também pelo método de diferenças finitas.
3.3.1 – Problema 3
⃗ Consideramos o problema de valor inicial . A solução analítica é
e
com
e a forma neural desejada é
dada pela equação (2.8)
A Figura 3.14 e a Figura 3.15 ilustram a aproximação da solução fornecida pela rede neural com a solução analítica e o método de diferenças finitas de uma rede treinada com o método da Descida mais íngreme e com uma rede treinada pelo método de Levenberg-Marquardt respectivamente.
Figura 3.14 - Problema 3; Aproximação da solução fornecida pela rede neural treinada pelo método da Descida mais íngreme.
64
Figura 3.15 - Problema 3; Aproximação da solução fornecida pela rede neural treinada com o método de LevenbergMarquardt.
Nas Figuras 3.14 e 3.15 foi observado, que diferente dos problemas de equações diferenciais ordinárias de 1ª ordem, o método da descida mais íngreme possui uma melhor precisão comparado ao método de Levenberg-Marquardt. No problema 3 observa-se também que o método de diferenças finitas teve uma precisão inferior aos métodos utilizado pela rede.
As Figuras 3.16 e 3.17 mostram a desvio da solução exata correspondente ao método da descida mais íngreme e o do método de Levenberg-Marquardt, os quais notou-se, que o primeiro se mostra bem menor que o desvio do método de LevenbergMarquardt.
Figura 3.17 - Problema 3; Desvio
Figura 3.16 - Problema 3; Desvio do Método da Descida mais Íngreme.
Levenberg-Marquardt..
65
do Método de
A Figura 3.18 mostra a aproximação do problema 3 da rede neural só que agora para os dois pontos da condição de fronteira de Dirichlet, neste caso: e
⃗
. A forma neural desejada é dada pela equação (2.9). ,
Figura 3.18 - Problema 3; Aproximação da solução fornecida pela rede neural do problema 3 com condição de fronteira de Dirichlet.
Para ambos os casos de condições (iniciais ou de fronteira) os métodos satisfazem a solução analítica, o que nos mostra a eficiência da rede. É observado na Figura 3.18 que o método da rede em ambos os caso tem a mesma precisão enquanto que a precisão do método de diferenças finitas vai aumentar conforme o refinamento da malha, este fato é observado quando comparado as Figuras 3.14, 3.15 e 3.18 onde as duas primeiras tem um passo de 0.2 enquanto que a ultima tem um passo 0.1. As Figuras 3.19, 3.20 e 3.21 mostra como o problema 3 se comporta em uma malha com mil pontos equidistantes.
66
Figura 3.19 - Problema 3; Desvio
obtido pelo método da Descida mais Íngreme e pelo método de Levenberg-Marquardt.
Observa-se na figura acima que o método da descida mais íngreme apresenta um desvio bem menor em comparação ao método de Levenberg-Marquardt.
Figura 3.20 - Problema 3; Aproximação da solução fornecida pela rede neural treinada pelo método da Descida mais íngreme.
67
Figura 3.21 - Problema 3; Aproximação da solução fornecida pela rede neural treinada com o método de LevenbergMarquardt.
As Figuras 3.20 e 3.21 reforçam a análise feita nas figuras anteriores, pois a aproximação do método da descida mais íngreme representado na Figura 3.20 mostra uma aproximação melhor que a mostrada no método de Levenberg-Marquardt na Figura 3.21.
Tabela 3.3 - Problema 3; Quantidades de épocas dos métodos da descida mais íngreme e Levenberg-Marquardtpara.
Época
Método da descida mais Íngreme 3422
Método de LevenbergMarquardt 204
3.3.2 – Problema 4
⃗ Com
com
acordo com (2.9), da solução é escrita como
. A solução analítica exata é
e a forma neural desejada, de .
A mesma interpretação das figuras do Problema 3 é feito para as próximas
figuras. As Figuras 3.22 e 3.23 mostram a aproximação da rede treinada pelo método da descida mais íngreme e Levenberg-Marquardt respectivamente. 68
Figura 3.22 – Problema 4; Aproximação da solução fornecida pela rede neural treinada pelo método da Descida mais íngreme.
Figura 3.23 – Problema 4; Aproximação da solução fornecida pela rede neural treinada com o método de LevenbergMarquardt.
As Figuras 3.24 e 3.25 mostram seus respectivos desvios
69
.
Figura 3.25 – Problema 4; Desvio
Figura 3.24 – Problema 4; Desvio do Método da Descida mais Íngreme.
do Método de
Levenberg-Marquardt.
As Figuras 3.22 e 3.23 mostram claramente que o método da descida mais íngreme neste problema teve uma melhor aproximação quando comparado ao método de Levenberg-Marquardt, em seguida as Figuras 3.24 e 3.25 vem reforçando essa análise, pois mostra que o método da descida mais íngreme tem um desvio máximo próximo a que se mostra melhor que o desvio máximo do método de Levenberg-Marquardt que está próximo a .
Igualmente aos casos anteriores as Figuras 3.26, 3.27 e 3.28 mostram como a rede se comporta em sua fase operacional em uma malha com mil pontos.
Figura 3.26 – Problema 4; Aproximação da solução fornecida pela rede neural treinada pelo método da Descida mais íngreme.
70
Figura 3.27 – Problema 4; Aproximação da solução fornecida pela rede neural treinada com o método de LevenbergMarquardt.
Observa-se nas Figuras 3.26 e 3.27 acima que o método da descida mais íngreme se mostra com uma melhor aproximação da solução analítica.
Figura 3.28 - Problema 4; Desvio
obtido pelo método da Descida mais Íngreme e pelo método de Levenberg-Marquardt
A Figura 3.28 esta de acordo com as análises feitas anteriormente e reforça que o método da descida mais íngreme teve uma melhor aproximação, pois como pode ser observado o desvio do mesmo permanece bem próximo de 0.
71
Tabela 3.4 - Problema 4; Quantidades de épocas dos métodos da descida mais íngreme e Levenberg-Marquardt.
Método da descida mais Íngreme 4195
Época
Método de LevenbergMarquardt 528
É observado nas Tabelas 3.3 e 3.4 que em ambas as edo’s de 2ª ordem (problema 3 e 4), o método de Levenberg-Marquardt foi mais rápido (como já era de se esperar) em comparação ao método da descida mais íngreme, porém nesse caso ao contrario das edo’s de 1ª ordem, o método da descida mais íngreme apresenta uma
precisão melhor em comparação ao método de Levenberg-Marquardt.
3.4 - A REDE NEURAL PARA SOLUÇÃO DE SISTEMA ACOPLADO DE EDO’s: Consideramos o sistema acoplado de duas EDO’s de primeira ordem.
3.4.1 – Problema 5
( ) Com
e
e
desejadas são
e . A solução análica exata são . De acordo com (2.11) as formas neurais e .
São mostrados nas Figuras 3.29 e 3.30 respectivamente a aproximação das soluções fornecidas pela rede neural com as soluções analíticas e as soluções obtida pelo método de Runge-Kutta.
72
Figura 3.29 - Problema 5; Aproximação da solução fornecida pela rede neural treinada pelo método da Descida mais íngreme.
Figura 3.30 - Problema 5; Aproximação da solução fornecida pela rede neural treinada com o método de LevenbergMarquardt.
Através das Figuras 3.29 e 3.30, fica claro que, no caso desse sistema acoplado, a rede tem uma aproximação tão boa quanto, em alguns pontos até melhor, que o método de Runge-Kutta, onde o método de Runge-Kutta só vai obter uma boa aproximação do problema quando a malha for refinada, enquanto que a rede permanece com uma boa aproximação. 73
As Figuras 3.31 e 3.32 mostram o desvio da 1ª equação do sistema e as Figuras 3.33 e 3.34 mostram o desvio da 2ª equação do sistema.
Figura 3.31 - Problema 5; Desvio da 1ª equação com Método da Descida mais Íngreme.
Figura 3.32 - Problema 5; Desvio da 1ª equação com
Figura 3.33 - Problema 5; Desvio da 2ª equação com Método da Descida mais Íngreme.
Figura 3.34 - Problema 5; Desvio da 2ª equação com
o Método de Levenberg-Marquardt..
o Método de Levenberg-Marquardt..
As Figuras 3.31, 3.32, 3.33 e 3.34 mostram que ambos os métodos se mostram com uma boa aproximação, porém pode-se notar que os desvios máximos, de ambas as equações (1 e 2), com o método de Levenberg- Marquardt é menor em comparação com os desvios máximos do método da descida mais íngreme.
74
As Figuras 3.35, 3.36, 3.37 e 3.38 mostram como o sistema se comporta em uma malha de 1000 pontos equidistantes sendo que, igual aos casos anteriores, somente 10 pontos foram treinados.
Figura 3.35 - Problema 5; Aproximação da solução fornecida pela rede neural treinada pelo método da Descida mais íngreme.
Figura 3.36 - Problema 5; Aproximação da solução fornecida pela rede neural treinada pelo método de Levenberg-Marquardt..
Nas Figuras 3.35 e 3.36 é quase imperceptível, em ambos os métodos, a diferença entre a aproximação obtida pela rede e a solução analítica.
Figura 3.37 - Problema 5; Desvio da 1ª equação obtido pelo método da Descida mais Íngreme e pelo método de Levenberg-Marquardt.
Figura 3.38 - Problema 5; Desvio da 2ª equação obtido pelo método da Descida mais Íngreme e pelo método de Levenberg-Marquardt.
As Figuras 3.37 e 3.38 mostram que os desvios do método de LevenbergMarquardt estão menores que os desvios do método da descida mais íngreme, o que mostra uma melhor precisão nesse método em comparação ao método da Descida mais íngreme.
76
Tabela 3.5 - Problema 5; Quantidades de épocas dos métodos da descida mais íngreme e Levenberg-Marquardt.
Época
Método da descida mais Íngreme 80220
Método de LevenbergMarquardt 1715
No caso do sistema acoplado de edo’s (problema 5) foi notado que o método de Levenberg-Marquardt teve uma pequena oscilação, mesmo com isso sua convergência foi bem mais rápida comparada ao método da descida, fato esse observado na Tabela 3.5.
3.5 - A REDE NE URAL PARA SOLUÇÃO DE EDP’s.
Nós consideramos um problema com valor de fronteira de Dirichlet e Neumann, no qual é definido sobre o domínio de . A rede foi treinada com uma malha de 100 pontos obtidos por considerar dez pontos equidistantes no domínio [0,1]. Assim como nos caso anteriores é considerado uma rede com a arquitetura do perceptron de múltiplas camadas, com duas unidades de entrada (considerando as coordenadas x e y para cada ponto), dez unidades com a função sigmóide na camada oculta e uma unidade de saída linear.
3.5.1 – Problema 6
⃗ Com
e a condição de contorno de Dirichlet: , e , . A solução analítica é . Usando (2.14) temos que a Solução aproximada pode ser escrita como: onde é obtido da substituição direta na equação geral dada em (2.15).
As Figuras 3.39, 3.40, 3.41 e 3.42 mostram respectivamente a solução analítica da Edp, a solução fornecida pela rede treinada com o método da descida mais íngreme, a solução fornecida pela rede treinada com o método de Levenberg-Marquardt e a solução fornecida pelo método de diferenças finitas.
77
Figura 3.39 – Problema 6; Solução analítica da Edp.
Figura 3.40 – Problema 6; Solução fornecida pela rede treinada com o método da descida mais íngreme.
Figura 3.41 – Problema 6; Solução fornecida pela rede treinada com o método de LevenbergMarquardt.
Figura 3.42 – Problema 6; Solução fornecida pelo método de diferenças finitas.
78
Observa-se que é praticamente impossível fazer uma análise de qual a melhor aproximação, devido a similaridade das figuras, por isso foi feito a análise dos desvios correspondentes das mesmas, nas Figuras 3.43, 3.44, 3.45 e 3.46.
Figura 3.43 - Problema 6; Desvio
Figura 3.44 - Problema 6; Desvio
obtido pelo método da Descida mais Íngreme.
obtido pelo método de Levenberg-Marquardt.
79
Figura 3.45 - Problema 6; Desvio
obtido pelo método de diferenças finitas
Observa-se nas Figuras 4.43, 4.44 e 4.45 que a rede possui uma precisão tão boa quanto o método de diferenças finitas, além disso, nota-se, também, que o método da descida mais íngreme obteve uma melhor precisão comparada ao método de LevenbergMarquardt, pois seu desvio máximo está próximo de enquanto que o método de Levenberg-Marquardt possui um desvio próximo a .
A Figura 3.46 mostra a aproximação do problema 6 em uma malha de 500x500.
80
Figura 3.46 – Problema 6; Solução fornecida pelo método da descida mais íngreme.
A Figura 3.46 mostra a capacidade de generalização que a rede possui, pois, como já foi dito, foram treinados de 10x10 e utilizamos esses pesos já treinados em uma malha 500x500 e como é observado a sua precisão continua a mesma. Este fato é observado também na Figura 4.47 a seguir que mostra que o desvio máximo obtido pelo método da descida mais íngreme, continua o mesmo na malha de 500x500 pontos.
Figura 3.47 - Problema 6; Desvio
obtido pelo método da Descida mais Íngreme
Tabela 3.6 - Problema 6; Quantidades de épocas dos métodos da descida mais íngreme e Levenberg-Marquardt.
Época
Método da descida mais Íngreme 4620
Método de LevenbergMarquardt 323
Na Tabela 3.6 nota-se que o método da descida mais íngreme possui um tempo computacional bem maior que o método de Levenberg-Marquardt e que por outro lado foi visto na análise das Figuras 3.43 e 3.44 que o método da descida mais íngreme possui melhor precisão comparado ao método de Levenberg-Marquardt.
3.5.2 – Problema 7 81
⃗ ⃗ ⃗ Com
e com condições de contorno mista:
e
,
,
. A solução analíticaé
, e de acordo com (2.16) a solução aproximada pode ser escrita como: onde
é
obtido na substituição direta na equação geral dada em (2.17) que vai resultar.
A Figura 3.48 mostra a solução analítica da equação do problema 7.
Figura 3.48 – Problema 7; Solução analítica da Edp
As Figuras 3.49, 3.50 e 3.51 mostram os desvios correspondente ao método da descida mais íngreme, ao método de Levenberg-Marquardt e ao método de diferenças finitas, respectivamente.
82
Figura 3.49 – Problema 7; Desvio fornecido pelo método da descida mais íngreme
Figura 3.50 – Problema 7; Desvio fornecido pelo método de Levenberg-Marquardt
83
Figura 3.51 – Problema 7; Desvio fornecido pelo método de Diferenças finitas
Observa-se nas Figuras 3.49, 3.50 e 3.51 que a rede possui uma precisão tão boa quanto o método de diferenças finitas, em alguns casos até melhor, além disso nota-se, também, que ao contrario da Edp do problema 6, neste problema o método de Levenberg-Marquardt obteve uma melhor precisão comparada ao método da descida mais íngreme e ate mesmo ao de diferenças finitas, pois seu desvio máximo está próximo de enquanto que o método da descida mais íngreme possui um desvio próximo a .
As Figuras 3.52 e 3.53 mostram que o problema continua com uma boa aproximação em uma malha de 500x500.
Figura 3.52 – Problema 7; Solução fornecida pelo método de Levenberg-Marquardt.
84
Figura 3.53 - Problema 7; Desvio
obtido pelo método de Levenberg-Marquardt.
Tabela 3.7 - Problema 7; Quantidades de épocas dos métodos da descida mais íngreme e Levenberg-Marquardt.
Época
Método da descida mais Íngreme 1.282
Método de LevenbergMarquardt 50.275
Todos os problemas de Edp’s ( problema 6 e 7) são treinados em um domínio retangular de 10x10 elementos. É óbvio que nos pontos de treinamento a solução do método de diferenças finitas e o método de Runge-Kutta é muito satisfatória e, em alguns casos, é melhor do que a obtida utilizando o método neural, porém o método neural fornece soluções de excelente precisão nos pontos de operação, uma vez que, a aproximação da rede em uma malha 500x500 continua boa e seu desvio continua com a mesma precisão que o desvio em seus pontos de treinamento (na malha 10x10).
RESULTADOS DE TESTES COM MENOS NEURÔNIOS NA CAMADA OCULTA.
85
Abaixo será mostrada, através das Tabelas 3.8, 3.9, 3.10 e 3.11, como a rede se comporta com uma quantidade de neurônios, na camada oculta, inferior à utilizada nos treinamentos anteriores.
Tabela 3.8 - Convergência de edo’s de 1ª ordem (problem a 1) para uma rede com neurônios menores que 10.
Problema 1 M. descida mais íngreme
2 neurônios Convergiu (3985-épocas) Erro 0.0092 M. Levenberg- Não convergiu Marquardt Para resposta certa (com outros pesos ele chegou a convergir)
4 neurônios Convergiu (596-épocas) Erro 0.0088 Convergiu (93-épocas) Erro 0.0052
6 neurônios Convergiu (557-épocas) Erro 0.0096 Convergiu (350-épocas) Erro 0.0055
8 neurônios Convergiu (535-épocas) Erro 0.0090 Convergiu (139-épocas) Erro 0.0056
Tabela 3.9 - Convergência de edo’s de 2ª ordem (problema 3) para uma rede com neurônios menores que 10.
Problema 3 M. descida mais íngreme M. LevenbergMarquardt
2 neurônios Convergiu (2757-épocas) Erro 0,0022 Convergiu (104-épocas) Erro 0,0315
4 neurônios Convergiu (4694-épocas) Erro 0,0026 Não convergiu (Matriz singular)
6 neurônios Convergiu (1497-épocas) Erro 0,0061 Convergiu (453-épocas) Erro 0,1530
8 neurônios Convergiu (981-épocas) Erro 0,0058 Convergiu (62-épocas) Erro 0,1623
Tabela 3.10 - Convergência do sistema acoplado de edo’s (problema 5) para uma rede com neurônios menores que 10.
Problema 5 M. descida mais íngreme
2 neurônios 4 neurônios 6 neurônios 8 neurônios Convergiu Convergiu Convergiu Convergiu (21241-épocas) (39069-épocas) (70647-épocas) (14747-épocas) Erro1-0,1585 Erro1-0,18 Erro1-0,14 Erro1-0,035 Erro2-0,2154 Erro2-0,6 Erro2-0,4 Erro2-0,12 M.Levenberg- Não convergiu Não convergiu Convergiu Não convergiu Marquardt pra resposta pra resposta (1697-épocas) (Matriz certa certa Erro1-0.03 singular) Erro2-0.045 Tabela 3.11 - Convergência de edp’s (problema 6) para uma rede com neurônios menores que 10.
Problema 6 M. descida mais íngreme
2 neurônios Convergiu (3743-épocas) Erro-
4 neurônios Convergiu (2187-época) Erro.
6 neurônios Convergiu (2340-época) Erro-
8 neurônios Convergiu (3467-época) Erro-
86
M.LevenbergMarquardt
Convergiu (213-épocas) Erro-
Convergiu (45-épocas) Erro-
Convergiu (212-épocas) Erro-
Convergiu (1092-épocas) Erro-
Mesmo com menos neurônios observamos que o método da descida mais íngreme sempre converge para resposta certa. No caso de edo’s de 1ª ordem o métod o de Levenberg-Marquardt continua mais preciso que o método da descida mais íngreme e com a convergência mais rápida, porém essa convergência nem sempre é garantida, pois não é para todos os pesos iniciais que a rede vai convergir com dois neurônios. Para edo’s de 2ª ordem o método da descida mais íngreme se mostra com uma
precisão melhor em todos os casos citados na Tabela 3.9 comparado ao método de Levenberg-Marquardt. No caso do sistema acoplado de edo’s de 1ª ordem a Tabela 3.10 mostra que o
método da descida mais íngreme se mostra mais preciso e mostra novamente que a convergência do método de Levenberg-Marquardt não é garantida. Já no caso da edp do problema 6, houve convergência com quase a mesma precisão, para todos os testes com menos neurônios, em ambos os métodos (LevenbergMarquardt e descida mais íngreme), porém o método da descida mais íngreme teve sua precisão melhor.
87
Considerações finais e trabalhos futuros Este trabalho discute e avalia o método de resolução de equações diferenciais ordinárias e parciais através da utilização de redes neurais artificiais, utilizando os métodos de Levenberg-Marquardt e o método da descida mais íngreme para otimização da rede. As redes neurais apresentaram bom desempenho de aproximação em todos os problemas utilizados neste trabalho. Foi observado que o sucesso do método se dá por dois fatores. O primeiro é o emprego de redes neurais redes que são excelentes aproximadores de função e o segundo é a forma da solução teste que satisfaz por construção as condições de fronteira. Nota-se também que redes neurais para resolver equações diferenciais exibe um excelente desempenho de generalização, pois em todos os casos as redes foram treinadas com 10 pontos equidistantes (pontos de treinamento) e foram testada em uma malha 100 pontos (pontos teste) e a precisão permaneceu boa. Para o treinamento da rede, foram aplicados as técnicas de otimização da descida mais íngreme, que é um método de mais fácil implementação, pois não precisa do calculo da matriz jacobiana, e o método de Levenberg-Marquardt, que possui uma convergência bem mais rápida que o método da descida mais íngreme. Ambos os métodos apresentaram boa aproximação, dependo do tipo de equação diferencial, uma técnica apresentou precisão melhor que a outra, por exemplo: nas equações diferenciais ordinárias de 1ª ordem, no sistema acoplado de equações diferenciais de 1ª ordem e na equação diferencial de parcial com condições mistas (Dirichlet e Neunman) o método de Levenberg-Marquardt obteve uma melhor aproximação. Enquanto que nas equações diferenciais de 2ª ordem e na equação diferencial parcial com condição de contorno de Dirichlet a descida mais íngreme obteve uma melhor precisão.
Foram feitos teste com menos neurônios na camada oculta, e verificou-se que, na maioria dos casos, existe convergência sem perda considerável de precisão. Porém, não tentou-se encontrar configurações ótimas ou considerar arquiteturas que contenham mais de uma camada oculta. Um estudo sobre o efeito da arquitetura neural sobre a qualidade da solução pode ser uma questão a ser analisada futuramente. Uma questão a ser analisada, também, está relacionada com a taxa de aprendizagem e com a amostragem dos pontos da grade que são usados para o treinamento. Neste trabalho foi utilizado uma taxa de aprendizagem constante e considerado uma malha de pontos equidistantes. Espera-se que melhores resultados sejam obtidos no caso em que a densidade da malha e a taxa de aprendizagem irá variar durante o treinamento de acordo com os valores. Outra sugestão para solução de ED é incorporar as condições de contorno e/ou iniciais na saída da rede neural.
88
89