Soluções de Equações Diferenciais Usando Redes Neurais de Múltiplas camadas com os métodos da Descida mais íngreme e Levenberg-Marquardt.

Documentos relacionados
UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

3 Redes Neurais Artificiais

Introdução à Redes Neurais. Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Rede Perceptron. Capítulo 3

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

Introdução a Redes Neurais Artificiais com a biblioteca Encog em Java

2. Redes Neurais Artificiais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

REDES NEURAIS ARTIFICIAIS

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Redes Neurais e Sistemas Fuzzy

Redes Neurais Artificiais

Redes Neurais Artificiais

Aprendizado de Máquina (Machine Learning)

Redes Neurais Artificiais

Redes Neurais Artificiais - Introdução. Visão Computacional

Redes Neurais Artificiais

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina

Aula 1 Introdução - RNA

3 INTELIGÊNCIA COMPUTACIONAL (IC)

Classificação Linear. André Tavares da Silva.

Redes Neurais Artificiais. Capítulos 1 e 2

Introdução às Redes Neurais Artificiais

Primeiras Redes Neurais Artificiais: Perceptron e Adaline

Redes Neurais 1. Redes Neurais. cont.) Definição (cont( Definição. Histórico. Características básicas

COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1

Inteligência Artificial Redes Neurais

INTELIGÊNCIA ARTIFICIAL

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Redes Neurais Noções Gerais

Redes Neurais Artificiais

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

Redes Neurais Artificial

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ

Redes Neurais: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Redes Neurais Artificiais. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9)

Rede RBF (Radial Basis Function)

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA

4 Redes Neurais Artificiais RNAs

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP)

Inteligência Computacional

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Algoritmos de Aprendizado. CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico. Regra de HEBB.

Introdução às Redes Neurais Artificiais

Autor: Edroaldo Lummertz da Rocha Home page: edroaldo.wordpress.com

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Introdução às Redes Neurais Artificiais

2. Redes Neurais Artificiais

Redes Neurais Artificiais. Prof. João Alberto Fabro

Redes Neurais Artificiais (RNA)

Redes Neurais Artificial. Prática. Inteligência Artificial

Redes Neurais Artificiais

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

3 REDES CLÁSSICAS PERCEPTRON E ADALINE

INF 1771 Inteligência Artificial

Mineração de Dados em Biologia Molecular

João Paulo Teixeira Departamento de Electrotecnia ESTiG Instituto Politécnico de Bragança

3 REDES NEURAIS ARTIFICIAIS

O uso de uma Rede Neural Artificial Supervisionada para obtenção do fator de carga de um alimentador.

Profa. Josiane M. Pinheiro outubro/2008

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos

Redes Neurais Artificiais na Engenharia Nuclear 1 Aula-2 Ano: 2005

Aprendizagem por treinamento de redes de aproximação

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Introdução. O cérebro humano. O sistema nervoso biológico é formado por um conjunto extremamente

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

Unidade 08 MATLAB Neural Network Toolkit

Multiple Layer Perceptron

Redes Neurais Artificiais

Aprendizado de Máquina Introdução às Redes Neurais Artificiais

JAI 6 - Deep Learning Teoria e Prática

UNIVERSIDADE FEDERAL DE LAVRAS DEPARTAMENTO DE CIÊNCIAS EXATAS (DEX) Estudo de Algoritmos de Aprendizado em Redes Neurais Artificiais

Aprendizagem de Máquina

2. Redes Neurais Artificiais

Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN

Redes Neurais: RBF. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann:

REDES NEURAIS. É um conjunto complexo de células que determina o funcionamento e comportamento dos seres vivos. Sua unidade fundamental é o neurônio

Aprendizagem de Máquina

Fundamentos das Redes Neurais: exemplos em Java

Mineração de Dados aplicada a Gestão de Negócios. Aula 2. Prof. Dr. Sylvio Barbon Junior

4 Redes Neurais Artificiais

Regra de Oja. Para taxa de aprendizagem pequena, Oja aproximou. pesos para criar uma forma útil da aprendizagem

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

Redes Neurais Artificiais. Professor: Juan Moises Villanueva

Aprendizagem por treinamento de redes de aproximação Marco Henrique Terra

ESTIMATIVA DE RADIAÇÃO SOLAR NA REGIÃO DO MACIÇO DE BATURITÉ: ABORDAGEM VIA REDES NEURAIS ARTIFICIAIS.

Neurocomputação Parte 2

Redes Neurais Artificiais

Resolução da Prova 1 SCC Redes Neurais 2o. Semestre de Prof. João Luís

Análise da Complexidade de Tempo e Espaço em Algoritmos para Classificação de Padrões em sinais de ECG

Transcrição:

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 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: 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 PPGME Prof. Dr. Arthur da Costa Almeida (Membro) Universidade Federal do Pará UFPA Prof. Dr. Celsa Hermínia de Melo Maranhão (Membro) Universidade Federal do Pará - UFPA Prof. Dr. Regivan Hugo Nunes Santiago (Membro) Universidade Federal do Rio Grande do Norte 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- Feedforward - 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 - (a) Ilustração de fronteira de separação. Figura 1.7 - (b) Ilustração de fronteira não linearmente separável. 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: 25 (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

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) por: A função erro quadrático em relação às p amostras de treinamento é definida Substituindo (1.1) em (1.8), obtém-se: ( ) (1.8) ( ( )) (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. (1.11) Assim, ( ( )) ( ) (1.12) Daí, ( ) (1.13) Pois 26

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: Logo, podemos expressar (1.15) por: ( ) (1.15) ( ) (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 feedforwards, 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 da 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 respectivo valor desejado. é o seu 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). matriz de pesos 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 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: (1.19) ( ) (1.20) 32

( ) (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 ( ésimo neurônio da camada de saída. ) ( ) é definido como o gradiente local em relação ao j- é a taxa de aprendizagem do algoritmo backpropagation. De forma complementar pode-se escrever a expressão (1.22) no seguinte procedimento 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. 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) ( ) (1.26) Onde o valor da derivada parcial do argumento da parcela ( ) é o próprio, ou seja: (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: deve ser efetuado em direção oposta a (1.30) 34

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: 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: ( ) ( ) (1.36) 35

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: 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 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

subseqüente. Onde o fator é incluído somente com o intuito de simplificar a análise 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: (1.39) Onde é o vetor E é a matriz jacobiana k-por-m de : [ ] A matriz jacobiana e transposta da matriz de gradiente m-por-k, onde O vetor de peso atualizado é 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 e 37

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

2.1- INTRODUÇÃO CAPÍTULO 2 METODOLOGIA 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 obtidos 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 obtidos 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: ( ( ) ( ) ( )) (2.1) 39

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, o problema é transformado para ( ( ( ) ( ) ( ))) (2.3) A solução aproximada CF s. Assim. ( ) é 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. (2.5) Com e com condição inicial (CI). Uma possível solução é escrita como; 40