Brigida - ppgme

Transcrição

Brigida - ppgme
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 - (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.
( )
( )
(1.11)
Assim,
( )
∑
(
( )
( )
(
)) (
( )
)
(1.12)
Daí,
( )
∑
(
Pois
( )
∑
26
( )
)
( )
(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:
( )
Onde
(1.14)
é 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 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 “WidrowHoff”, 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:
( )
Onde
( )
∑
( )
( ( )
( ))
(1.17)
( ) é 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).
1.5.3.2.1.1- Ajuste dos pesos sinápticos da camada de saída.
( )
O objetivo é determinar o gradiente
matriz de pesos
( )
, 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)
( )
( )
( )
(
32
( )
)
(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:
( )
(
)
( )
( )
( )
( )
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
próprio
( )
(∑
( )
( )
( )
)
éo
, 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
( )
( )
)
(
( )
)
( )
deve ser efetuado em direção oposta a
gradiente afim de minimizar o erro, ou seja:
( )
( )
( )
34
( )
( )
(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:
( )

(
( )
)
( )
( )
( )
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:
( )
(
)
( )
( )
( )
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
( )
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:
(
)
( )
( )(
)
(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
( )
( )
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
( ⃗)
( ⃗)
( ⃗). Foi comparado
dessa precisão era obtido calculando o desvio
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:
(⃗
( ⃗)
( ⃗)
( ⃗))
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 ⃗, o
problema é transformado para
⃗
∑⃗
( (⃗
A solução aproximada
CF’s. Assim.
( ⃗)
( ⃗ ⃗)
( ⃗ ⃗)
( ⃗ ⃗)))
(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: ( )
( )
e
, a solução aproximada
pode ser expressa como:
( )
( )
(
⃗)
(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)
)
(2.11)
’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.
( )
(
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
(
Onde
( ) (
)
( )
será escrita como;
(
Onde (
Dirichlet, isto é;
(
)
(
(
)
(
)
(2.14)
)
com condição de fronteira de Dirichlet: (
( )
( )
( ). A solução aproximada
)
)
)
(
)
(
) (
) (
⃗)
(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;
(
)
Onde (
(
)
(
)
(
) [ (
(
⃗)
(
⃗)
⃗)
]
(2.17)
) é 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:
( )
(
⃗)
(2.20)
Onde ( ⃗) é a saída da rede neural feedforward com uma unidade de
entrada x e pesos ⃗.
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 (
(
⃗
Onde
{ (
(
{
(
⃗)
) temos;
⃗⃗⃗)
⃗)
⃗)
(2.23)
( ))
(
}
(2.24)
( ))}
(
Se,
(
⃗)
(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;
(
⃗
{
(
⃗)
⃗⃗⃗)
(
( ))
}
(2.29)
Então
(
⃗)
44
(2.30)
( ⃗⃗⃗)
(2.31)
( ))
(
( ))
(
( )
( ))
(
( )
(2.32)
( )
Substituindo (2.30), (2.31) e (2.32) em (2.29). Obtêm-se
⃗
( ))
(
{
} (2.33)
( )
Derivado a equação do erro (2.23) em relação ao bias (
(
⃗
{
(
) temos:
⃗⃗⃗)
⃗)
( ))
(
}
(2.34)
Então
(
⃗)
(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:
aproximada escrita em (2.8) como;
45
( )
e ( ) ( )
, a solução
( )
(
⃗)
(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
é:
(
⃗
(
{
⃗)
⃗)
(
⃗⃗⃗)
(
( )
(
)
)
}
(2.50)
Como,
(
⃗)
(2.51)
47
( ⃗⃗⃗)
(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:
(
⃗)
(2.56)
( ⃗⃗⃗)
(2.57)
48
⃗⃗⃗)
(
(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
( )
∑ {
(
)}
(2.63)
’s são pontos em [0,1].
Como
( )
(
(
⃗)
⃗)
(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
{ (
⃗)
(
⃗)
(
Tem-se que:
50
( )
( )
( ))}, para
(
⃗)
(
{
)
( ⃗⃗⃗)
(
{
( )
(
( ))
(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,
(
( ⃗⃗⃗)
{
⃗)
(
(
{
)
)
(2.71)
(
51
)
(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)
e
(
)
{
(
)
(
(
) (
) (
(
⃗)
)(
)
)
(2.81)
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
(
)
(
)
(2.87)
(
)
(
)
(2.88)
Sendo
(
)
54
(
)
(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)
)
(
)
(2.93)
Substituindo (2.91), (2.92) e (2.93) em (2.90). Obtêm-se;
⃗
(
)
(
55
)
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 ( )
(
rede.
(
)
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
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.4 – Problema 1; Desvio
do Método de
Levenberg-Marquard
Figura 3.3 - Problema 1; Desvio
do Método da
Descida mais Íngreme.
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.
Figura 3.5 - Problema 1; Desvio
de pontos treinados e de pontos
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 REDE 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.
Método da descida mais
Íngreme
3422
Época
Método de LevenbergMarquardt
204
3.3.2 – Problema 4
(
Com
( )
( )
( )
(
com
)
. A solução analítica exata é
(
acordo com (2.9), da solução é escrita como
)
( )
) 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
( )
desejadas são
( )
e
( )
( ⃗⃗⃗⃗) e
)
( )
( )
e
. A solução análica exata são
. De acordo com (2.11) as formas neurais
( )
( ⃗⃗⃗⃗) .
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.
Método da descida mais
Íngreme
80220
Época
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 NEURAL 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
(
)
(
)
(
) (
) (
) é obtido da
como:
⃗) onde (
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
obtido pelo método da Descida mais Íngreme.
Figura 3.44 - Problema 6; Desvio
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 (problema 1) para uma rede com neurônios menores que 10.
Problema 1
M. descida
mais íngreme
M. LevenbergMarquardt
2 neurônios
Convergiu
(3985-épocas)
Erro 0.0092
Não convergiu
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
M.LevenbergMarquardt
2 neurônios
4 neurônios
Convergiu
Convergiu
(21241-épocas) (39069-épocas)
Erro1-0,1585
Erro1-0,18
Erro2-0,2154
Erro2-0,6
Não convergiu Não convergiu
pra resposta
pra resposta
certa
certa
6 neurônios
8 neurônios
Convergiu
Convergiu
(70647-épocas) (14747-épocas)
Erro1-0,14
Erro1-0,035
Erro2-0,4
Erro2-0,12
Convergiu
Não convergiu
(1697-épocas)
(Matriz
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.
86
6 neurônios
Convergiu
(2340-época)
Erro-
8 neurônios
Convergiu
(3467-época)
Erro-
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étodo 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
Referências Bibliográficas
Aarts, L. P. and Veer, P. V. D. “Neural Network Method for Solving Partial Differential
Equations”.Neural Processing Letters 14: 261-271, 2001.
Haykin,S. “Redes Neurais: Princípios e Prática”, 2 ed, Porto Alegre: Bookman, 2001.
Kozek, T., Chua,L. O.,Roska,T., Wolf,D.,Tetzlaff , R.,Puffer, F. andLotz,K.“Simulating
Nonlinear Waves and Partial Differentail Equations via CNN – Part II: Typical
Examples”. IEEE Trans. Circuits and Systems-I: Fund. Theory and Aplic, Vol 42,
No. 10, October 1995.
Lagaris, I. E., Likas, A. end Fotiadis, D. I. “Artificial Neural Networks for Solving
Ordinary and Partial Differential Equations”. IEEE Trans. On Neural Networks, Vol
9, No. 5, September 1998.
Ludwig Jr, O. e Costa, E. M. M. “Redes Neurais: Fundamentos e Aplicações com
Programas em C” – Rio de Janeiro: Editora Ciência Moderna Ltda. 2007.
McCulloch, W. S., Pitts. W. (1943); A logical calculus of the ideas immanent in nervous
activity. Bulletin of Mathematical Biophysics, vol. 5, pp. 115-133.
Minsky, M. L., Papert, S. A. (1969); Perceptrons: an introduction to computational
geometry. The MIT Press, Cambridge, Massachusetts, USA
Parisi, D. R., Mariani, M. C. and Laborde, M. A. “Solving differential equations with
unsupervised neural networks”. Chemical Engineering and processing 42: 715-721,
2003.
Rumelhart, D. E., Hinton, G. E., Willians, R. J. (1986); Learning internal represetations
by error propagation. In: Parallel Distributed Processing, vol. 1, chapter 8. MIT
Press, Cambridge, Massachusetts, USA.
Shirvany, Y., Hayati, M. and Moradian, R. “Multilayer perceptron neural networks with
novel unsupervised training method for numerical solution of the partial differential
equations”. Applied Soft Computing 9: 20-29, 2009.
Silva, I. N. da, Spatti, D. H. e Flauzino, R. A. “Redes Neurais Artificiais: Para
engenharia e ciências aplicadas” - São Paulo: Artliber, 2010.
Tsoulos, I. G., Gavrilis, D. and Glavas, E. “Solving differential equations which
constructed neural networks”. Neurocomputing 72: 2385-2391, 2009.
Van Milligen, B. Ph., Tribaldos, V. and Jiménez, J. A. “Neural network Differential
Equation and Plasma Equilibrium Solver”. Physical Review Letters, Vol 75, No. 20,
November 1995.
90

Documentos relacionados

A Adaline - sisne.org

A Adaline - sisne.org Em uma dimensão, o gradiente é a própria derivada da função: ∇E = dE dw . O ponto de mínimo da função custo E é aquele para o qual a derivada de E é igual a zero. É por isso que o método dos mínimo...

Leia mais

DESENVOLVIMENTO DE FERRAMENTA COMPUTACIONAL PARA

DESENVOLVIMENTO DE FERRAMENTA COMPUTACIONAL PARA LISTA DE ILUSTRAÇÕES Figura 1 – Visual das telas do toolbox para o MATLAB ......................................................... 13 Figura 2 – Software de RNA’s utilizando o Simulink e MATLAB ....

Leia mais