Angelo Luis Pagliosa - TEDE

Propaganda
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC
CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT
DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE
PROGRAMA DE PÓS-GRADUAÇÃO EM AUTOMAÇÃO INDUSTRIAL
Formação: Mestrado em Automação Industrial
DISSERTAÇÃO DE MESTRADO OBTIDA POR
Angelo Luís Pagliosa
OBTENÇÃO DAS FUNÇÕES DE PERTINÊNCIA DE UM
SISTEMA NEUROFUZZY MODIFICADO
PELA REDE DE KOHONEN
Apresentada em 18/12/2003 Perante a Banca Examinadora:
Dr. Claudio Cesar de Sá – Presidente (UDESC)
Dr. Alcindo Prado Júnior (UDESC)
Dr. Ilaim Costa Júnior (UDESC)
PhD Pedro P. B. de Oliveira (UniversidadePrebisteriana Mackenzie)
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC
CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT
DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE
PROGRAMA DE PÓS-GRADUAÇÃO EM AUTOMAÇÃO INDUSTRIAL
DISSERTAÇÃO DE MESTRADO
Mestrando: ANGELO LUÍS PAGLIOSA – Engenheiro Eletricista
Orientador: Prof. Dr. CLAUDIO CESAR DE SÁ
CCT/UDESC - JOINVILLE
OBTENÇÃO DAS FUNÇÕES DE PERTINÊNCIA DE UM
SISTEMA NEUROFUZZY MODIFICADO
PELA REDE DE KOHONEN
DISSERTAÇÃO APRESENTADA PARA OBTENÇÃO
DO TÍTULO DE MESTRE EM AUTOMAÇÃO
INDUSTRIAL DA UNIVERSIDADE DO ESTADO DE
SANTA
CATARINA,
CENTRO
DE
CIÊNCIAS
TECNOLÓGICAS – CCT, ORIENTADA PELO PROF.
DR. CLAUDIO CESAR DE SÁ
Joinville
2003
iii
Dedico este trabalho a todos que me apoiaram nesta
jornada.
A Deus,
A Eucleudes e Pedro, meus pais,
À minha adorada esposa, Marilene Vilvert.
iv
AGRADECIMENTOS
A Deus pela oportunidade de aprendizado e crescimento, e pela ajuda nos momentos
difíceis.
Aos meus pais, Pedro e Eucleudes, pelo apoio e incentivo.
À minha esposa, Marilene, pelo companheirismo e compreensão.
Ao professor Claudio Cesar de Sá, pela orientação no decorrer deste trabalho.
À coordenação do Departamento de Pós-graduação do CCT/UDESC, pelo empenho na
melhoria do curso e a secretária Tânia pela amizade e apoio.
A WEG Automação pelo incentivo e compreensão nos momentos que tive que me
ausentar da empresa, para a concretização deste estudo, em especial ao meu gerente Eng.
Paulo Roberto Kruger.
Queria estender meus agradecimentos aos que colaboraram me emprestando ora uma
idéia, ora um livro ou um artigo, estímulo e confiança - às vezes tudo isso junto.
Por fim, quero declarar que sem o amor e dedicação ao que se faz – nada teria sido
possível ou valido a pena – nem esta dissertação nem a vida.
v
“O que sabemos é uma gota,
o que ignoramos é um oceano”.
- Isaac Newton -
vi
SUMÁRIO
Lista de Figuras................................................................................................................... ix
Lista de Tabelas ................................................................................................................. xiii
Lista de Siglas e Abreviaturas............................................................................................ xv
Resumo............................................................................................................................... xvii
Abstract............................................................................................................................... xviii
1. INTRODUÇÃO............................................................................................................ 1
1.1 Contextualização..................................................................................................... 2
1.2 Problema Abordado................................................................................................. 4
1.2.1 Objetivo Geral............................................................................................... 4
1.2.2 Objetivos Específicos.................................................................................... 4
1.2.3 Justificativas.................................................................................................. 5
1.3 Contribuições........................................................................................................... 5
1.4 Organização da Dissertação..................................................................................... 6
2. LÓGICA FUZZY......................................................................................................... 8
2.1 Introdução.............................................................................................................. 8
2.2 Resumo Histórico................................................................................................... 11
2.3 Noções da Lógica Fuzzy........................................................................................ 13
2.3.1 Variáveis Lingüísticas................................................................................... 15
2.3.2 Teoria dos Conjuntos Fuzzy.......................................................................... 16
2.3.3 Modelagem Fuzzy de Sistemas..................................................................... 20
2.3.4 Estrutura de um Controlador Fuzzy.............................................................. 24
2.4 Conclusão............................................................................................................... 31
3. REDES NEURAIS ARTIFICIAIS............................................................................. 32
3.1 Introdução................................................................................................................ 32
3.2 As Redes Neurais..................................................................................................... 33
3.2.1 Histórico das Redes Neurais Artificiais.......................................................... 33
vii
3.2.2 Fundamentos Biológicos................................................................................ 36
3.2.3 Características de uma Rede Neural............................................................... 38
3.3 Princípios da Neurocomputação.............................................................................. 40
3.4 Estruturas e Dinâmicas das Redes Neurais Artificiais............................................ 42
3.4.1 Sinais de Entrada e Saída................................................................................ 44
3.4.2 Pesos............................................................................................................... 45
3.4.3 Função de Ativação e Transferência............................................................... 46
3.4.4 Camadas Escondidas...................................................................................... 48
3.4.5 Arquiteturas das Redes Neurais Artificiais..................................................... 48
3.5 Aprendizado das Redes Neurais Artificiais............................................................. 51
3.5.1 Aprendizado Supervisionado.......................................................................... 52
3.5.2 Aprendizado Não-Supervisionado.................................................................. 57
3.5.3 Aprendizado por Competição......................................................................... 58
3.5.4 Aprendizado por Reforço............................................................................... 59
3.6 Processo de Treinamento......................................................................................... 59
3.7 Projeto de uma Rede Neural.................................................................................... 60
3.8 Conclusão................................................................................................................ 61
4. SISTEMAS HÍBRIDOS............................................................................................... 62
4.1 Introdução................................................................................................................ 62
4.2 Descrição dos Sistemas Híbridos............................................................................. 63
4.2.1 Taxonomia dos Sistemas Híbridos................................................................. 65
4.2.2 Sistemas Neurofuzzy...................................................................................... 67
4.2.3 Modelos de Sistemas Neurofuzzy.................................................................. 71
4.3 Análise dos Sistemas Híbridos................................................................................ 76
4.4 Limitações dos Sistemas Híbridos........................................................................... 77
4.5 Conclusão................................................................................................................ 77
5. IDENTIFICAÇÃO DE SISTEMAS........................................................................... 78
5.1 Introdução................................................................................................................ 78
5.2 Sistemas de Controle............................................................................................... 79
5.3 Identificação de Sistemas........................................................................................ 80
5.4 Inteligência Artificial em Identificação de Sistemas............................................... 81
5.4.1 Aprendizado e Generalização........................................................................ 83
5.4.2 Critério de Convergência............................................................................... 84
viii
5.5 Conclusão................................................................................................................ 85
6. AJUSTE DAS FUNÇÕES DE PERTINÊNCIA DO NFN-MK............................... 86
6.1 Introdução................................................................................................................ 86
6.2 Descrição do modelo NFN-MK............................................................................... 88
6.3 Estrutura do Neo-Fuzzy-Neuron.............................................................................. 91
6.3.1 Ajuste dos Pesos............................................................................................ 95
6.3.2 Atualização dos Pesos com Taxa de Aprendizado Ótima............................. 97
6.3.3 Análise da Complexidade dos Algoritmos NFN versus RNA..................... 99
6.3.4 Sistema Neo-Fuzzy-Neuron Generalizado.................................................... 101
6.3.5 Taxonomia do Sistema NFN......................................................................... 102
6.4 Rede de Kohonen..................................................................................................... 107
6.5 Ajuste das Funções de Pertinência.......................................................................... 109
6.5.1 Curva do Tipo 1............................................................................................. 110
6.5.2 Curva do Tipo 2............................................................................................. 111
6.6 Conclusão................................................................................................................ 115
7. VALIDAÇÃO E ESTUDOS DE CASOS................................................................... 116
7.1 Introdução................................................................................................................ 117
7.2 Estudos de Casos..................................................................................................... 117
7.2.1Estudo de Caso: Função Seno........................................................................ 133
7.2.2 Estudo de Caso: Função Chapéu Mexicano.................................................. 144
7.2.3 Estudo de Caso: Função Radial..................................................................... 153
7.2.4 Estudo de Caso: Função Não-Linear............................................................. 159
7.3 Conclusão................................................................................................................ 160
8. CONCLUSÃO ............................................................................................................. 160
8.1 Revisão Contextual.................................................................................................. 160
8.2 Problema e Solução Proposta.................................................................................. 161
8.3 Resultados................................................................................................................ 161
8.4 Contribuições........................................................................................................... 162
8.5 Trabalhos Futuros.................................................................................................... 163
REFERÊNCIAS BIBLIOGRÁFICAS............................................................................ 165
ANEXO I - Algoritmo Backpropagation........................................................................... 172
ANEXO II - Algoritmo LVQ (Vetor de Quantização Linear)........................................... 180
ix
LISTA DE FIGURAS
Figura 2.1 – Diagrama de blocos do sistema de controle.................................................. 9
Figura 2.2 – Exemplo do domínio das variáveis lingüísticas............................................13
Figura 2.3 – Exemplo do domínio da lógica binária......................................................... 13
Figura 2.4 – Classificação binária entre ser alto ou não-alto............................................. 14
Figura 2.5 – Classificação fuzzy para variável altura........................................................15
Figura 2.6 – Descrição da variável salário......................................................................... 18
Figura 2.7 – Ilustração das principais t-normas................................................................. 19
Figura 2.8 – Ilustração das principais t-conormas............................................................. 20
Figura 2.9 – Função f(x) descrita por equação matemática............................................... 21
Figura 2.10 – Função f(x) descrita por regras lingüísticas com valores exatos................. 22
Figura 2.11 – Função f(x) descrita por regras lingüísticas fuzzy...................................... 24
Figura 2.12 – Estrutura básica de um controlador fuzzy.................................................. 25
Figura 3.1 – Componente do neurônio biológico............................................................. 37
Figura 3.2 – Potencial de ação em um neurônio................................................................ 38
Figura 3.3 – Modelo neural............................................................................................... 40
Figura 3.4 – Modelo do neurônio artificial........................................................................ 43
Figura 3.5 – Modelo do neurônio artificial com entrada de viés....................................... 44
Figura 3.6 – Neurônio com n entradas e pesos definidos.................................................. 45
Figura 3.7 – Um neurônio com as funções de ativação e transferência............................ 46
Figura 3.8 – Funções de transferências mais empregadas................................................. 47
Figura 3.9 – Redes exemplificando camadas escondidas ou ocultas................................. 48
Figura 3.10 – Redes de camada única............................................................................... 49
Figura 3.11 – Redes de múltiplas camadas........................................................................ 49
Figura 3.12 – Redes feedback............................................................................................ 51
Figura 3.13 – Aprendizado supervisionado....................................................................... 52
Figura 3.14 – Fluxo de processamento do algoritmo com as fases forward e backward.. 54
x
Figura 3.15 – Estrutura de um elemento neurônio............................................................ 55
Figura 3.16 – Diagrama de blocos da regra delta generalizada......................................... 56
Figura 3.17 – Aprendizado não-supervisionado................................................................ 57
Figura 3.18 – Aprendizado por reforço............................................................................. 59
Figura 3.19 – Análise do supertreinamento....................................................................... 60
Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural................................. 61
Figura 4.1 – Arquitetura de um sistema neurofuzzy.......................................................... 64
Figura 4.2 – Taxonomia quanto às características fuzzy do sistema................................. 65
Figura 4.3 – Taxonomia quanto às características de aprendizado................................... 66
Figura 4.4 – Estrutura neural para as premissas de uma rede fuzzy neural.......................68
Figura 4.5 – Rede fuzzy neural baseada em regras........................................................... 69
Figura 4.6 – Topologia de uma rede fuzzy neural em forma paramétrica......................... 70
Figura 4.7 – Arquitetura neurofuzzy ANFIS................................................................... 71
Figura 4.8 – Arquitetura de um FSOM com duas entradas e uma saída......................... 73
Figura 4.9 – Sistema NEFCLASS................................................................................... 75
Figura 5.1 – Sistema de controle....................................................................................... 79
Figura 5.2 – Identificação de um sistema dinâmico.......................................................... 80
Figura 5.3 – Função com mínimo local e global............................................................... 85
Figura 6.1 – Diagrama de blocos do treinamento do NFN................................................ 87
Figura 6.2 – Modelo híbrido incorporado.......................................................................... 88
Figura 6.3 – Modelo híbrido auxiliar................................................................................. 89
Figura 6.4 – Estrutura da rede neurofuzzy NFN-MK........................................................ 90
Figura 6.5 – Estrutura do sistema Neo-Fuzzy-Neuron...................................................... 91
Figura 6.6 – Estrutura do neurônio fuzzy.......................................................................... 92
Figura 6.7 – Funções de pertinência do tipo triangular uniformemente espaçadas........... 94
Figura 6.8 – Inferência fuzzy em uma sinapse não-linear do Neo-Fuzzy-Neuron............ 94
Figura 6.9 – Ajuste dos pesos para a rede NFN................................................................ 96
Figura 6.10 – a) Diagrama de blocos do NFNG b) Bloco Fi(xi)........................................ 101
Figura 6.11 – Topologia da rede de Kohonen................................................................... 108
Figura 6.12– Funções de pertinência tipo 1....................................................................... 110
Figura 6.13 – Funções de pertinência tipo 2...................................................................... 111
Figura 6.14 – Determinação das funções de pertinência................................................... 112
Figura 6.15 – Rede de Kohonen para determinar os centros das funções triangulares..... 113
xi
Figura 7.1 – Função f ( x) = sen (x ) a ser aproximação..................................................... 118
Figura 7.2 – Rede NFN-MK usada na aproximação da função sen (x )............................. 119
Figura 7.3 – Funções triangulares eqüidistantes para f ( x) = sen (x )................................ 121
Figura 7.4 – Funções triangulares não uniformemente distribuídas paraf ( x) = sen (x ).. 121
Figura 7.5 – EQM para diferentes taxas de aprendizagem................................................ 123
Figura 7.6 – Fase de teste do NFN-MK para f ( x) = sen (x )............................................. 124
Figura 7.7 – RNA utilizada na aproximação da função sen(x)..........................................126
Figura 7.8 – Função tangente hiperbólica..........................................................................129
Figura 7.9 – Derivada da função tangente hiperbólica...................................................... 129
Figura 7.10 – Fase de treinamento da RN para os ganhos arbitrários e obtidos por AG.. 130
Figura 7.11 – Evolução do EQM para os ganhos arbitrários e obtidos por AG................ 131
Figura 7.12 – Fase de teste da rede neural......................................................................... 132
Figura 7.13 – Comparação entre os erro quadrático médio............................................... 132
Figura 7.14 – Curva chapéu mexicano.............................................................................. 134
Figura 7.15 – Rede NFN-MK usada na aproximação do chapéu mexicano..................... 135
Figura 7.16 – Funções triangulares para f ( x1 , x2 ) = sin c( x1 , x2 ) ...................................... 135
Figura 7.17 – Funções triangulares não uniformes para f ( x1 , x2 ) = sin c( x1 , x2 ) .............. 136
Figura 7.18 – Fase de teste em 3D da função chapéu mexicano....................................... 138
Figura 7.19 – Fase de teste em 2D da função chapéu mexicano ...................................... 138
Figura 7.20 – Rede NFHQ usada na aproximação da curva chapéu mexicano................. 140
Figura 7.21 – Rede FSOM na aproximação da curva chapéu mexicano........................... 141
Figura 7.22 – RNA utilizada na aproximação da função f ( x1 , x2 ) = sin c( x1 , x2 ) ............. 142
Figura 7.23 – Fase de treinamento da RN para a curva chapéu mexicano........................ 143
Figura 7.24 – Curva radial................................................................................................. 145
Figura 7.25 – Funções triangulares para a função radial................................................... 146
Figura 7.26 – Funções triangulares não uniforme para curva radial................................. 146
Figura 7.27 – Fase de teste em 3D da função radial.......................................................... 148
Figura 7.28 – Fase de teste em 2D da função radial.......................................................... 149
Figura 7.29 – Fase de treinamento da RN com 21 padrões entrada/saída......................... 151
Figura 7.30 – Fase de treinamento da RN com 101 padrões entrada/saída....................... 151
Figura 7.31 – Comparação entre as etapas de treinamento............................................... 152
xii
Figura 7.32 – Função não-linear........................................................................................ 153
Figura 7.33 – Funções triangulares eqüidistantes para a não-linear................................. 154
Figura 7.34 – Funções triangulares não uniformemente distribuídas................................155
Figura 7.35 – Fase de teste do NFN-MK........................................................................... 156
Figura 7.36 – Estrutura da rede NFN................................................................................. 157
Figura 7.37 – Fase de teste do NFN.................................................................................. 158
Figura AI.1 – Rede multicamadas..................................................................................... 173
Figura AI.2 – Rede neural com suas respectivas conexões............................................... 174
Figura AI.3 – Propagação dos sinais de entrada................................................................ 177
Figura AI.4 – Rede com três camadas............................................................................... 177
Figura AI.5 – Retropropagação do erro............................................................................. 178
Figura AII.1 – Esquema da rede para o LVQ.................................................................... 181
xiii
LISTA DE TABELAS
Tabela 2.1 – Termos da variável salário............................................................................ 17
Tabela 2.2 – Principais t-normas e t-conormas duais........................................................ 19
Tabela 2.3 – Vantagens e desvantagens dos métodos de defuzzificação.......................... 28
Tabela 2.4 – Equações das funções de pertinências.......................................................... 30
Tabela 3.1 – Comparativo entre o cérebro humano e o computador................................. 41
Tabela 3.2 – Comparação entre o neurônio biológico e artificial ..................................... 42
Tabela 4.1 – Comparação entre os sistemas fuzzy e neural ............................................. 63
Tabela 6.1 – Comparação entre o neurônio artificial e fuzzy............................................ 93
Tabela 6.2 – Comparação entre a RNA e o NFN.............................................................. 100
Tabela 7.1 – Dados de treinamento do NFN-MK.............................................................. 120
Tabela 7.2 – Parâmetros da modelagem da função f ( x) = sen (x ).................................... 122
Tabela 7.3 – EQM final..................................................................................................... 123
Tabela 7.4 – Análise de resultados função f ( x) = sen (x )................................................. 124
Tabela 7.5 – Dados de treinamento da função f ( x) = sen (x )........................................... 127
Tabela 7.6 – Ganhos otimizados pelo algoritmo genético................................................. 128
Tabela 7.7 – Comparação entre a RNA e o NFN-MK para a função f ( x) = sen (x ).......... 133
Tabela 7.8 – Dados de treinamento do NFN-MK.............................................................. 136
Tabela 7.9 – Parâmetros da modelagem da função f ( x1 , x2 ) = sin c( x1 , x2 ) ..................... 137
Tabela 7.10 – Análise de resultados função f ( x1 , x2 ) = sin c( x1 , x2 ) ................................ 139
Tabela 7.11 – Dados de treinamento da curva chapéu mexicano...................................... 143
Tabela 7.12 – Comparação entre a RNA e o NFN-MK para f ( x1 , x2 ) = sin c( x1 , x2 ) ....... 144
Tabela 7.13 – Comparação dos resultados para a função f ( x1 , x2 ) = sin c( x1 , x2 ) ............ 144
Tabela 7.14 – Dados de treinamento do NFN-MK............................................................ 147
Tabela 7.15 – Parâmetros da modelagem da função radial............................................... 148
Tabela 7.16 – Análise de resultados função radial............................................................ 149
Tabela 7.17 – Dados de treinamento da curva radial......................................................... 152
xiv
Tabela 7.18 – Comparativo entre NFN e NFN-MK.......................................................... 154
Tabela 7.19 – Parâmetros das curvas de pertinência da função não-linear....................... 155
Tabela 7.20 – Resultados dos EQM.................................................................................. 159
xv
LISTA DE SIGLAS E ABREVIATURAS
IA
Inteligência Artificial
AG
Algoritmo Genético
ANFIS
Adaptive Network-based Fuzzy Inference System
ART
Adaptative Resonance Theory
C
Centro
CDA
Centro de Área
EQM
Erro Quadrático Médio
FSOM
Fuzzy Self-Organized Map
GD
Gradient Decrescent
LD
Limite Direito
LE
Limite Esquerdo
LVQ
Linear Vector Quantazation
MAX
Critério do Máximo
MCP
McCulloch e Pitts
MDM
Média dos Máximos
MIMO
Multiple Input – Multiple Output
MQO
Mínimos Quadrados Ordinários
MLP
Multi-Layer Perceptron
NB
Negativo Grande
NEFCLASS
Neuro Fuzzy Classification
NFHQ
Neuro Fuzzy Hierárquico Quadtree
NFN
Neo-Fuzzy Neuron
NFNG
Neo-Fuzzy-Neuron Generalizado
NFN-MK
Neo- Fuzzy-Neuron Modificado por Kohonen
NM
Negativo Médio
xvi
NS
Negativo Pequeno
PB
Positivo Grande
PDP
Parallel Distributed Processing
PM
Positivo Médio
PS
Positivo Pequeno
RBF
Radial Basis Function
RFN
Rede Fuzzy Neural
RN
Rede Neural
RNA
Rede Neural Artificial
SF
Sistemas Fuzzy
SH
Sistemas Híbridos
SOM
Self Organizing Map
VB
Visual Basic
ZE
Zero
xvii
RESUMO
PAGLIOSA, Angelo L. Obtenção das funções de pertinência de um sistema neurofuzzy
modificado pelas redes de Kohonen. 2003. 182f. Dissertação (Mestrado em Automação
Industrial) – Centro de Ciências Tecnológicas, Universidade do Estado de Santa Catarina,
Joinville, 2003.
Esta dissertação propõe um modelo computacional que combina técnica de Sistemas Fuzzy
(SF) e Redes Neurais Artificiais (RNA´s), com o objetivo de realizar a identificação de
sistemas, os quais são modelados pela descoberta de curvas de pertinência e pesos de
conexões no modelo proposto. O modelo proposto chamado de Neo Fuzzy Neuron Modificado
pela rede de Kohonen (NFN-MK) foi reestruturado a partir do modelo do Neo Fuzzy Neuron
(NFN), proposto originalmente por Yamakawa. O modelo NFN é construído sob uma
topologia neural que associa as regras do tipo “Se – Então”, sendo estas do tipo fuzzy. A
virtude do modelo de Yamakawa é combinar o conhecimento apresentado nos SF´s com a
habilidade de aprendizagem e generalização dasRNA´s. A partir deste modelo, o NFN-MK
introduz a rede de Kohonen em um estágio inicial da aprendizagem, a fim de encontrar os
vértices iniciais das curvas triangulares de pertinência do modelo proposto. A partir da
definição inicial dos vértices dos triângulos nas curvas de pertinência, inicia-se um processo
de aprendizagem, análogo ao backpropagation clássico, a fim de ajustar os pesos de cada
conexão da topologia neural proposta. Ao final da aprendizagem, o NFN-MK é submetido a
experimentos na identificação de três sistemas. Estes sistemas são representados com curvas
matemáticas clássicas, a fim de comparar a eficiência do modelo proposto a outros resultados
como: o próprio valor analítico das funções, RNA´s clássicas e outros modelos neurofuzzy de
trabalhos correlatos.
Palavras-chaves: sistemas fuzzy, redes neurais, sistemas neurofuzzy, método de Kohonen,
funções de pertinência
xviii
ABSTRACT
PAGLIOSA, Angelo L. Neo-Fuzzy-Neuron Modify (NFNM) that uses Kohones' method
to automatic generation of memberships function. 2003. 182p. MSc.thesis in Industrial
Automation - University Santa Catarina State, Joinville, 2003.
This dissertation presents an hybrid computational model that combines fuzzy system
techniques and artificial neural networks. Its objective is the automatic generation of
membership functions, in particular, triangle forms, aiming at a dynamic
modelling of a
system. The model is named Neo-Fuzzy-Neuron Modify by Kohonen (NFN-MK), since it
starts using Kohonen network to obtain the central vertices in triangular curves. A set of these
curves are used to model a variable of the real system. NFN-MK is based on the Neo-FuzzyNeuron (NFN) model originally proposed by Yamakawa, where a network is adapted in order
to associate fuzzy, "if-then"rules allowing elicitation and extraction of knowledge in linguistic
form. The NFN-MK model is tested by simulation of real systems. They are here represented
by classical mathematical functions, chosen due their importance in the system identification
field. Finally, a comparison of the results obtained byNFN-MK is carried out against other
models such as analytical results, traditional neural networks, and correlated studies of
neurofuzzy systems applied to system identification. This work ends with a comparison of the
results obtained by NFN-MK with analytical results, and those obtained by using traditional
neural networks and other system identification neurofuzzy methods.
Key-words: fuzzy systems, neural network, neurofuzzy systems, Kohonen method,
memberships function.
CAPÍTULO 1
INTRODUÇÃO
A Identificação de Sistemas é a área que estuda a construção de modelos matemáticos
de sistemas dinâmicos a partir das variáveis de entrada e saída [3], podendo estes ser lineares
ou não-lineares, e a partir destes modelos realizar experimentos que reportem o
comportamento dos sistemas reais. Uma das principais motivações é o custo e viabilidade
reduzidos em se trabalhar com modelos no lugar dos sistemas reais. Dependendo do tipo de
processo que se deseja identificar, uma maneira extremamente útil de descrever um problema
de identificação é sob forma de aproximação de funções, ou sob a otimização de funções que
implica na minimização do erro, visando com isto replicar o comportamento real.
A área de Inteligência Artificial (IA) apresenta-se como uma alternativa para a solução
de problemas em identificação e controle, principalmente aqueles que envolvem nãolinearidades [41]. A IA implementa/constrói sistemas que permitem que o computador
execute funções que são desempenhadas pelos seres humanos, usando conhecimento e
raciocínio. Alguns sistemas são inspirados em modelos biológicos, outros, em sistemas que
produzem algum tipo de comportamento próximo ao observado em sistemas naturais [58].
Na IA duas linhas de pesquisas são conhecidas: as Redes Neurais Artificiais
(inspiração no modelo do neurônio biológico) e a Lógica Fuzzy (dirigida ao raciocínio
humano) [58]. As Redes Neurais Artificiais (RNA´s) oferecem a possibilidade de aprendizado
a partir dos pares de entrada/saída. Contudo, as RNA´s podem exigir um longo tempo de
treinamento e não possuem um mecanismo explicativo, tão menos um mecanismo automático
e eficiente para auxílio no desenvolvimento do projeto.
Já a Lógica Fuzzy (LF) é um mecanismo de raciocínio similar ao do ser humano, por
uso de termos lingüísticos e conhecimento do senso comum. As limitações deste sistema são:
inexistência de técnicas de aprendizado na geração das regras fuzzy e das funções de
pertinência, as quais dependem do conhecimento de um especialista.
As combinações entre essas áreas, RNA´s e LF´s, encontram-se dentro do contexto dos
Sistemas Híbridos (SH), que utilizam as vantagens de cada um dos sistemas, aproveitando o
conhecimento do modelo do processo para diminuir o tempo de projeto. A simbiose dessas
2
linhas de pesquisa vem gerando novas classes de “Sistemas Neurofuzzy”, que se diferenciam
pela arquitetura, métodos de aprendizagem, parâmetros pré-definidos e representação de
conhecimento, combinando a capacidade de sistemas fuzzy de lidar com informações
imprecisas e com a capacidade das redes neurais de aprender por meio de exemplos.
Neste trabalho é proposto um sistema híbrido chamado de Neo Fuzzy Neuron
Modificado pela rede de Kohonen, destinado à aproximação de funções, que identificam e
modelam um sistema real. O Neo Fuzzy Neuron foi originalmente proposto por Yamakawa
[96, 97], e a partir deste modelo se reestruturaram alguns conceitos, mais especificamente o
uso da rede de Kohonen para encontrar os centros das curvas fuzzy dos neurônios fuzzy do
modelo em questão. O treinamento da rede proposta pelo NFN-MK só é finalizado quando o
erro de estimação ou o número de épocas for satisfeito, então o NFN-MK obtido pode ser
usado como um novo modelo da planta real. A implementação da rede de Kohonen tem o
propósito de indicar a localização inicial das curvas de pertinência mais apropriadas para cada
aplicação, representando assim, um maior conhecimento e precisão sobre o sistema em
estudo.
1.1 Contextualização
Há diferentes maneiras de se obter um modelo para um determinado sistema,
utilizando equações matemáticas, gráficos, etc. As equações matemáticas são as mais usadas
[58]. Isto significa que os comportamentos e as relações dos agentes são expressos por um
modelo matemático. Para modelar matematicamente um sistema, pode-se adotar dois
procedimentos:
• Leis físicas que supostamente governam o comportamento do sistema;
• Inferir um modelo baseado em dados observados do sistema. Isto ocorre quando a
modelagem direta é impossível ou difícil, ou seja, o conhecimento do sistema é
incompleto ou inexistente, exceto os valores dos pares das entradas com as
respectivas saídas.
Assim um sistema pode-se definir como uma coleção de agentes, onde, cada um
comporta-se de modo autônomo, ou seja, possui comportamento próprio, capaz de interagir
com os outros, para satisfazer um conjunto específico de exigências e manter um
3
comportamento coerente com seu ambiente. Os agentes em questão podem ser: simples
células, variáveis numéricas, string de bits, etc.
Em alguns sistemas o comportamento é classificado como de difícil identificação e
resistem a tais procedimentos matemáticos. Nestes casos, a obtenção do modelo do sistema
com as ferramentas disponíveis é complicada e o projetista tende a simplificar a realidade
observada. Esta simplificação limita-se às relações entre agentes e seu ambiente, já que os
procedimentos quantitativos são limitados no tratamento de relações altamente não-lineares e
dinâmicas. Como conseqüência, o modelo obtido não reflete a realidade tal como ela é. As
relações matemáticas podem só descrever certos aspectos do mundo real, e sua utilização se
deve muitas vezes à falta de outras ferramentas mais apropriadas [58].
Neste sentido, para resolver a complexidade do problema da identificação de sistemas,
remete-se ao uso de ferramentas não-convencionais, no caso a área de Inteligência Artificial
(IA). O trabalho apresenta um sistema híbrido, o Neo-Fuzzy-Neuron Modificado por Kohonen
(NFN-MK), que busca com aproximações de funções a modelagem de um sistema. O modelo
proposto usa um conjunto de dados do tipo entrada-saída do sistema real para estimar o
comportamento das funções de pertinência, regras lógicas e ajustar pesos da rede, e com isto
representar o modelo do sistema a ser aproximado. Essas funções podem ser lineares ou nãolineares, dependendo do tipo de processo que se deseja aproximar.
Quando IA é colocada em contexto, os seres humanos pensam em sistemas que
raciocinam e tomam decisões iguais aos seres humanos, verdadeiros protótipos de pessoas
capazes inclusive de sentir, o que é um erro. A conseqüência é que o termo acaba sendo mal
aplicado, pois as pessoas não entendem que se trata de algoritmos e não de inteligência no
sentido do ser humano. O que diferencia um sistema que usa IA de um programa
convencional é a qualidade de desempenho, ou seja, velocidade de processamento.
A principal motivação no desenvolvimento de sistemas híbridos, é que o uso de uma
única técnica, pode não ser capaz de resolver um dado problema, em razão de suas limitações
ou deficiências. A combinação de várias técnicas pode levar a uma solução robusta e
eficiente, sendo esta uma das proposições do trabalho.
4
1.2 Problema Abordado
O problema aqui abordado é encontrar um modelo computacional que reproduza o
comportamento de um sistema real. Encontrar este modelo é um problema da área de
Identificação de Sistemas.
1.2.1 Objetivo Geral
Desenvolver um sistema neurofuzzy destinado a identificação de sistemas, onde as
funções de pertinência do tipo triangulares são ajustadas inicialmente pela rede de Kohonen.
A eficiência do modelo proposto é exibida com exemplos de aproximações das funções que
representem um sistema real a ser identificado. Neste trabalho foram modeladas as funções:
sen(x), chapéu mexicano, radial e não-linear, sendo essas contínuas e limitadas em um
intervalo no espaço.
1.2.2 Objetivos Específicos
• Implementar um sistema de inferência, onde o modelo é formado por um conjunto
de regras do tipo Se-Então, que representam o comportamento do sistema;
• Implementar rotinas de aprendizagem, para o modelo adaptar-se aos requisitos e
mudanças ambientais, assim como uma generalização das situações anteriores;
• Mesclar técnicas fuzzy e neural, resultando em um sistema híbrido, o Neo-FuzzyNeuron Modificado por Kohonen;
• Processar as entradas/saídas e armazenar o conhecimento obtido a partir da
experiência. Isto significa que o modelo utiliza dados numéricos do sistema real;
• Ajustar as funções de pertinência do tipo triangular, pela rede de Kohonen;
• Aplicar conceitos de identificação e modelagem de sistemas, aos casos propostos;
• Validar o modelo computacional proposto, testando-o na identificação das
funções sen(x), chapéu mexicano, radial e não-linear.
Em resumo, é proposto um modelo computacional que deverá implementar os
requisitos citados anteriormente. Este modelo deverá ter como parâmetro de entrada um
5
conjunto de dados de entrada-saída do sistema real, e ele deverá ser capaz de ajustar as curvas
de pertinência, gerar uma base de regras e encontrar os pesos da rede, para que aproxime o
comportamento dos dados de entrada-saída ao comportamento do sistema real. E, se assim
for, concluindo-se a mimetização comportamental do sistema real com o modelo proposto.
1.2.3 Justificativas
As justificativas em torno da implementação do sistema híbrido chamado de Neo
Fuzzy Neuron Modificado por Kohonen (NFN-MK) aplicado à aproximação de funções são
dadas por:
• O número de operações envolvidas no sistema NFN-MK é menor, quando
comparado com as RNA´s. Isso faz com que seja uma opção atraente em
aplicações em tempo real e em treinamento on-line;
• Com o uso da rede de Kohonen, o sistema obtém funções de pertinência não
uniformemente distribuídas, representando maior precisão e conhecimento sobre o
sistema em estudo;
• O sistema NFN-MK utiliza sete funções de pertinência para cada padrão de
entrada. Segundo Shaw e Simões (1999), uma mudança de cinco curvas para sete,
aumenta a precisão em torno de 15%, sendo que a partir de sete não há melhorias
significativas;
• As funções de pertinência são do tipo triangulares, porque esse perfil tem a
vantagem de ser computacionalmente simples;
• Os procedimentos de aprendizagem usados no sistema NFN-MK não utilizam
derivadas, como no backpropagation (usado em redes neurais artificiais),
tornando a atualização dos pesos mais rápida.
1.3 Contribuições
A seguir as principais contribuições da dissertação:
6
• O NFN-MK é um modelo computacional que apresenta uma alternativa à área de
Identificação de Sistemas com técnicas não-convencionais. A Inteligência
Artificial é capaz de reduzir a complexidade da modelagem de um sistema real.
Em princípio, ele é uma solução para problemas de controle até intratáveis por
técnicas clássicas, como: transformadas de Laplace ou Z [82];
• O processo de aquisição de conhecimento não depende de um especialista, como
nos sistemas fuzzy. As curvas iniciais de pertinência são sete, modificadas e
adaptadas pela rede de Kohonen, baseadas apenas nos dados de entradas;
• A aproximação de função por RNA implica principalmente em dois fatores: os
números de neurônios e de camadas escondidas. Esses problemas são
solucionados com a rede NFN-MK, porque os números de neurônios estão
relacionados com os números das funções de pertinência, que são sete. Já o
sistema NFN-MK não usa camadas escondidas;
• O sistema NFN-MK soluciona também os problemas de mínimos locais,
encontrados nas redes neural multicamadas (MLP), porque a função objetivo a ser
minimizada no processo de treinamento é quadrática e convexa [16, 19, 48, 96,
97].
1.4 Organização da Dissertação
Inicialmente são apresentados alguns conceitos básicos da lógica fuzzy, redes neurais
artificiais e sistemas híbridos, os quais são pré-requisitos necessários para o entendimento do
sistema NFN-MK proposto neste trabalho. Assim, a dissertação está estruturada em 8
capítulos, conforme descrito a seguir.
No capítulo 2 são apresentados os fundamentos e conceitos necessários para
implementar um sistema inteligente baseado em lógica fuzzy. No capítulo 3 apresentam-se,
em detalhes, os fundamentos teóricos das redes neurais artificiais, descrevendo sua célula
básica, sua arquitetura e os algoritmos de aprendizagem. A simbiose das técnicas fuzzy e
neural serão descritas no capítulo 4, onde alguns sistemas neurofuzzy já desenvolvidos e
conhecidos na literatura, são apresentados e classificados segundo a taxonomia proposta. Já o
capítulo 5 descreve a Inteligência Artificial aplicada a técnicas de controle, especificamente
em identificação e modelagem de sistemas. O capítulo 6 apresenta o modelo NFN-MK que
tem como proposta de estudo ajustar as funções de pertinência de uma rede neurofuzzy. A
7
obtenção dessas funções é feita através de algoritmo de agrupamento, no caso, o mapa autoorganizável de Kohonen. No capítulo 7, são apresentados quatro estudos de casos realizados
com os sistemas NFN-MK. Os resultados associados a problemas de aproximações de
funções, são promissores, mas não podem ser interpretados como conclusivos, porque os
problemas das aplicações foram escolhidos arbitrariamente. O propósito básico é indicar o
potencial dos sistemas híbridos inteligentes e as variadas possibilidades de aplicações. O
capítulo 8 discute as conclusões deste trabalho e apresenta propostas de possíveis trabalhos
futuros.
Além dos capítulos acima citados, essa dissertação possui dois apêndices. No apêndice
I é apresentada uma descrição detalhada do algoritmo backpropagation [5, 12, 25, 31, 50, 91,
103], usado em RNA´s. Já no apêndice II é detalhado o algoritmo Vetor de Quantização
Linear (LVQ), usado nas redes de FSOM de Kohonen [5, 12, 25, 91].
Ao leitor, os termos funções ou curvas de pertinência encontradas durante o texto tem
o mesmo significado.
CAPÍTULO 2
LÓGICA FUZZY
Este capítulo apresenta a fundamentação de conceitos necessários para a
implementação de sistemas inteligentes baseado emLógica Fuzzy (LF).
2.1 Introdução
A lógica fuzzy (também conhecida como nebulosa ou difusa) representa um esquema
de traduzir informações vagas, imprecisas em valores numéricos [8]. Possibilita a inclusão da
experiência humana em controle computadorizado, tornando possível decisões em problemas
complexos. Ela pode ser agregada a sistemas de redes neurais (os sistemas neurofuzzy)
aumentando o aprendizado e interface com os dados numéricos. O sucesso mundial de
sistemas de modelagem e controle em lógica fuzzy aplicados na indústria o recomenda como
uma ferramenta eficiente na engenharia de controle industrial, manufatura, comunicações
homem-máquina e sistemas de tomada de decisão [2].
Nas teorias de controle clássica e moderna, o primeiro passo para implementar o
controle de um processo é derivar o modelo matemático (transformada de Laplace ou Z) que
descreve o mesmo [82]. O procedimento requer que se conheça detalhadamente o processo a
ser controlado, o que nem sempre é factível se ele for muito complicado (ver figura 2.1).
9
Obter o modelo
matemático da planta
Entrada
Controlador
+
_-
Processo
Desconhecido
Saída
Realimentação
Figura 2.1 – Diagrama de blocos do sistema de controle
A teoria tradicional de controle, baseada em Diagramas de Bode, Lugar das Raízes,
Equações de Estados, tem sido aplicada com sucesso em sistemas muito bem conhecidos e
definidos. Entretanto, todas estas técnicas não são capazes de resolver problemas reais cuja
modelagem matemática é impraticável. Por exemplo, suponha-se um processo linear, onde as
variações nas entradas produzem variações proporcionais nas saídas. Ao se assumir a
propriedade de linearidade, pode-se utilizar técnicas extremamente poderosas e conhecidas na
área de engenharia e tecnologia, com soluções analíticas, e muitas vezes necessitam ser
linearizadas em torno de um ponto de operação. Outra restrição muito utilizada em análises de
sistemas lineares é que os parâmetros de processo não se alteram, ou seja, que o sistema seja
invariante no tempo, apesar de na realidade ocorrer deterioração dos componentes dos
sistemas com o passar do tempo, além de impactos ambientais, tais como influências de
temperatura e pressão. Devido a tais simplificações, o projetista em geral encontra sérias
dificuldades no desenvolvimento de uma descrição matemática significativa e realista de um
processo industrial. As causas de tais dificuldades podem ser classificadas como: fenômenos
físicos ou químicos mal compreendidos, valores imprecisos de parâmetros, a dimensão e a
complexidade do modelo, distúrbios externos e deficiência de qualificação técnica [2, 82].
10
Novas tecnologias são inventadas devido às necessidades específicas. O início da lógica
fuzzy foi pela necessidade de um método capaz de expressar de uma maneira sistemática
quantidades imprecisas, vagas e mal-definidas [82]. Por exemplo, em vez de se utilizar um
modelo matemático, os controladores industriais baseados em lógica fuzzy podem ser
investigados com o conhecimento experimental de operadores humanos já treinados, fazendo
com que a ação de controle seja tão boa quanto a deles (em geral melhor) e sempre
consistente.
Nos últimos anos, a utilização no cotidiano de computadores pessoais e equipamentos
controlados por microprocessadores trouxeram a necessidade de sofisticados sistemas de
interação Homem - Máquina. O matemático M .Minsky acredita que robôs vão substituir o
homem em todas as tarefas, desde as mais simples e repetitivas tarefas, como montar carros,
até as mais sofisticadas, como dirigir um carro. Quando se escreve um programa para fazer
alguma tarefa, deseja-se que o mesmo faça isso de forma semelhante ao ser humano. Para
realizar uma tarefa, o cérebro humano tenta várias possibilidades, vários caminhos de ação e,
se um não der certo, ele tenta outro caminho diferente. Pode-se dizer que a inteligência é a
capacidade de fazer várias coisas ao mesmo tempo [88, 98, 92]. Assim, se consegue dirigir um
carro por uma estrada, trocando marchas e fazendo curvas ao mesmo tempo em que se resolve
um problema mentalmente ou conversa com outra pessoa sobre algo, que está muito distante
dali. Uma criança de 18 meses ao colocar um lápis em uma gaveta, ela irá tentar de várias
formas, aprendendo com os erros, até conseguir. Os computadores apresentam uma
dificuldade para conseguir fazer isso. Uma criança sabe que pode puxar um objeto com uma
corda, mas sabe também que não pode empurrar um objeto com uma corda porque ela é
flexível. Isso é senso comum. Para fazer o computador agir dessa forma, insere-se, via
programação, informações e conhecimento. Sem elas, ele não pode fazer muitas tarefas, pois é
incapaz de entender o que está acontecendo.
O problema nessa interação é que os computadores não podem entender os conceitos
vagos e os termos imprecisos da linguagem e do pensamento humano. Normalmente as
informações são coletadas através de afirmações que podem ser consideradas verdadeiras ou
falsas e representadas em computador por meio dos valores numéricos “0” e “1” da lógica
binária, chamada Lógica de Boole [8]. Por outro lado, os termos vagos, imprecisos ou
qualitativos - tais como “moderadamente rápido”, “médio”, “um tanto devagar”, não podem
ser expressos com lógica binária [81]. Como os fenômenos práticos do dia-a-dia nunca são
11
considerados completamente falsos ou completamente verdadeiros, utiliza-se a lógica fuzzy, a
qual possibilita que tais informações, de natureza imprecisa, sejam implementadas em
computadores [82]. Este oferece um método, baseado em teoria de conjuntos matemáticos,
para o manuseio de descrições qualitativas, inexatas, imprecisas e incertas de uma maneira
rigorosa e sistemática [77].
A Lógica Fuzzy foi proposta por L. A. Zadeh em um artigo intitulado “Fuzzy Sets”
publicado em 1965 [8]. Embora os princípios da lógica fuzzy já estejam disponíveis a algum
tempo no meio científico, somente nos últimos anos têm sido aplicados em processos
industriais [27]. Atualmente diversos produtos de uso diário já dispõem de controladores fuzzy
[30, 46].
2.2 Resumo Histórico
No início da década de 70, pesquisadores da Inteligência Artificial concentraram seus
esforços em tornar as Lógicas em geral aplicáveis à resolução de problemas. Pesquisadores
como Nils Nillson chegaram abordar a Inteligência Artificial como sendo uma questão de
Lógica Aplicada [69].
Inicialmente, a lógica clássica ou binária teve suas raízes em Aristóteles há
aproximadamente 2500 anos atrás. Tratando-se de um filósofo, Aristóteles discutia a lógica
com base em uma interpretação, cuja problemática é demonstrar a manutenção de uma verdade
em um determinado contexto. Este questionamento leva à análise de eventos futuros, cujos
valores podem se tornar em verdades ou falsidades, potencialmente em ambos ou em nenhum
destes. Os conceitos de verdade (V) e falso (F) foram investigados durante séculos por
filósofos, matemáticos e lingüistas [75].
A lógica binária iniciada por Aristóteles foi mais bem entendida apenas neste século,
onde outras lógicas também foram propostas. Mais recentemente, uma lógica chamada de
fuzzy foi apresentada por Lotfi Zadeh em 1965. Ele nasceu em Baku capital do Azerbaijão,
mas, obteve sua graduação em engenharia elétrica na Universidade do Teerã no Irã.
Atualmente é professor emérito na Universidade da Califórnia, em Berkeley [44]. Mas, Bart
Kosko, professor de engenharia elétrica da Universidade do Sul da Califórnia, afirma que este
tipo de lógica multivalorada foi explorado em 1920 por Jan Lukasiewicz, um lógico polonês,
que também definiu a notação reversa polonesa (KOSKO, 1991 apund BARRON; BARRON,
12
1993). Max Black, um filósofo quântico, nascido também em Baku, seguiu o trabalho de
Lukasiewicz em 1937 e criou a base do quem vem sendo pensado como funções de pertinência
de conjuntos fuzzy [8, 44].
No início dos anos 60, Zadeh aperfeiçoou a pesquisa original. Em seguida, desenvolveu
o que se conhece como teoria dos conjuntos fuzzy, introduzindo o termo fuzzy em nossa
linguagem para lidar com o que Black tinha se referido como vaguidade [8, 44]. Em 1965,
Zadeh publicou um texto introdutório sobre o assunto, intitulado Fuzzy Sets [2, 41, 43].
A pesquisa da teoria fuzzy alcançou avanço na própria teoria e no experimento com
aplicações no processo de controle e outras áreas. Em 1974 o professor Mamdani, do Qeen
Mary College, Londres, foi o primeiro aplicar a teoria fuzzy no sistema de controle de um
motor a vapor. Em 1980 F. L. Smidth, da Dinamarca, aplicou a teoria fuzzy no controle de
fornos de tijolos de cimento, fazendo desta a primeira vez que a teoria fuzzy foi usada numa
situação de processo de controle real [27, 44].
Idealizada nos Estados Unidos, difundida na Europa, aplicada, aperfeiçoada e
comercializada no Japão em sistema de controle, está técnica volta agora aos Estados Unidos,
possibilitando aos produtos japoneses uma melhor forma que os americanos. Embora a lógica
fuzzy seja usada largamente no mundo, ela é mais popular no Japão. Sua aceitação fora do
Japão tem sido lenta; algumas pessoas atribuem isso ao próprio nome da técnica, escolhida por
Lotfi A. Zadeh. Em 1988, de 100 aplicações da teoria fuzzy em existência, cerca de 80 foram
criadas no Japão. Os japoneses reconheceram o potencial da lógica difusa mais rapidamente do
que as outras partes do mundo. As primeiras aplicações de vulto da lógica fuzzy no Japão
datam de 1983, na planta de tratamento de água da Fujitec, e em 1987 o sistema Sendai de
automação de ferrovia, a 320 Km ao norte de Tóquio [8, 27, 30].
Quando ele foi inaugurado em 1987, o Metrô Sendai usava um sistema de controle
fuzzy da Hitachi. Um estudo anterior dessa empresa havia mostrado que um sistema de
controle fuzzy era superior a um convencional de várias maneiras: aumentava a precisão das
paradas na plataforma, tornava a viagem mais confortável (com aceleração e freio mais suaves)
e reduzia o consumo de energia elétrica [8]. O desempenho do sistema Sendai impressionou
tanto que, em 12 meses, mais de 50 empresas japonesas estavam trabalhando para desenvolver
tecnologia de lógica fuzzy. Hoje o sistema fuzzy controla o metrô durante as horas de pico. Os
seres humanos ainda controlam o metrô nas horas de não-pico para manter suas práticas de
operação [44].
13
2.3 Noções da Lógica Fuzzy
A lógica fuzzy difere dos sistemas com a lógica clássica em seu mapeamento de
verdade e falsa. Nessa lógica o valor verdade de uma proposição pode ser um subconjunto
fuzzy (por exemplo: baixo, médio e alto) de qualquer conjunto parcialmente ordenado (ver
figura 2.2).
y
1
Baixo
Médio
Alto
Variável
0
1,0
2.0
Figura 2.2 – Domínio das variáveis lingüísticas
Ao contrário dos sistemas lógicos binários, onde o valor verdade só pode assumir dois
valores: verdadeiro ou falso (ver figura 2.3).
y
1
Variável
0
1
Figura 2.3 – Domínio da lógica binária
Em geral, seres humanos apresentam uma linguagem em termos vagos e dependentes
de contexto para elaborarem suas idéias. Para isso vamos ver outro exemplo. Ao se dizer que
uma determinada pessoa é alta, isto é perfeitamente entendido, mesmo que não se defina
14
exatamente a partir de que altura, em metros, uma pessoa pode ser considerada alta. Por outro
lado, na lógica binária tradicional, uma pessoa pode apenas ser considerada alta ou não-alta,
correlacionando com um determinado comprimento padrão [81]. Sem se estabelecer uma
referência exata, é impossível determinar se a afirmação “João é alto” é verdadeira ou falsa
com a lógica binária. Por exemplo: se a referência fosse 1.8 m, uma pessoa com 1.81 m seria
considerada “alta”, enquanto outra, de 1.79 m, seria “não-alta”. A figura 2.4 mostra uma curva
que divide as duas classes. Essa curva possui uma mudança brusca, e um valor binário “0” ou
“1” indica em qual classificação se encontraria uma pessoa em termos de sua altura em
metros.
1,0
Alto
Não-alto
0
1,80
2,0
Altura (m)
Figura 2.4 - Classificação binária entre ser alto ou não-alto [81]
A consideração é sempre válida quando há um limite ou uma referência que tenta
dividir o sim ou não, o preto do branco, etc. Na realidade, os seres humanos têm a tendência
de suavizar as mudanças bruscas, de fazer meias-afirmações ou de enxergar graduações em
cores que entram em contradição com a lógica binária [81].
A mudança brusca, em 1.8 m, de “alto” para “não-alto”, em geral é contra o senso
comum do pensamento humano. A lógica fuzzy evita tal problema pela adoção do conceito de
se pertencer parcialmente a um conjunto, como em afirmações do tipo "não muito alto” ou
“bem alto” (ver figura 2.5).
15
1,0
Baixo
0
Médio
Alto
1,80
2,0
Altura (m)
Figura 2.5 - Classificação fuzzy para variável altura [41]
Cada uma dessas afirmações lingüísticas representa uma verdade parcial, um certo grau
de verdade, ou um certo grau de pertinência a um conjunto. Na lógica fuzzy, um elemento
pode pertencer de forma parcial a um conjunto, com um certo grau, digamos 80% ou 25%. Na
lógica clássica, o grau de pertinência é sempre 100% ou 0% (“0” ou “1”), enquanto na lógica
fuzzy ele pode ser um valor entre 0 e 1 [81, 82].
2.3.1 Variáveis Lingüísticas
Na lógica fuzzy, os valores verdades são expressos lingüisticamente, (ex: verdade, muito
verdade, não verdade, falso, muito falso,...), onde cada termo lingüístico é interpretado como
um subconjunto fuzzy do intervalo unitário [27, 28].
Nos sistemas lógicos binários, os predicados são: par, maior que, etc; passo que na
lógica fuzzy as variáveis lingüísticas são: alto, baixo, etc. Nos sistemas com lógica clássica, o
modificador mais utilizado é a negação enquanto que na lógica fuzzy uma variedade de
modificadores de predicados é possível (ex.: muito, mais ou menos,...). Estes modificadores
são essenciais na geração de termos lingüísticos (ex.: muito alto, mais ou menos perto, etc.).
Nos sistemas clássicos existem os quantificadores existenciais ( ∃ ) e universais ( ∀ ). A lógica
fuzzy admite uma variedade de quantificadores (ex.; pouco, vários, usualmente,
freqüentemente, em torno de cinco, etc.) [27, 28]. Esses problemas podem ser facilmente
resolvidos pelo cérebro humano.
Assim, verifica-se que os problemas da vida real são
imprecisos. Raramente se pode resolvê-los com um sim ou não.
16
A questão está na rigidez da lógica convencional, que sendo dicotômica, não permite
classificar os fatos como parcialmente “verdadeiros” ou parcialmente “falsos” [8]. Em
resumo, a lógica fuzzy buscou uma generalização da lógica clássica, flexibilizando-a[0, 1].
Portanto, a implementação de um projeto de sistemas de controle fuzzy pode ser
reduzida a um ponto em que problemas anteriormente intratáveis passam agora a ser factíveis a
uma solução. A idéia do uso da lógica fuzzy neste trabalho é pela sistemática de traduzir os
termos fuzzy da comunicação humana em valores compreensíveis por computadores. Já que os
computadores são máquinas de aplicações gerais que podem interfacear com processos físicos,
químicos, térmicos e biológicos, a forma de comunicação humana pode ser utilizada para
diretamente intercambiar as informações entre operadores e tais processos.
2.3.2 Teoria dos Conjuntos Fuzzy
Nesta seção são formalizadas as idéias básicas sobre conjuntos e lógica fuzzy visando à
modelagem e o desenvolvimento de sistemas de controle. Na teoria de conjuntos clássicos, um
elemento ou pertence a um conjunto ou não. Por exemplo: o conjunto das pessoas nascidas em
um estado. O conjunto é bem definido e sem ambigüidade com relação aos seus elementos de
fronteiras. Todo cidadão tem uma certidão de nascimento onde consta o seu estado de origem.
Logo, dado um universo U e um elemento particular x ∈U, a função de pertinência µA(x) com
respeito a um conjunto A ⊆ U é dado por:
(2.1)
O fator de pertinência pode então assumir qualquer valor 0 e 1, sendo que o valor 0
indica uma completa exclusão e um valor 1 representa completa pertinência. Esta
generalização aumenta o poder de expressão da função característica. Por exemplo: o conjunto
das pessoas satisfeitas com seus salários em uma grande empresa. Neste exemplo, há uma
variável implícita chamada salário, que precisa ser quantificada e qualificada. Ou seja,
necessita-se traçar uma função descritora ou de pertinência para definir os elementos deste
conjunto e suas vizinhanças. Para este caso, a função de pertinência µA(x) é dada por:
17
(2.2)
µA(x):U → [0,1]
O conjunto suporte de um conjunto fuzzy A é o subconjunto dos pontos x em U tal que
µA(x) ⟩ 0.
Contudo, necessita-se mapear o conhecimento sobre a variável salário, também
conhecido como variável lingüística. Esta variável necessita ser categorizada, isto é, situar-se
em subconjuntos característicos. Os elementos assemelhados são definidos por termos. Estes
termos concentram um conjunto de elementos de mesmas características. Por exemplo: a
variável salário (S), pode possuir os seguintes termos:
S = {s0, s1,s2, s3},
cuja semântica expressa uma faixa de valores (ver tabela 2.1):
Tabela 2.1 - Termos da variável salário [75]
S
Valores Lingüísticos
Faixa Salarial em U$
S0 :
“muito baixo”
100
100
150
200
S1 :
“baixo”
150
200
300
500
S2 :
“médio”
300
500
600
700
S3 :
“bom”
600
700
1000
1000
A definição é sobre uma faixa de valores aproximados, fornecida a partir de um analista
de salários. No exemplo de Sá (1997), mapeou os salários pagos pela empresa a partir de 100
a 1000. O conhecimento sobre a variável fuzzy S, pode ser expressa em curvas de
conhecimento trapezoidal (figura 2.6).
18
µS(Si)
So
1
100
150
S1
200
S2
300
500
S3
600
700
1.000 Salário
Figura 2.6 - Descrição da variável salário [75]
Para expressar conceitos é comum o uso de elementos qualitativos, ao contrário de
valores quantitativos. Uma variável lingüística tem por característica assumir valores dentro de
um conjunto de termos lingüísticos, ou seja, palavras ou frases. Assim, ao contrário de
instâncias numéricas, são substituídas por uma variável lingüística que assume instâncias
lingüísticas. Por exemplo, a variável lingüística salário poderá assumir como valor um dos
membros do conjunto {muito baixo, baixo, médio, bom}. Para se atribuir um significado aos
termos lingüísticos, associa-se cada uma destes a um conjunto fuzzy definido sobre um
universo de discurso da figura 2.6.
A forma de expressar o conhecimento é tipicamente com regras do tipo condição ação. Supondo que uma variável de entrada (condição) “salário” (S) esteja associada a uma
variável de saída (ação) chamada “motivação pessoal” (M), uma regra típica é dada por:
SE (S é Baixo) Então (M é pouca)
A idéia geral aqui é representar o conhecimento por um conjunto de regras nas quais as
condições são dadas a partir de um conjunto de termos lingüísticos associados às variáveis de
entrada/saída do processo. Analogamente, as funções de transferência de Laplace fazem algo
semelhante em teoria de controle linear [2]. Regras do tipo Se - Então são chamadas de regras
fuzzy. Uma regra fuzzy pode ser:
SE (x é ai ) E (y é bi ) e ...ENTÃO (z é ci),
onde as variáveis de entrada (x, y,...), que aparecem como argumentos condicionais dentro do
operador “SE”, são referidas como antecedentes. Já a implicação lógica, que consiste na
formulação de uma conexão entre causa e efeito, ou uma condição e sua conseqüência, neste
19
caso, é denotado como operador de implicação t-norma de Zadeh (ver tabela 2.2). As
variáveis de saída (z) dentro do operador “Então” são chamadas conseqüentes. A rigor, as tnorma e t-conorma são grupos algébricos, os quais apresentam equivalência com os
conectivos “and”, “or” e “not”.
Tabela 2.2 - Principais t-normas e t-conormas duais [77]
t-norma
t-conorma
Nome
min (a,b)
max (a,b)
Zadeh
ab
a + b - ab
Probabilista
max (a + b - 1, 0)
min (a + b, 1)
Lukasiewicz
Weber
Na lógica tradicional as operações com conjunto são as operações booleanas
possibilitadas pelos conectivos "E (and)”, “OU (or)” e “Não (not)”. Na lógica fuzzy, há
diversos operadores para se realizar as operações lógicas, os quais são basicamente divididos
em duas classes (ou normas): as normas triangulares (chamadas por t-normas) e as normas
duais (chamadas por s-normas ou t-conormas) [77]. Portanto, o projetista de um sistema fuzzy
tem diversos graus de liberdade para escolher implicações fuzzy em tarefas de controle [71]. A
tabela 2.2 indica as t – normas e t – conormas mais utilizadas, e as figuras 2.7 e 2.8 ilustram
algumas destas operações, em relação a dois conjuntos fuzzy A e B.
Figura 2.7 - Ilustração das principais t-normas [77]
20
Figura 2.8 – Ilustração das principais t-conormas [77]
As normas s e t definem as operações entre duas ou mais variáveis fuzzy de um sistema.
2.3.3 Modelagem Fuzzy de Sistemas
Ao projetar um sistema é necessário fazer o modelamento do processo. Para tal tarefa,
à área da Inteligência Artificial (IA) apresenta algumas técnicas, como: regras fuzzy
(lingüísticas) e redes neurais artificiais[27].
As equações diferenciais descrevem a dinâmica ou a cinética de sistemas em uma
forma conveniente. O exemplo usado é de Gomide (1994), onde a relação entrada x e a saída
f(x) do sistema são obtidas pela equação 2.3 (ver figura 2.9).
f ( x ) = ( x − 3) 2
(2.3)
21
Figura 2. 9 - Função f (x) descrita por equação matemática [27]
Contudo, sistemas reais não se apresentam com a simplicidade da curva da figura 2.9.
Assim, esta descrição não é apropriada para a maioria de sistemas complexos tais como,
sistemas não-lineares e sistemas variantes no tempo. À medida que a complexidade do sistema
aumenta, a possibilidade de descrever um sistema com equações matemáticas diminui [3, 16,
27, 50, 82].
A abordagem com lógica fuzzy consiste em descrever a relação entre x e f(x) com
regras do tipo:
Regra i:
SE x é ai ENTÃO f(x) é bi,
i=1,...,N
Onde x representa a variável independente e f(x) dependente, sendo Ai e Bi constantes
numéricas e N o número de dados experimentais que descreve a função. Quando Ai e Bi são
lingüísticos com valores numéricos exatos (sistemas clássicos), tem-se a figura 2.10.
22
Figura 2.10 - Função f (x) descrita por regras lingüísticas com valores exatos [27]
As regras para a lógica clássica são:
Regra 1:
SE x é -2
ENTÃO
f(x) é 25
Regra 2:
SE x é -1
ENTÃO
f(x) é 16
Regra 3:
SE x é 0
ENTÃO
f(x) é 9
Regra 4:
SE x é 1
ENTÃO
f(x) é 4
Regra 5:
SE x é 2
ENTÃO
f(x) é 1
Regra 6:
SE x é 3
ENTÃO
f(x) é 0
Regra 7:
SE x é 4
ENTÃO
f(x) é 1
Regra 8:
SE x é 5
ENTÃO
f(x) é 4
Regra 9:
SE x é 6
ENTÃO
f(x) é 9
Regra 10:
SE x é 7
ENTÃO
f(x) é 16
Regra 11:
SE x é 8
ENTÃO
f(x) é 25
23
A vantagem desta descrição é a facilidade em mudar a descrição do sistema. Por
exemplo, indicada por quadrados na figura 2.10, pode-se modificar a regra 7: 1 para 2; regra
8: 4 para 6; regra 9: 9 para 13; regra 10: 16 para 18, pois as regras são independentes umas
das outras. Isto mostra que descrições na forma de regras são apropriadas para sistemas com
aprendizagem, sistemas auto-organizáveis e sistemas adaptativos [27]. Por outro lado, existem
desvantagens. Quando é dado x = 1 a conclusão obtida é f(x) = 4. Contudo, se é dado x = 1.5
nada pode ser inferido a partir do conjunto de regras mencionado, pois não existe nenhuma
delas que possui um antecedente com x = 1.5. Isto mostra que os sistemas clássicos binários
são pouco eficientes com relação a conhecimento impreciso, ou com variação em dados de
entrada, e que é necessário uma quantidade de regras (base de conhecimento) para se obter um
resultado ou desempenho significativo [27]. Conseqüentemente, a demanda de tempo para se
verificar em geral é considerável. Alternativamente, poderíamos utilizar regras do mesmo tipo
anterior, mas interpretadas por regras fuzzy. Neste caso ai e bi seriam termos lingüísticos
associados à variável x, cada um destes termos associados a um conjunto fuzzy a fim de se
estabelecer seu significado. Assim, poderíamos descrever a relação entre x e f(x) por:
Regra 1: SE x está em torno de -2
ENTÃO f(x) está no em torno de 25
Regra 2: SE x está em torno de -1
ENTÃO f(x) está no entorno de 16
...
Regra 11: SE x está em torno de 8
ENTÃO f(x) está no entorno de 25
Neste caso, a relação precisa entre x e f(x) da figura 2.9 é fuzzificada, tornando-a
contínua como mostrado pela figura 2.11.
24
Figura 2.11 - Função f (x) descrita por regras lingüísticas fuzzy [27]
Esta relação fuzzy fornece valores razoáveis para qualquer dado no universo de
interesse, por exemplo: x = 1.5; x = 3.2; x =4.3. É mais fácil reelaborar regras fuzzy do que
equações matemáticas quando as características dos sistemas ou processo são variantes no
tempo [82].
2.3.4 Estrutura de um Controlador Fuzzy
A idéia básica em controle fuzzy é modelar as ações a partir de conhecimento
especialista, ao contrário de modelar o processo em si. Esta abordagem é diferente dos
métodos convencionais de controle de processos, onde os mesmos são desenvolvidos via
modelagem matemática.
Em muitos processos, tais como extensões de borracha ou elastômeros, fabricação de
pneus de automóveis, a função de entrada de um misturador do tipo Banbury ou de uma
canaleta extrusora não pode ser descrita matematicamente, devido às complexas reações e à
dinâmica não completamente formalizada [82], mesmo por pessoal de operação muito
experiente. Há, entretanto, um grande corpo de receitas empíricas que são conhecidas, para se
produzir resultados aceitáveis. Tais receitas podem ser tomadas como funções de entrada-
25
saída, porque elas relacionam variáveis de entrada fundamentais para obter as saídas, mesmo
que as unidades dimensionais sejam incompatíveis, como por exemplo, pressão de entrada e
composição de material de borracha versus a vida útil de um pneu.
Todavia, operadores humanos podem controlar tais tipos de processos, sem na verdade
conhecerem sua dinâmica e matemática. Eles podem adaptar estratégias de controle com
treinamento, da experiência adquirida em situações anteriores e de aprendizagem por tentativa
e erro [82]. Um operador humano é uma estrutura de controle que não necessita de modelos
matemáticos [2, 82], mas é auto-sintonizado da observação de comportamento de dados e de
relações de causa e efeito.
A dimensão e a complexidade de módulos de processos industriais tende a aumentar
significativamente, quando se objetiva o desenvolvimento de um modelo preciso e de alta
resolução. O parque industrial atual utiliza 80% de controladores baseados em PID; já
controladores multivariáveis complexos baseados em controle avançado, têm menor
representatividade [27]. Por outro lado, deve-se enfatizar que os controladores PID são
lineares, e não são adequados para aplicações em plantão extremamente não-lineares [82].
A estrutura de um processo controlado por um controlador fuzzy é vista na figura 2.12.
Este controlador é conhecido como Controlador de Mandani [27, 77, 86].
Figura 2.12 - Estrutura básica de um controlador fuzzy [60]
26
Os componentes básicos do controlador de Mandani são:
a) Interface de Fuzzificação
Os valores das variáveis de entrada são escalonados para condicionar os valores a
universos de discurso normalizados e fuzzificação dos valores, transformando números em
instâncias de variáveis lingüísticas.
b) Base de Conhecimento
• Base de Regras: caracterizando a estratégia de controle e suas metas;
• Base de Dados: armazena as definições necessárias sobre discretizações e
normalizações dos universos de discurso, as partições fuzzy dos espaços de entrada
e saída e as definições das funções de pertinência.
c) Procedimento de Inferência
Processa os dados fuzzy de entrada, junto com as regras, de modo a inferir as ações de
controle fuzzy, aplicando o operador de implicação fuzzy e as regras de inferência da lógica
fuzzy.
d) Interface de Defuzzificação
Transforma as ações de controle fuzzy inferidas em ações de controle não-fuzzy [2, 9,
28, 82, 98]. Em seguida, efetua um escalonamento, de modo a compatibilizar os valores
normalizados vindos do passo anterior com os valores dos universos de discurso reais das
variáveis.
Para selecionar o método apropriado de defuzzificação, pode-se utilizar um enfoque
baseado no centróide ou nos valores máximos que ocorrem da função de pertinência
resultante. As estratégias de defuzzificação são:
27
• Média dos Máximos (MDM): que representa o valor médio dentre todos os
pontos máximos, quando existe mais de um máximo. O cálculo deste valor é dado
pela equação 2.4:
N
MDM =
vk
∑N
(2.4)
k =1
onde: vk é o valor máximo da abscissa de cada regra disparada, e N é o número total desses
elementos. Em casos onde a função de pertinência tenha mais de um máximo essa idéia não
poderia ser utilizada.
• Método do Centro de Área (CDA): este método, também é conhecido como:
centróide, centro de gravidade ou de massa. O cálculo deste valor é dado pela
equação 2.5:
N
∑ω y
i
CDA =
i
i =1
N
∑ωi
(2.5)
i =1
onde: N é o número de regras disparadas, ω i é o grau de ativação na ação conseqüente yi. O
valor ω i corresponde à pertinência da ação, portanto ω i ∈ [0,1].
Este método apresenta pequenos problemas, um deles ocorre quando as funções de
pertinências não possuem sobreposição. Ou seja, onde o centro geométrico da figura na
realidade não tem significado físico. Outro fator é que se mais de uma regra tiver a mesma
saída difusa há uma sobreposição de áreas que não é devidamente contabilizada, além disso a
necessidade de integração numérica toma esforço computacional para cálculo.
• Critério do Máximo (MAX): escolhe os pontos onde a funções de pertinência têm
seus máximos (funções singleton), ignora-se as áreas das funções de pertinência. O
cálculo do valor fuzzificado é realizado pela equação 2.6.
`N
µ=
n
∑ µi ∑ µ o
i =1
`N
K =1
n
∑∑ µo
i =1 K =1
(2.6)
28
onde: µi posição do centro do máximo, e µo indicam os pontos em que ocorrem os máximos
(alturas) das funções de pertinência de saída.
As vantagens e desvantagens dos métodos de defuzzificação [2, 82]:
Tabela 2.3 – Vantagens e desvantagens dos métodos de defuzzificação
Métodos
Vantagens
Desvantagens
- Contínuos em malha fechada -
As funções de pertinência não
possuem sobreposição onde o
centro geométrico da figura na
realidade
não
deveria
ter
significado físico;
Centro de
-
Se mais de uma regra tiver a
mesma
Área (CDA)
saída
há
uma
sobreposição de áreas que é
devidamente contabilizada;
-
A
necessidade
numérica,
de
integração
toma
esforço
computacional para cálculo.
Centro do Máximo
-
Contínuos
mais de um máximo, qual máximo
utilizar.
-
Decisões quantitativas.
-
Em controladores fuzzy – -
-
-
Casos
onde
a
função
de
um
pertinência tenha mais de um
integrador para garantir a
máximo essa idéia não poderia ser
continuidade;
usada;
Decisões qualitativas em -
Descontínuos
malhas fechadas;
instabilidade e oscilações).
PI,
(MDM)
malha - Se a função de pertinência possuir
fechada;
(MAX)
Média dos Máximos
em
coloca-se
Reconhece padrões.
(causam
29
Em geral, algumas dificuldades encontradas no projeto de controladores consistem na
especificação da base de regras e da definição das funções de pertinência [27, 41, 44, 60, 82].
A especificação da base de regras pode ser obtida de diferentes maneiras, ressaltandose as seguintes:
• Baseando-se na experiência e conhecimento de especialistas (qualitativo);
• Observação das ações de controle de um especialista;
• A partir da descrição lingüísticas das características dinâmicas do processo;
• Implementação de algoritmos de aprendizagem.
Contudo, algumas dicas práticas podem ser mencionadas [82]:
• Um número prático de funções de pertinência é algo entre 2 e 7. Tanto maior o
número de conjuntos, maior a precisão, mas a demanda computacional também é
significativa. Por exemplo, experiências mostraram que uma mudança de 5
conjuntos triangulares para 7 aumenta a precisão em torno de uns 15%, sendo que
a partir de valores maiores não há melhorias significativas.
• Outro fator que afeta a precisão é o grau de superposição entre as funções de
pertinência fuzzy. Um número mínimo de 25% e um máximo de 75% foram
determinados experimentalmente como adequados, sendo 50% um compromisso
razoável, pelo menos para os primeiros textos num sistema de malha fechada.
As funções de pertinência da forma triangular, trapezoidal, gaussiana (Sino) e sigmóide
são as mais utilizadas em aplicações (ver tabela 2.4).
30
Tabela 2.4 – Equações das funções de pertinência
Função
Regra de Formação
A(x)
b = 1,0
Triangular
x
0
a
 
x−a
b.1 −
A( x ) =  
s

0
s
 , quando a – s ≤ x ≤ a + s



, caso contrário.
A(x)
e = 1,0
x
Trapezoidal
a=0
b
c
d
, quando a ≤ x ≤ b
 (a − x ).e
 a−b

e
, quando b ≤ x ≤ c


A( x ) = 
 (d − x ).e , quando c ≤ x ≤ d
 d −c


, caso contrário.
 0
A(x)
c = 1,0
( x−a) 2
Gaussiana
A( x) = c.e
b
x
a
31
A escolha destas funções, assim como a definição de suas características, podem ser
feitas das seguintes maneiras:
• Baseando-se no conhecimento especialista;
• Emprego de métodos de otimização (redes neurais e/ou algoritmos genéticos);
• Definição de uma metodologia.
No universo de discurso de uma variável o intervalo numérico tem que abranger todos
os possíveis valores reais que esta variável pode assumir. Assim, os produtos projetados com a
lógica fuzzy possuem controles mais simples, são mais fáceis de construir e testar e propiciam
um controle mais confiável do que aqueles que usam sistemas convencionais [8].
Os controladores fuzzy estão sendo combinados com as técnicas de Redes Neurais
Artificiais (RNA´s), com o objetivo de construir sistemas fuzzy com capacidade de
aprendizado. Esses Sistemas Híbridos (SH) estão descritos no capítulo 4.
2.4 Conclusão
Este capítulo introduziu conceitos da lógica fuzzy, discutiu a natureza das imprecisões
em problemas práticos, mostrou como operações fuzzy são feitas e como as regras fuzzy
podem incorporar conhecimento heurístico e empírico em um sistema computacional. A teoria
fuzzy pode ser agregada aos sistemas de redes neurais, os chamados sistemas neurofuzzy, que
aumentam a capacidade de aprendizado através de interface com dados numéricos, detalhado
nos capítulos 4 e 5. No lugar de equações matemáticas, a lógica fuzzy usa descrição
lingüísticas, auxiliando os projetistas a se concentrar nos objetivos funcionais, e não na
matemática do sistema. Ela aproxima o modo de raciocínio do computador à maneira de
pensar das pessoas. Tem sido estimado que, até o ano de 2005, cerca de 60% de todos
controladores serão embutidos com sistemas fuzzy operacionais [81].
CAPÍTULO 3
REDES NEURAIS ARTIFICIAIS
Neste capítulo são apresentados os fundamentos teóricos das redes neurais artificiais,
descrevendo sua célula básica, sua arquitetura e os algoritmos de aprendizagem.
3.1 Introdução
Este capítulo apresenta a fundamentação de conceitos para implementação de sistemas
baseados em Redes Neurais Artificiais (RNA). A tecnologia de redes neurais busca uma
similaridade entre o comportamento do neurônio biológico e um modelo de neurônio
computacional. Assim, será possível a realização de tarefas tais como: a associação,
categorização e percepção de traços marcantes realizados pelo homem [85]. As RNA's
possuem outros nomes, como neurocomputação, processamento paralelo distribuído, sistemas
neuro-mórficos, computadores biológicos ou neuro-computadores.
O final da década de 80 marcou o ressurgimento da área de RNA's, também conhecida
como conexionismo ou sistemas de processamento paralelo e distribuído [12]. Esta forma de
computação é caracterizada por sistemas que, em algum nível, relembram a estrutura das
redes neurais do cérebro humano [85]. As RNA's são implementadas em hardware e software,
que imitam as habilidades computacionais do sistema nervoso biológico, usando um grande
número de simples de neurônios artificiais interconectados.
Os neurônios artificiais simulam os neurônios biológicos, os quais recebem
informações de sensores ou de outros neurônios artificiais, produzindo operações simples
sobre estes dados, e passam o resultado para outros neurônios artificiais [52]. As RN's
funcionam através de seus neurônios artificiais, que processam seus dados usando:
• Paralelismo lógico: para todos os neurônios da mesma camada;
• Operações seriais: quando a informação de uma camada é transferida para
neurônios de outra camada.
33
Existem três características principais que descrevem uma RN biológica, e a que
contribuem para a sua habilidade funcional:
• Topologia (arquitetura);
• Dinâmica;
• Aprendizado.
As RN's estão sendo adotadas para uso em uma variedade de aplicações comerciais e
militares que atinge desde o reconhecimento de padrões até otimização e seqüenciamento [6].
Realiza tarefas bem melhor que outras tecnologias mais convencionais (incluindo sistema
especialistas). O campo de estudo mantém dependências interdisciplinares com as ciências
cognitivas, a cibernética, a psicologia, a neuro-biologia, a matemática e a física.
3.2 As Redes Neurais
O funcionamento da grande maioria dos computadores digitais em uso atualmente é
baseado no princípio de centralizar todas as operações em um processador poderoso e
complexo. Essa é a idéia básica da arquitetura Von Neumann, assim chamada, pois foi
proposta por John Von Neumann, um dos pioneiros da computação, em 1947. O poder de tal
processador pode ser medido em termos de sua velocidade e complexidade [52, 85]
As redes neurais artificiais, diferentemente de computadores digitais convencionais,
executam suas tarefas usando simultaneamente um grande número de processadores, ou seja,
esses processadores operam em paralelo. A representação do conhecimento é distribuída pelas
conexões e o aprendizado é feito alterando-se os valores associados com as conexões.
Todavia, os métodos de aprendizagem ainda precisam ser programados e para cada problema
específico um método de aprendizado apropriado deve ser escolhido.
3.2.1 Histórico das Redes Neurais Artificiais
A história das redes neurais artificiais é relativamente recente. Conta com um pouco
mais de meio século se considerarmos como pioneiros os trabalhos dos neuro-fisiologistas
Donald Hebb e Karl Lashley, por volta de 1940, quando as primeiras simulações foram feitas
com papel e lápis [12].
34
O primeiro modelo artificial de um neurônio biológico foi fruto do trabalho pioneiro
do psiquiatra e neuro-anatomista Warren McCulloch e Walter Pitts em 1943 [85]. O trabalho
publicado em 1943, "A logical Calculus of the Ideas Immament in Nervous Activity", é
apresentada uma discussão sofisticada das redes lógicas de neurônios e novas idéias sobre
máquinas de estados finitos, elementos de decisão de limiar lineares e representações lógicas
de várias formas comportamento e memória. Nos conceitos da cibernética, fez-se uma
analogia entre células nervosas vivas e o processo eletrônico num trabalho publicado sobre os
neurônios formais. O trabalho consistia num modelo de resistores variáveis e amplificadores
representando conexões sinápticas de um neurônio. Parte da discussão em RNA´s gira em
torno dos métodos de aprendizado para que neurônios possam ser capazes de executar uma
determinada função. O trabalho mencionado anteriormente deMcCulloch e Pitts se concentra
muito mais em descrever um modelo artificial de um neurônio e de apresentar as suas
capacidades computacionais do que apresentar técnicas de aprendizado. Os fatos básicos
percebidos por McCulloch e Pitts, que tornaram possível a modelagem matemática do
neurônio [5, 6, 12 , 85], foram:
• Neurônios comportam-se como "somadores algébricos";
• Adicionam entradas excitatórias;
• Subtraem entradas inibitórias;
• Neurônios possuem uma propriedade de "limiar", isto é, quando as entradas
integradas excedem o limiar, disparam um sinal através do axônio;
• Neurônios comportam-se analogicamente enquanto o axônio comportam-se de
forma digital.
Dessa forma, um tratamento discreto e binário utilizando o cálculo proposicional
temporal poderia ser empregado para modelar neurônios biológicos. O neurônio foi definido
como tendo dois estados:
• Verdadeiro e falso do cálculo da lógica proposicional de ordem zero;
• O zero e um da álgebra de booleana.
O estado do neurônio é analisado a cada instante de tempo, onde o neurônio está
disparado ou está inativo.
35
O primeiro mecanismo de aprendizagem foi iniciado porDonald Hebb, em 1949. Ele
propôs uma regra de aprendizagem conhecida hoje como regra de aprendizagemHebbiana.
Hebb demonstrou que a capacidade de aprendizagem em RN's pode ser conseguida através da
variação dos pesos das conexões entre os neurônios. A regra de Hebb diz que, quando um
estímulo de entrada influência na produção de estímulos de saída, o peso da conexão entre os
neurônios deve ser incrementado. A regra Hebbiana tem sido utilizada em vários algoritmos
de aprendizagem de redes neurais artificiais. Mais tarde,Widrow e Hoff sugeriram uma regra
de aprendizagem, conhecida com regra de Widrow-Hoff ou Regra Delta, que é ainda hoje
bastante utilizada. Esta, por sua vez, é baseada no método do gradiente para minimização do
erro na saída de um neurônio com resposta linear [6, 12, 85].
Os pesquisadores Widrow e Hoff desenvolveram o Adaline (Adaptive Linear Network
Element) e o Madaline (Many Adaline) Perceptron como um dispositivo prático para resolver
tarefas de reconhecimento de padrões. O Adaline/Madaline usou saídas analógicas em vez de
binárias como originariamente proposto por McCulloch e Pitts. Pela primeira vez, imitava o
cérebro humano com processadores paralelos em vez de uma únicaCPU [52].
Em 1958, Frank Rosenblatt em seu livro "Principles of Neurodynomics", forneceu
várias idéias a respeito do perceptrons (novo modelo), que são RN's de limiar baseado no
modelo de Mc-Culloch e Pitts [52]. O perceptron mais simples descrito por Rosenblatt possui
três camadas:
• A primeira recebe as entrada do exterior e possui conexões fixas;
• A segunda recebe impulsos da primeira através de conexões, cuja eficiência de
transmissão (pesos) é ajustável;
• E por sua vez, envia saídas para a terceira camada (resposta).
Uma das principais idéias deRosenblatt foi à elaboração da arquitetura back-coupled
perceptron e o algoritmo "back-coupled error correction algorithm", que é capaz de adaptar
os pesos de um conjunto de entradas de uma unidade de associação, de acordo com uma saída
desejada. Tanto o algoritmo "back-couple error conection" quanto à regra delta de WidrowHoff são métodos de aprendizagem para redes perceptron de apenas uma camada de neurônios
[52].
Em 1969, Marvin Minsky e Seymour Papert fizeram um estudo desses algoritmos e
publicaram o livro Perceptrons [12]. Provaram formalmente que uma rede formada de uma
única camada de neurônios, independente do algoritmo de aprendizagem, é capaz apenas de
36
resolver o problema de associação de padrões quando os conjuntos de pares de padrões são
linearmente separáveis. Naquela época era sabido que redes perceptron com mais de uma
camada de neurônios, chamadas Multi Layer Perceptrons (MLP) ou ainda redes feedforward,
tinham o poder computacional de aprender padrões linearmente dependentes, contudo era
desconhecido um algoritmo de aprendizagem que pudesse realizar tal associação. Em
particular, demostraram que um perceptron é incapaz sequer de distinguir a letraT de um C.
Estes resultados e observações feitas por Minsky e Papert foram devastadoras, e a abordagem
conexionista ficou em segundo plano durante a década de 70 até o início da década de 80 [6,
12, 85].
Em 1982 John Hopfield, físico e biólogo do Instituto de Tecnologia da Califórnia, deu
um novo impulso ás RN's. Usando uma pesquisa baseada no sistema neurológico de uma
lesma de jardim, que apresentou um sistema computacional neural composto de muitos
elementos de processamento interconectados, que buscam atingir um estado de energia
mínima (em repouso). O modelo do físico representa a operação a partir de um determinado
nível de excitação (limiar), mostrando que a memória do sistema é armazenada na
interconexões entre as unidades neurais [52].
A importância das redes perceptron na resolução do problema de associação de
padrões para um conjunto de padrões não linear foi praticamente eliminada porRumelhart,
Hinton e Willians [6, 12, 25, 52, 85]. A solução encontrada foi a Regra Delta Generalizada,
mais conhecida como algoritmo de Correção de Erros Backpropagation, em 1986, para redes
perceptron de multicamadas de neurônios com entradas e saídas analógicas. As funções de
ativação foram substituídas por funções contínuas sigmóides. Um resultado similar já havia
sido encontrado independentemente por Parker, em 1982, o qual foi chamado de "The
Learning Logic", porém sem repercussão na época [52, 85].
3.2.2 Fundamentos Biológicos
Sabe-se que o cérebro humano contém em torno de 1011 neurônios aproximadamente
[85]. O neurônio possui um corpo e diversas ramificações, cujas as funções são:
• Recebe informações, ou impulsos nervosos, oriundos de outros neurônios, para
conduzi-los até o corpo celular;
37
• No corpo celular a informação é processada e novos impulsos são gerados. Estes
impulsos são transmitidos a outros neurônios;
• A transmissão é feita através de um ponto chamado axon hillock (filamento
axônico), onde surge um filamento comprido que é o axônio. Este entra em
contato com os dentritos dos neurônios seguintes.
O ponto de contato entre a terminação axônica de um neurônio e o dendrito de outro é
chamado de sinapse. As sinapses liberadas pelos neurônios representam a funcionalidade das
RN's. As sinapses funcionam como válvulas, sendo capazes de controlar a transmissão de
impulsos. Isto é, o fluxo da informação entre neurônios na rede neural (ver figura 3.1). O
efeito das sinapses é variável, e é esta variação que dá ao neurônio a capacidade de adaptação.
Um neurônio é possível estar conectado a outros neurônios e gerar até 10.000 sinapses, ou
seja, até 10.000 conexões com neurônios adjacentes [12].
Figura 3.1 – Componente do neurônio biológico [12]
O axônio pode transmitir impulso elétrico em ambas as direções, onde o fluxo de
informação vai ao sentido dos dentritos para o axônio, onde há um impulso elétrico no lado do
axon hillock. Em condições normais, se uma corrente elétrica é aplicada em ponto do axônio,
o seu potencial irá decair exponencialmente á medida que a corrente é propagada através do
axônio.
Há uma diferença de potencial entre o interior e o exterior do neurônio, ocasionada
pela diferença entre a concentração de potássio (interna á célula) e sódio (externa á célula). A
concentração de íons de potássio dentro da célula cria um potencial elétrico de -70 mV
(potencial de repouso) em relação ao exterior. Para a que a célula dispare, produzindo um
38
potencial de ação (impulso nervoso), é preciso que os impulsos das sinapses reduzam este
nível em cerca de -50 mV (ver figura 3.2).
Figura 3.2 – Potencial de ação em um neurônio [12]
Quando as entradas chegam ao corpo da célula, ocorre um processo de integração
(soma) dos estímulos de entrada, e como resultado pode ser gerado um impulso elétrico que
começa no axon hillock e se propaga até os terminais do axônio. O processo de controle da
produção do impulso elétrico é normalmente aceito como uma função de limiar que produz
uma saída, caso a soma das entradas seja maior ou igual a um dado limiar.
3.2.3 Características de uma Rede Neural
Existem três características principais que descrevem uma RN biológica, e a que
contribuem para a sua habilidade funcional:
a) Topologia do Sistema Neural:
Os princípios importantes que podem ser encontrados subjacentes à organização
estrutural das áreas diferentes do cérebro:
• Camadas de elementos de processamento;
• Colunas de elementos de processamento;
• Especialização do tecido neural em sistemas específicos e não específicos.
39
Interfaces sensoras captam informações do mundo para o cérebro. Os dados são
passados através de níveis múltiplos do sistema nervoso, ou camadas de neurônios. Através
desta transferência de níveis do funcionamento cerebral ocorre a abstração, conceitualização e
detecção de característica. Por exemplo, o sistema nervoso pode detectar características
específicas, todavia este também espalha informação ambígua. Estas sensações não podem ser
entendidas enquanto não forem processadas por muitas camadas nas várias áreas do cérebro.
b) Dinâmica do Sistema Neural:
Diversos processos dinâmicos que ocorrem no sistema neural biológico são
integralmente ligados às estruturas destes sistemas:
• Representação distribuída de informação;
• Codificação temporal da informação;
• Regra de inibição;
• Processamento feedforward e feedback.
A informação que é acessada por vários sensores biológicos é distribuída para
neurônios múltiplos. Essa informação é processada por uma parte do cérebro e enviada para
outra área do cérebro. Esta nova área processa e passa de volta a informação para a locação
original ou através locações intermediárias.
c) Aprendizado no Sistema Neural:
A habilidade do sistema neural biológico de aprender adaptativamente em resposta à
experiência e ao ambiente é um dos mais notáveis aspectos deste sistema. Existem alguns
aspectos associados com tal aprendizado:
• Aprendizado sobrepõe conexões rígidas;
• Conceitualização.
40
O cérebro é adaptativo no início da vida, contudo desenvolve uma fixação ou
inflexibilidade com a maturação. Apesar de uma relativa inflexibilidade, na fase adulta, existe
uma habilidade contínua do cérebro em adaptar-se e aprender novas coisas.
3.3 Princípios da Neurocomputação
Apesar de uma rede neural ser simulada e executada em um computador seqüencial, a
rede está muito mais para o funcionamento cerebral do que para um computador.
A RNA é algoritmo computacional, onde a camada de entrada recebe um conjunto de
dados (previamente selecionados e conhecido), cujas sucessivas repetições faz com que um
critério de convergência ou parada ocorra. Assim, a rede é treinada e os parâmetros são
ajustados e definidos nas camadas intermediárias e de saída (ver figura 3.4). Com isto, diz-se
que a RNA aprendeu a reconhecer de modo generalizado um conjunto para o qual é
previamente treinada.
Figura 3.3 – Modelo neural [85]
Se uma rede aprende, ela deve reproduzir algum conhecimento. O seu conhecimento
não está localizado em um endereço e, dessa forma, a rede não separa memória de dados
armazenados. O conhecimento armazenado está distribuído por toda a rede, da mesma forma
que não se pode dissecar um cérebro para extrair conhecimento. O programa implementado
está previamente condicionado para tal atividade, não fará outra coisa senão a estabelecida, ou
seja, a atividade treinada.
41
Ao se escrever um programa para realizar uma ação diante de um fato, tem-se que
prever todas as situações possíveis para associar as ações pertinentes a cada ação. Porém,
como todos sabem, existem certos casos que simplesmente não é possível prever exatamente
todos os fatos, a começar pela quantidade de situações diferentes que possam vir a ocorrer,
dependendo do problema. Dessa forma, quando acontece uma dessas situações inesperadas, o
programa de computador tomaria uma atitude imprevista, ou não tomaria atitude nenhuma,
pois não saberia o que fazer. A culpa não é do programa, pois não é programado para reagir
diante de situações que ainda não lhe foram apresentado, e muito menos do computador [12].
O cérebro não pensa assim, pois, baseado no conhecimento sinapticamente
acumulado, tomará alguma ação perante a nova situação, ponderando pelo julgamento dos
elementos que aprendeu.
O cérebro humano consome de 20 a 25% da energia corporal e possui um total de 10
bilhões de neurônios, sendo que cada um faz entre mil e dez mil conexões com os neurônios
adjacentes [85].O aprendizado sináptico é paralelo, que o torna flexível, rápido e eficaz. Um
comparativo entre o cérebro e o computador, resulta, no quadro a seguir, os seguintes valores
(ver tabela 3.1):
Tabela 3.1 – Comparativo entre o cérebro humano e o computador [85]
Parâmetro
Cérebro
Computador
Orgânico
Metal e plástico
Milisegundo
Nanosegundo
Paralelo
Seqüencial
Armazenamento
Adaptativo
Estático
Controle de Processos
Distribuído
Centralizado
Número de elementos processados
1011 a 1014
105 a 106
10.000
<10
Material
Velocidade
Tipo de Processamento
Ligações entre elementos processados
Dentro deste contexto, o estudo e a definição das RNA's teve origem nos fundamentos
do cérebro humano e de suas conexões sinápticas.
42
3.4 Estruturas e Dinâmicas das Redes Neurais Artificiais
O modelo de neurônio proposto por McCulloch e Pitts (MCP - neurônio artificial) é
uma simplificação do que se sabia a respeito do neurônio biológico naquela época [98]. A sua
descrição matemática resultou em um modelo (ver tabela 3.2), o comparativo entre um
neurônio artificial e biológico.
Tabela 3.2 – Comparação entre o neurônio biológico e artificial
Parâmetros
Neurônio Biológico
Neurônio Artificial
Entrada
Dentritos
x1, x2, x3,..., xn
Saida
Axônio
y
Pesos
Comportamento das sinapses
w1, w2, w3,..., wn
Efeito da uma
Neurônio pós-sináptico
s = ∑ x i .wi
Modelo
sinapse
n
i =1
O neurônio recebe um conjunto de sinais de entrada de outros neurônios. Então, é
computada a média ponderada entre os sinais de entrada e os pesos da conexões (cujos valores
podem ser positivos ou negativos, dependendo das sinapses correspondentes serem inibitórias
ou excitatórias). O resultado disto é aplicado à função de ativação, também chamada de
função de transferência. O resultado final é chamado deativação do neurônio. Normalmente,
existe um valor de s que, quando atingido, ocasiona um disparo súbito ocasionando pela
função de ativação, seja ela contínua ou não. Este é chamado de valor limiar e é representado
por L. Considerando a função de ativação do perceptron, o modelo matemático do
processamento é governado pelas equações 3.1:
43
n
s = ∑ x i .wi
e
i =1
1 se s ≥ L
y = f (s ) = 
− 1 se s ⟨ L
(3.1)
onde: n é o número de entradas no neurônio;
wi é peso associado à entrada xi;
s é o limiar do neurônio.
A operação de um neurônio artificial com suas conexões é inspirada no modelo
biológico, como mostrado a seguir na figura 3.4:
Figura 3.4 – Modelo do neurônio artificial [52]
Os modos em que neurônios artificiais diferem um do outro, e que pode ser
modificados para nova performance incluem: mudança da função de transferência e adição,
novos parâmetros ou funções para a rede (tais como viés, ganho e limiares adaptativos). Já os
aspectos que diferem as redes neurais são as conexões dos números de camadas e tipo de
treinamento. Entre os modelos já publicados em revistas especializadas, encontram-se, como
clássicos, os modelos: Backpropagation, Kohonen, Perceptron, Boltzman e outros [52]. O
modelo de MCP apresenta algumas limitações como:
• Redes MCP com apenas uma camada só conseguem implementar funções
linearmente separáveis;
• Pesos negativos são mais adequados para representar disparos inibidores;
• O modelo foi proposto com pesos fixos, não ajustáveis.
44
O viés (bias) é uma entrada adicional que pode ser acrescentada ao neurônio artificial,
não proveniente de nenhum outro neurônio, e de valor de entrada fixado em+1. Seu peso de
conexão w0 é ajustável pelo aprendizado como qualquer outro peso da conexão. Toma-se
como exemplo o perceptron, onde pode-se escrever as equações 3.2 e a figura 3.5:
n
s = ∑ x i .wi + w0
e
i =1
se s ≥ 0
1
y = f (s ) = 
− 1 se s ⟨ 0
(3.2)
Figura 3.5 – Modelo do neurônio artificial com entrada de viés [85]
Embora o viés inexista biologicamente, seu uso nos modelos artificiais provê meios de
transladar o valor limiar da função transferência.
3.4.1 Sinais de Entrada e Saída
O neurônio possui, a princípio, um ou mais sinais de entrada e um de saída. As
entradas de neurônio artificial podem ser comparadas como estímulos para o neurônio natural.
Todos esses estímulos são enviados até o neurônio simultaneamente, ou seja, se um neurônio
possui cinco entradas, os sinais das cinco entradas devem chegar até o núcleo de
processamento ao mesmo tempo, isto quer dizer, paralelamente (ver figura 3.6).
45
Figura 3.6 – Neurônio com n entradas e pesos definidos [85]
O processamento paralelo em computadores seqüenciais pode ser paradoxal. A
simulação de um ambiente paralelo é possível, e é desta forma que ocorre esse tipo de
processamento nas RN. O modelo matemático simula o paralelismo da rede neural através de
um algoritmo e os pesos (wn) da rede são ajustados por uma rotina de treinamento.
3.4.2 Pesos
Os pesos, representados por w são valores que apresentam o grau de importância que
determinada entrada possui em relação àquele neurônio. Quando uma entrada é bastante
estimulada, acaba estimulando, também, o peso correspondente à sua conexão.
Os pesos podem ser vistos, matematicamente, como um vetor de valores (w1, w2, w3,...,
wn). Havendo mais um neurônio na rede, pode-se então ter uma coleção de vetores, ou seja,
uma matriz de pesos, onde cada vetor, corresponde a um neurônio. O sinal de excitação no
neurônio é a soma das multiplicações entre as entradas (x1, x2, x3,..., xn) e os pesos. As
entradas multiplicadas pelos pesos, recebem, depois desta operação, o nome de entradas
ponderadas.
A função do neurônio é, depois de acumulado o valor somado dos produtos ocorridos
entre as entradas e os pesos comparar esse valor com o limiar. Atingindo-o, o valor é então
passado adiante através da saída. A esse processo chama-se de função de transferência. Caso
contrário, se o valor não atinge o limiar, o sinal não é transferido adiante.
46
3.4.3 Função de Ativação e Transferência
A função de ativação antecede a de transferência, e tem por atribuição repassar o sinal
para a saída do neurônio. A função de ativação é uma função de ordem interna, cuja
atribuição é fazer acontecer um nível de ativação dentro do próprio neurônio, ou seja, é uma
decisão tomada pelo neurônio sobre o que fazer com o valor resultante do somatório das
entradas ponderadas [85]. Veja a seguir um neurônio na figura 3.7.
Figura 3.7 – Um neurônio com as funções de ativação e transferência [85]
Em modelos simples de redes neurais, a função de ativação pode ser a própria função
de soma das entradas ponderadas do neurônio. Em modelos mais complexos, a função de
ativação possui um processamento atribuído. Após o valor ter sido processado pela função de
ativação, é então passado para função de transferência, que produzirá o valor da saída do
neurônio [85].
A função de transferência pode ter muitas formas e métodos, podendo ser simples ou
complexa. A função de transferência é conhecida como limiar lógico. Essa função é quem
envia para fora do neurônio o valor passado pela função de ativação [52]. As funções de
transferência (y) mais conhecidas são apresentadas na figura 3.8.
47
Figura 3.8 – Funções de transferência mais empregadas [103]
Algumas são especificadas como:
• Degrau e rampa: possuem decisões ríspidas, principalmente para valores
extremos. Essas funções refletem a saída dentro de uma faixa (digamos entre0 e
1). Isto quer dizer que , ultrapassado um certo limite, a função dispara o valor0 ou
1, ou -1, dependendo da função e da forma que será utilizada.
• Sigmóide: caracterizam-se pelo seu formato em letra S alongada, são contínuas e
monotonicamente crescentes, limitadas por duas assíntotas horizontais. Possuem a
vantagem adicional de fornecer uma forma para controle automático de ganho. À
medida que a magnitude cresce, o ganho decresce. Deste modo, sinais de grande
amplitude podem ser acomodados pela rede sem uma saturação abrupta, enquanto
sinais baixos passam sem excessiva atenuação.
As funções sigmoidais são empregadas com sucesso como funções de transferências,
porque apresentam a propriedade de ser derivável em todos os pontos [25]. Esta característica
é importante para a lei de aprendizagembackpropagation (ver item 3.5.1.2 ou Apêndice I),
que requer cálculo do gradiente do vetor do erro. Conforme será visto oportunamente, as
trocas nos pesos das conexões são proporcionais à derivada de ativação. Para as funções
48
sigmoidais, o argumento soma das entradas ponderadas de alta magnitude significa derivadas
de baixa magnitude, e assim as trocas nos pesos das conexões durante a aprendizagem serão
menores; já um argumento de baixa magnitude para a função representa uma derivada de
magnitude maior e, conseqüentemente, uma maior quantidade de trocas nos pesos.
3.4.4 Camadas Escondidas
Algumas vezes a saída do neurônio é conduzida para outros neurônios, em vez de ser
conduzida como resposta final, ou seja, os sinais da saída vão para uma próxima camada,
chamadas também de intermediárias ou ocultas. Essas camadas intermediárias se situam entre
a camada de entrada e a camada de saída da rede neural (ver figura 3.9).
Figura 3.9 – Redes exemplificando camadas escondidas ou ocultas [85]
Essas camadas são compostas por neurônios que possuem exatamente a mesma
estrutura que os neurônios da camada de saída. Não existe uma regra que define o número de
camadas escondidas.
3.4.5 Arquiteturas das Redes Neurais Artificiais
As conexões entre as camadas podem gerar diferentes estruturas. Cada conexão visa
tornar o sinal de saída em um sinal de entrada, tanto para um outro neurônio, quanto para o
mesmo que o gerou. Fazem parte da definição da arquitetura os seguintes parâmetros:
a) Número de Camadas da Rede
Alguns exemplos de arquiteturas deRNA´s quanto ao número de camadas:
49
• Redes de camada única: só existe um nó entre qualquer entrada e qualquer saída da
rede, ver exemplos na figura 3.10.
(a)
(b)
Figura 3.10 – Redes de camada única [12]
• Redes de múltiplas camadas: existe mais de um neurônio entre alguma entrada e
alguma saída da rede (ver figura 3.11).
(b)
(a)
(c)
Figura 3.11 – Redes de múltiplas camadas [12]
O número de neurônios da camada escondida é livre, não obedece nenhuma regra
específica.
b) Redes Multi-Layer Perceptron (MLP)
As redes de uma só camada resolvem apenas problemas linearmente separáveis [12].
A solução de problemas não linearmente separáveis passa pelo uso das redes com uma ou
mais camadas ocultas. Segundo Cybenko, uma rede com uma camada intermediária pode
implementar qualquer função contínua [45, 98]. A utilização de duas camadas intermediárias
permite a aproximação de qualquer função.
50
Porém, o problema passa a ser então como treinar estas redes, ou qual a definição do
erro dos neurônios das camadas intermediárias. Para treinar as redes com mais de uma
camada foi proposto um método que se baseia em gradiente descendente (backpropagation)
[6, 12, 70]. Afim de que este método possa ser utilizado, a função de ativação precisa ser
contínua, diferenciável e, de preferência, não decrescente. A função de ativação deve informar
os erros cometidos pela rede para as camadas anteriores com a maior precisão possível. A
alternativa utilizada para superar os problemas acima citados foi a utilização de funções de
ativação do tipo sigmoidal (logística e tangente hiperbólica). O treinamento é supervisionado,
e suas principais aplicações são: classificação de padrões, predição e interpolação.
Com relação ao número de neurônios nas camadas intermediárias, este é geralmente
definido empiricamente. Este número depende fortemente da distribuição dos padrões de
treinamento e validação de rede. O número adequado de neurônios na camada oculta depende
de vários fatores, como:
• Número de exemplos de treinamento;
• Quantidade de ruído presente nos exemplos;
• Complexidade da função a ser aprendida;
• Distribuição estatística dos dados de treinamentos.
O número de unidades intermediárias pode também crescer exponencialmente com o
número de entradas. A solução neural mais eficiente é aquele onde o número de unidades
cresce apenas polinomialmente com o aumento do número de unidades de entradas [52].
c) Conexões dos Neurônios
Alguns exemplos de arquiteturas deRNA´s quanto ao tipo de conexões dos nodos.
• Feedforward ou acíclica: a saída de um neurônio na i-ésima camada da rede não
pode ser usada como entrada de neurônios em camadas de índice menor ou igual a
i. Nesta rede não existe uma medida de estabilidade de rede, devido à
simplicidade de fluir as informações entre as camadas (ver figuras 3.10 (a) e (b), e
3.11 (a)).
51
• Feedback ou cíclica: as saídas de algum neurônio i-ésima camada da rede é usada
como entrada de neurônios em camadas de índice menor ou igual ai (ver figura
3.11 (b) e (e), e 3.12).O sinal pode ser usado tanto para excitar a camada inteira
como também para excitar apenas um neurônio em particular, ou até mesmo, o
próprio neurônio, que realizou o disparo.
Figura 3.12 – Redes feedback [85]
Enfim, a arquitetura da rede neural é livre, pode ser modificada conforme critério ou
necessidade do projetista.
3.5 Aprendizado das Redes Neurais Artificiais
Um conjunto de procedimentos bem definidos para adaptar os parâmetros de umaRNA
para que a mesma possa aprender uma determinada função é chamado de algoritmo de
aprendizado. Como era de se esperar, não há único algoritmo de aprendizado. O que se tem é
um conjunto de ferramentas representadas por diversos algoritmos, cada qual com suas
vantagens e desvantagens. Estes algoritmos basicamente diferem pela maneira de como o
ajuste dos pesos é feito.
A etapa de aprendizado consiste em um processo iterativo de ajuste de parâmetros da
rede, os pesos das conexões entre as unidades de processamento, que guardam, ao final do
processo, o conhecimento que a rede adquiriu do ambiente em que está operando.
Diversos métodos para treinamento de redes foram desenvolvidos, podendo estes
serem agrupados em dois paradigmas principais: aprendizado supervisionado e nãosupervisionado [12, 85]. Outros dois paradigmas bastante conhecidos são os de aprendizado
por reforço (caso particular de aprendizado supervisionado) e aprendizado por competição
(caso particular de aprendizado não supervisionado).
52
3.5.1 Aprendizado Supervisionado
Este método de aprendizado é o mais comum no treinamento das RNA’s, tanto de
neurônios com pesos, como os sem pesos, sendo chamado de aprendizado supervisionado.
Porque a entrada e a saída desejadas para a rede são fornecidas por um supervisor externo (ver
figura 3.13). O objetivo é ajustar os parâmetros da rede, de forma a encontrar uma ligação
entre os pares de entrada e saída fornecidos.
Figura 3.13 – Aprendizado supervisionado [12]
A rede tem sua saída calculada e comparada com a saída, recebendo informações do
supervisor sobre o erro da resposta atual. A cada padrão de entrada submetido à rede,
compara-se a resposta desejada com a resposta calculada, ajustando-se os pesos das conexões
para minimizar o erro existente.
A desvantagens do aprendizado supervisionado é que, na ausência do professor, a rede
não conseguirá aprender novas estratégias para situações não cobertas pelos exemplos do
treinamento da rede. Os exemplos mais conhecidos de algoritmos para aprendizado
supervisionado são a regra delta e a sua generalização para redes de múltiplas camadas, o
algoritmo backpropagation.
53
a) Regra Delta
Procura minimizar a diferença entre a soma ponderada das entradas pelo pesos (saída
calculada pela rede) e a saída desejada, ou seja, o erro da resposta atual da rede. O termo e(t)
do erro deve ser escrito pela equação (3.3):
e(t ) = d (t ) − y (t )
(3.3)
onde: d(t) é a saída desejada;
y(t) resposta atual no instante t.
A forma genérica para alteração dos pesos pela regra delta é dada pela equação 3.4:
wi (t + 1) = wi (t ) + η .e(t ).xi (t )
(3.4)
onde: wi(t+1) é o novo valor do peso;
wi(t) é o valor velho do pesos;
i índice da entrada;
η constante de aprendizado;
e(t) erro;
xi(t) é a entrada para o neurônio no instantet.
A cada novo padrão apresentado à rede o peso é atualizado. A constante de
aprendizado η controla a estabilidade e velocidade de convergência. Uma faixa prática para
sua escolha é 0.1 ≤ η ≤ 1.
b) Algoritmo Backpropagation
O algoritmo backpropagation é utilizado no treinamento de redes MLP, esse algoritmo
foi importante no ressurgimento de interesse em RNA´s, por ocasião da publicação do livro
“Parallel Distributed Processing”, mais conhecido como PDP, em 1986 [52]. O
backpropagation é baseado na regra delta proposta por Widrow e Hoff, assim sendo chamada
54
de regra delta generalizada [85]. Os ajustes dos pesos são realizados utilizando o método do
gradiente [82].
As redes feedforward com algoritmos de aprendizado tipo backpropagation se
tornaram muito populares, devido à capacidade de resolver a maioria dos problemas de
reconhecimentos de padrões, além da utilização em aplicações de sistema de controles [6].
Esse algoritmo é supervisionado e utilizam pares (entrada, saída desejada) para,
através de um mecanismo de correção de erros, ajustar os pesos da rede. O treinamento ocorre
em duas fases, onde cada fase percorre a rede em um sentido. Estas duas fases são chamadas
de forward e backforward (ver figura 3.14).
Figura 3.14 – Fluxo de processamento do algoritmo com as fases forward e backward [88]
A fase forward é utilizada para definir a saída da rede para um dado padrão de entrada,
já a fase backward utiliza a saída desejada e a saída fornecida pela rede para atualizar os pesos
de suas conexões.
•
Descrição Qualitativa do Backpropagation
O backpropagation é um algoritmo de aprendizado [98]. Uma rede neural com uma
topologia feedforward, usando este algoritmo para treinamento, tem uma camada de entrada,
pelo menos uma camada escondida, e uma camada de saída. Uma redeopera em dois passos
durante o treinamento. Inicialmente, um padrão de entrada é apresentado à camada de entrada
da rede. Há fluxo de atividade, devido as excitações dos neurônios através da rede, desde a
camada de entrada até que a saída seja gerada. Então, o segundo passo é calcular o erro entre
esse padrão de saída e o padrão esperado; esse erro é passado da camada de saída, para trás,
com os pesos das conexões sendo alterados, conforme o erro se propaga para trás [5, 70, 82].
55
Um neurônio típico tem diversas entradas (xj), cada uma das quais é multiplicada pelos
correspondentes pesos (wi), como mostrado na figura 3.15 e a equação 3.5.
Figura 3.15 – Estrutura de um elemento neurônio [85]
n
s = ∑ wi .xi
(3.5)
i =1
Esse sinal passa através da função de ativação que é tipicamente não-linear, como uma
função sigmoidal.
No backpropagation, o treinamento da rede neural tem por objetivo estimar o erro, ou
seja, a diferença entre os valores obtidos e os reais para um determinado estimulo na entrada.
A redução deste erro é através da alteração dos pesos atribuídos ao caminho do fluxo desse
estimulo nas diversas camadas da rede.
•
Descrição Analítica do Backpropagation
A seguir é descrito o mecanismo interno do backpropagation. Para maiores
esclarecimentos matemáticos veja Apêndice I. A regraDelta Generalizada é um algoritmo de
aprendizado como segue na equação 3.6:
∆ω ij = −η.
∂E
∂ω ij
onde: wij representa o peso w da entrada xj;
∆wij é a variação incremental de um peso partícula;
(3.6)
56
i índice da entrada;
j índice do neurônio;
η é um coeficiente de aprendizado;
E é uma função de erro em relação ao peso que está sendo modificado.
Para conexões entre a camada escondida e a saída, o gradiente de descida é expresso
como:
(3.7)
∆ω j = η.E j . y (s ) = η .( y desejado
− y obtido
) y( s)
j
j
O erro de saída que causa a alteração dos pesos é a diferença entre o valor desejado e o
obtido. Como a função y(s) é geralmente sigmoidal (logística ou tangente hiperbólica), a sua
derivada é dado por:
(3.8)
dy ( s )
= y ( s ).[1 − y ( s )]
ds
A atualização do vetor w depende dos valores: yjdesejado , das entradas e da saída yjobtida .
Este procedimento é ilustrado com o diagrama de blocos da figura 3.16, onde G(s) é a função
de ativação.
x (entrada)
G(s)
yjobtido
∆ω
X
η. yjobtido . (1 – yjobtido)
+
yjdesejado
Figura 3.16 – Diagrama de blocos da regra delta generalizada [45]
57
A equação 3.9 descreve a relação entre o erro na saída e um peso que esteja no
caminho do fluxo de excitação. A variação das conexões entre a camada de entrada e a
escondida é dada por:
n
∆ω ij = η. y k ( s ).[1 − y k (s )]∑ ω jk .Eksaída . y k ( s )
(3.9)
k −1
Nas superfícies de ordem elevada, o gradiente de descida pode ser muito lento se o
coeficiente de aprendizado η for muito pequeno, e produz oscilações se for muito alto [6, 12,
84]. A adição de um termo de momento α pode melhorar bastante a implementação (ver
equação 3.10).
∆ω ij = −η .
∂E
+ α .(∆ω ij ) anterior
∂ω ij
(3.10)
A equação 3.7 é modificada para incluir o termo de momento α, que influência
diretamente na inércia do aprendizado.
3.5.2 Aprendizado Não-Supervisionado
Neste tipo de aprendizado não há um supervisor para acompanhar o processo de
aprendizagem. No algoritmo, somente os padrões de entrada estão disponíveis para a rede (ver
figura 3.17).
Figura 3.17 – Aprendizado não-supervisionado [12]
No aprendizado supervisionado é necessário um conjunto de treinamento que contenha
os pares de entrada e saída.
58
3.5.3 Aprendizado por Competição
Neste aprendizado, é dado um padrão de entrada e se faz com que as unidades de saída
disputem entre si para serem ativadas. Assim, há uma competição entre as unidades de saída
para decidir qual delas será a vencedora e que conseqüentemente, terá sua saída e seus pesos
atualizados no treinamento [12]. As unidades de entradas são diretamente conectadas às
unidades de saída, sendo que estas últimas também podem estar ligadas entre si via conexões
laterais inibitórias, ou negativas. A unidade de saída com maior ativação inicial, terá maior
chance de vencer a disputa entre outras unidades, onde, a unidade mais forte, fica ainda mais
forte e seu efeito inibidor sobre as outras unidades de saída torna-se dominante. Com o tempo,
todas as outras unidades de saída ficarão completamente inativas, exceto a vencedora [12, 25].
Um problema neste algoritmo é que uma unidade da saída pode se tornar dominante e
ficar ativa todo o tempo, podendo captar para si todo o espaço de entradas. A solução para tal
problema é limitar os pesos, ou seja, a soma dos pesos sobre as linhas de entrada de uma
unidade é limitada em 1 [12]. Para aumentar o peso de uma conexão, é preciso diminuir o
peso de alguma outra, conforme descrito na equação 3.11:
∆w j =
η .x j
(3.11)
M − η.w j
onde: j = 1, 2, ..., n;
wj é o peso da conexão da unidade de entrada j com a unidade ativa;
xj é o valor do j-ésimo bit de entrada;
M é o número de unidades de entrada ativas no vetor de entrada;
η é a taxa de aprendizado.
O aprendizado por competição é base dos modelos de ART (Adaptative Resonance
Theory) de Grossberg e dos mapas de Kohonen [12].
59
3.5.4 Aprendizado por Reforço
A principal diferença entre o aprendizado supervisionado clássico e o aprendizado por
reforço é a medida de desempenho usada em cada um dos sistemas [80]. No aprendizado
supervisionado, a medida de desempenho é baseada no conjunto de respostas desejadas
usando um critério de erro conhecido, enquanto que no aprendizado por reforço o
desempenho é baseado em qualquer medida que possa ser fornecida ao sistema [12, 80]. No
aprendizado por reforço, a única informação de realimentação fornecida à rede é se uma
determinada saída está correta ou não (ver figura 3.18).
Figura 3.18 – Aprendizado por reforço [12]
Exemplificando esse aprendizado, basta pensar na analogia do aprendizado de um
animal, em que, se ele faz algo correto, ele é recompensado. Se fizer algo incorreto, é punido.
Estes são os estímulos (recompensa ou punição) que servem como feedback para que a rede
neural aprenda.
3.6 Processo de Treinamento
O critério de parada define como a rede atinge uma aprendizagem aceitável do
conjunto de padrões de treinamento, este é avaliado a partir das respostas da rede em relação
às saídas desejadas.
60
Após a aprendizagem ser concluída, um outro conjunto de dados, o conjunto de teste,
contendo pares de vetores de entrada e saídas desejadas, deverá ser utilizado para testar a
eficiência da rede. Se o resultado do teste for insatisfatório, o conjunto de treinamento é
insuficiente. Logo, devem-se incluir novos exemplares no conjunto de treinamento e treinar
novamente a rede neural.
No treinamento de uma rede há uma concepção errônea relativa ao processo iterativo.
No caso do supertreinamento, deve-se treinar a rede para reduzir o erro, mas para isso é
necessário aumentar o conjunto de treinamento, a fim de aumentar seu desempenho [70].
Embora parcialmente verdadeira esta afirmação, o super ajustamento do conjunto de
treinamento pode levar a uma má generalização [50, 52, 70, 103]. A figura 3.19 mostra o erro
de uma rede neural para o conjunto de treinamento e para o conjunto de teste.
Figura 3.19 – Análise do supertreinamento [52]
O aumento do tamanho da camada escondida pode melhorar o desempenho da rede
para os dados de treinamento, porém podem prejudicar a precisão da rede para os novos
dados. Esse é um fenômeno de memorização, ou seja, a rede procura juntar grupos de dados
específicos para cada neurônio da camada escondida, perdendo no entanto a capacidade de
generalização. Deve-se sempre comparar o erro obtido, com os dados para treinamento, com
os novos dados, os quais devem ser da mesma ordem de grandeza [52, 50, 70, 103].
3.7 Projeto de uma Rede Neural
A figura 3.20 mostra um diagrama de blocos com as etapas necessárias para se treinar
e desenvolver uma rede neural.
61
Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural [85]
A topologia inicial da rede depende da experiência do projetista. Na prática é melhor
iniciar com um número pequeno de nós na camada escondida e gradualmente aumentar o
tamanho dessa camada através de tentativas e erro.
3.8 Conclusão
Neste capítulo foram apresentados a base biológica e artificial dos neurônios, e os
métodos de aprendizagem, que correspondem ao ajuste dos pesos das conexões sinápticas. Na
ausência de modelos matemáticos de processo, as redes neurais podem utilizar um histórico
de dados para se construir modelos preditivos, ou seja, um modelo que pode predizer as
reações do processo a novas condições.
As RNA’s constituem uma área emergente de estudos que tomou vulto de forma
explosiva, e que tem como base a realização de tarefa de alto nível mental em nível de
máquina, através de uma computação massivamente paralela através de neurônios artificiais.
CAPÍTULO 4
SISTEMAS HÍBRIDOS
A simbiose das técnicas fuzzy e neural serão descritas neste capítulo. Alguns sistemas
neurofuzzy já desenvolvidos e conhecidos na literatura são apresentados e classificados
segundo uma taxonomia aqui proposta.
4.1 Introdução
A abordagem convencional para a modelagem de sistemas tem como principal suporte
as ferramentas matemáticas. O uso de ferramentas matemáticas (equações diferenciais,
equações de diferenças, funções de transferências, etc) é apropriado quando o sistema é
simples ou bem definido [82]. Contudo, à medida que o sistema cresce e torna-se complexo,
as ferramentas matemáticas tornam-se menos efetivas, e em alguns casos impróprias. Isto
ocorre devido ao fato das expressões matemáticas se tornarem muito complicadas para serem
tratadas, ou as relações entre as variáveis do sistema tornarem-se obscuras e imprecisas.
Para contornar os problemas encontrados pelos métodos convencionais de modelagem,
propostas alternativas surgiram nas últimas décadas, tais como a modelagem porLógica
Fuzzy (LF) e Redes Neurais Artificiais (RNA´s). Essas duas técnicas de modelagem têm sido
empregadas com sucesso em várias áreas, onde a abordagem convencional tem falhado em
fornecer soluções satisfatórias [27, 58].
As RN são apropriadas para a criação de modelos a partir de um conhecimento
implícito embutido em um conjunto de dados, os sistemas fuzzy são adequados para a criação
de modelos a partir de um conhecimento explícito, originário de especialistas humanos.
Portanto, muitos pesquisadores têm tentado integrar essas duas técnicas de modelagem para
gerar um modelo híbrido que possa associar as vantagens de cada abordagem e minimizar
suas deficiências. Por exemplo, as RNA’s demandam tempo de projeto, devido à necessidade
de ajustes dos seus parâmetros (números de camadas escondidas, números de nodos em cada
camada, etc). Isto leva à utilização de técnicas híbridas, que utilizam as vantagens de cada
uma, inclusive aproveitando o conhecimento do modelo do sistema para diminuir o tempo do
63
projeto [17]. Com isto, surgem os sistemas híbridos [73]. A tabela 4.1 apresenta, sob alguns
parâmetros e características das RNA´s e dos SF´s.
Tabela 4.1 – Comparação entre os sistemas fuzzy e neural [82]
Parâmetros
Sistemas Fuzzy
Redes Neurais
Aquisição de conhecimento
Especialistas humanas
Dados numéricos
Método de treinamento
Interação/indução
Algoritmos/ajuste de pesos
Tipo de incertezas
Qualitativa/quantitativa
Quantitativa
Raciocínio
Busca heurística
Computação paralela
Interface lingüística
Explícita
Não evidente
Tolerâncias a falhas
Não evidente
Alta
Robustez
Alta
Alta
Recentemente, diversas arquiteturas híbridas têm sido propostas na literatura [23, 31,
84]. Estas arquiteturas diferem basicamente no tipo neurônio utilizado, no tipo de informação
processada pela rede e na natureza das conexões. Algumas arquiteturas utilizam neurônios
lógicos, processam sinais reais e utilizam pesos sinápticos também reais. Outras arquiteturas
processam sinais fuzzy e/ou empregam pesos fuzzy e utilizam neurônios do tipo perceptron
com alguma função de ativação não-linear. Este tipo de arquitetura emprega aritmética fuzzy
para realizar operações de soma e multiplicação e usa o princípio da extensão para computar a
saída de um neurônio.
Dentre os pesquisadores desta nova área, podemos destacar Jang (pioneiro), Nauck e
Vuorimaa, que criaram respectivamente os modelos ANFIS (Adaptive Network Based Fuzzy
Inference Systen) [6, 33, 35, 70, 84, 91] , NEFCLASS (Neuro Fuzzy Classification) [6, 72, 84]
e FSOM (Fuzzy Self-Organized Map) [6, 84, 91]. Todos os modelos são sistemas adaptativos,
como as redes neurais, e são interpretáveis através de regras da lógica fuzzy. Os modelos
adaptativos são assim chamados por possuírem um algoritmo de aprendizado capaz de ajustar
os seus parâmetros e/ou sua estrutura a partir dos dados da entrada real.
4.2 Descrição dos Sistemas Híbridos
O interesse que tais sistemas têm despertado na comunidade científica deve-se à
sinergia obtida pela combinação de duas ou mais técnicas de modelagem. Esta sinergia
64
reflete-se na obtenção de um sistema mais poderoso e com menos deficiências. Um método
pode ser aplicado para melhorar o desempenho do outro, como é mostrado a seguir:
• As RNA´s podem ser utilizadas para aprender regras fuzzy;
• As regras fuzzy podem ser utilizadas para inicializar a estrutura de umaRNA a fim
de acelerar o treinamento e melhorar a generalização;
• As RNA´s podem ser usadas para refinar regras fuzzy e funções de pertinência.
A idéia básica de um sistema neurofuzzy é implementar umSistema de Inferência
Fuzzy, numa arquitetura paralela distribuída de tal forma que os paradigmas de aprendizado
comuns às RNA’s possam ser aproveitadas nesta arquitetura híbrida. A figura 4.1 é uma rede
neurofuzzy com duas entradas (x1, x2), onde as entradas são normalizadas e escalonadas
dentro do intervalo numérico de 0 a 1. Este intervalo é dividido em três níveis: baixo, médio e
alto, os níveis estão associados à etapa de fuzzificação, que indicam os pesos da rede neural
para cada entrada. A camada 3 é definida por 5 regras, a camada 4 são os conseqüentes fuzzy
das regras e a etapa 5 é a defuzzificação, que define o valor numérico de saída.
x1
y
x2
Figura 4.1 – Arquitetura de um sistema neurofuzzy [83]
65
Uma outra forma de se incorporar conceitos fuzzy em uma topologia neural é pelo
rearranjamento das conexões e funções de ativação, fazendo com que uma operação fuzzy
seja executada internamente em cada neurônio da rede [82].
4.2.1 Taxonomia dos Sistemas Híbridos
A taxonomia para os Sistemas Híbridos (SH) está baseada nas características das
RNA’s e SF [84]. Logo, propôs-se a divisão da taxonomia em duas categorias: características
fuzzy do sistema (ver figura 4.2) e as características da aprendizagem (ver figura 4.3).
Figura 4.2 – Taxonomia quanto às características fuzzy do sistema [84]
Os modelos fuzzy se distinguem pela a estrutura das regras fuzzy, principalmente no
tipo do conseqüente e no procedimento de defuzzificação.
A função triangular tem a vantagem de ser computacionalmente simples, ou seja,
descrito por três variáveis: limite esquerdo (LE), centro (C) e limite direito(LD). Já as funções
de pertinência “singleton” são muito freqüentes entre os conseqüentes dos SH [82, 84]. Este
66
formato compreende uma função de pertinência que apresenta o grau de pertinência igual a1,
em apenas um ponto do seu domínio, e o grau 0 (zero) nos demais pontos. Sua principal
vantagem é simplificar o processo de defuzificação do sistema fuzzy.
As variáveis de entrada/saída dos sistemas de inferência fuzzy são divididas em vários
termos lingüísticos que são utilizados pelas regras fuzzy. O particionamento do espaço de
entrada indica a forma como as regras fuzzy estão relacionadas com este espaço. O
particionamento do espaço de saída costuma ser mais simples e está associado aos
conseqüentes das regras. Os particionamentos do espaço E/S fuzzy box e fuzzy cluster são
muito usados em SH [84]. O primeiro aparece no SH chamado Fuzzy Self Organized Map
(FSOM), de Vuorimaa. O segundo é gerado por RN’s do tipo das redes de Funções de Bases
Radiais (Radial Basis Function – RBF) [84].
Após a avaliação das regras fuzzy, deve-se determinar o valor real da saída do sistema
fuzzy. Este processo é chamado de defuzzificação.
Figura 4.3 – Taxonomia quanto às características de aprendizado [84]
67
No aprendizado off-line a atualização dos parâmetros/estrutura só acontece após a
apresentação de todo o conjunto de treinamento. Já o aprendizado on-line atualiza os
parâmetros para cada par de treinamentos apresentado.
A identificação da estrutura está relacionada à determinação de um número adequado
de regras fuzzy e de um particionamento de entrada/saída satisfatório, com esboço inicial das
funções de pertinência.
O perfil das funções de pertinência dos antecedentes das regras fuzzy é geralmente
ajustado por um algoritmo supervisionado de retropropagação do erro. Um exemplo típico é o
NEFCLASS de Nauck [72, 84].
Os sistemas com identificação dos antecedentes e conseqüentes representam a grande
maioria dos sistemas neurofuzzy [83]. Neste caso o peso de cada regra é fixo e de valor
unitário, o que permite uma fácil interpretação do significado das regras. Um exemplo
inovador desse tipo de SH é o FSOM. Este utiliza um algoritmo supervisionado chamadoLVQ
(Linear Vector Quantization) no ajuste dos antecedentes e um algoritmo gradiente
descendente no ajuste dos conseqüentes (ver Apêndice II).
4.2.2 Sistemas Neurofuzzy
A junção entre as técnicas fuzzy e neural é basicamente dada por regras do tipoSe Então, que relacionam as entradas (antecedentes) com as saídas (conseqüentes) [82]. A figura
4.4 mostra uma rede neural estruturada por um conjunto de regras (premissas), onde se
indicam três conjuntos fuzzy (pequeno, médio e grande) para as duas variáveis de entrada
(largura (W) e altura (H)). A função de pertinência indicada pela letraf pode ser do tipo
triangular, trapezoidal, gaussiana, etc. Já o neurônio indicado com a letraπ é um nó que
implementa a multiplicação dos sinais de entrada. Se a multiplicação é uma
t-norma, então é
possível implementar a operação lógica E no neurônio. Assim, os resultados da operação E
das nove possíveis combinações (regras) estão disponíveis nos nós de saída. Cada saída
representa o grau de verdade da regra da premissa E.
68
Figura 4.4 – Estrutura neural para as premissas de uma rede fuzzy neural [82]
A partir da figura 4.4 é incorporado um método de defuzzificação (método pelas
alturas) na estrutura do sistema baseado em regras, que pode ser visto na figura 4.5, onde os
pesos wf são os valores de pico dos respectivos conseqüentes e a saída é a soma dos valores
verdades de cada regra, que multiplicam tais valores de pico (média ponderada).
69
Figura 4.5 – Rede fuzzy neural baseada em regras [82]
Um outro exemplo de rede neurofuzzy é do tipo paramétrica mostrada na figura 4.6,
com uma arquitetura de duas entradas (x1, x2) e duas saídas (y1, y2), onde as entradas acionam
as nove regras do sistema e ativam relações lineares entre as entradasx1 e x2.
70
Figura 4.6 – Topologia de uma rede fuzzy neural em forma paramétrica [82]
A importância de uma rede neurofuzzy deve-se à combinação do processamento
numérico de uma rede neural com a facilidade de descrição lingüística de um sistema fuzzy.
71
4.2.3 Modelos de Sistemas Neurofuzzy
Nesta seção serão descritos de forma sucinta os três mais conhecidos sistemas
neurofuzzy: o ANFIS, o FSOM e o NEFCLASS. Com isto, espera-se tornar clara a
compreensão de um sistema neurofuzzy.
a) Adaptive Network Based Fuzzy Inference System (ANFIS):
O ANFIS é uma rede neurofuzzy que foi criada por Jang [32, 33, 34, 35, 70, 83, 84],
cuja arquitetura pode ser usada na implementação de sistemas para previsão e aproximação de
funções (ver figura 4.7).
Figura 4.7 – Arquitetura neurofuzzy ANFIS [88]
A seguir apresenta-se a descrição das camadas que compõem a estrutura da rede
neurofuzzy ANFIS.
Camada 1: Computa o grau de pertinência das entradas x1, x2 e x3, baseada nas funções de
pertinência (Ai = alto e Bi = baixo). Os parâmetros que definem os parâmetros
das curvas de pertinência são considerados como pesos fuzzy. Cada entrada tem
apenas dois termos lingüísticos (alto e baixo), porém, nada impede que este
número seja maior.
72
Camada 2: Cada nó desta camada corresponde a uma regra e calcula com que grau de
pertinência o conseqüente da regra está sendo atendido.
S1 = A1 (x1) * A2(x2) * A3(x3)
S2 = B1 (x1) * B2(x2) * A3 (x3)
(4.1)
S3 = B1 (x1) * B2(x2) * B3 (x3)
onde: “*” representa o operador t-norma.
Camada 3: Esta camada realiza uma normalização nos níveis de disparo das regras.
S1′ = S1 / (S1 + S2 + S3)
S2′ = S2 / (S1 + S2 + S3)
(4.2)
S3′ = S3 / (S1 + S2 + S3)
Camada 4: As saídas dos neurônios são calculados pelo produto entre os níveis de disparo
normalizados e valor do conseqüente da regra.
h1 = S1′ . C1
h2 = S2′ . C2
(4.3)
h3 = S3′ . C3
onde: os Ci´s correspondem aos conseqüentes, por exemplo, funções de pertinência
“singletons”.
Camada 5: A última camada calcula a saída do sistema, ou seja, a defuzzificação.
Z = h 1 + h2 + h 3
(4.4)
Este sistema utiliza o particionamento fuzzy-grid adaptative [79], seu aprendizado é
feito em duas etapas que se repetem até o critério de parada:
Etapa 1: Fixam-se os parâmetros dos antecedentes, e os conseqüentes são ajustados pelo
método MQO (Mínimos Quadrados Ordinários) [3, 62];
73
Etapa 2: Fixam-se os parâmetros dos conseqüentes e os parâmetros dos antecedentes são
ajustados pelo método GD (Gradient Decrescent) [98].
Geralmente, as funções de pertinência utilizadas são do tipo gaussiana
. A idéia do
sistema ANFIS é implementar um modelo fuzzy numa rede neural [70].
b) Fuzzy Self Organized Map (FSOM):
Foi desenvolvido por Vuorimaa e utiliza o particionamento fuzzy-box no espaço de
entrada [6, 83, 84]. As funções de pertinência utilizadas nos antecedentes das regras têm perfil
triangular. Os conseqüentes das regras são singletons ou combinações lineares das entradas. A
figura 4.8 mostra um sistema com2 entradas e uma saída.
Figura 4.8 – Arquitetura de um FSOM com duas entradas e uma saída [88]
A seguir apresenta-se a descrição das camadas que compõem a estrutura da rede
neurofuzzy Fuzzy Self Organized Map.
Camada C1: A regra do sistema é baseada no formato.
If x1 ε Ui,1 and x2 ε Ui,2 then y = Si
74
onde: xj entrada da rede;
Uij conjuntos fuzzy.
Camada C2: Está relacionado ao nível de disparo das regras.
αi = min {µui,1(x1), µui,2(x2)}
(4.5)
Camada C3: Normaliza os níveis de disparo das regras.
α1’ = α1 / (α1 + α2)
e
α2' = α2 / (α1 + α2)
(4.6)
Camada C4: Produto dos níveis de disparo normalizado pelo conseqüentes.
H1 = α1' . S1 e H2 = α2' . S2
(4.7)
onde: Sj correspondem aos conseqüentes das regras.
Camada C5: Cálculo da defuzzificação, onde o método empregado é o da média ponderada.
m
m
i =1
i =1
y = (∑ α i .S i ) /(∑ α i )
(4.8)
onde: Si são os singletons referentes à saída de cada regra;
αi são os níveis de disparo das regras;
m é o número de regras.
O método de treinamento deste sistema neurofuzzy é realizado em três etapas:
Etapa 1: Os valores dos centros (c) das funções de pertinências (triangulares) são autoorganizados pelo algoritmo FSOM de Kohonen, detalhado no capítulo 6;
Etapa 2: Os conjuntos fuzzy são formados em volta destes centros, usando-se uma largura
constante ω0, de forma que a largura esquerda é Le = c + ω 0 , e a largura direita é
Ld = c + ω 0 .
Etapa 3: Os conjuntos fuzzy dos antecedentes são ajustados por um algoritmo semelhante ao
LVQ (ver Apêndice II), também criado por Kohonen.
75
A descrição das camadas deste sistema neurofuzzy é semelhante às do sistemaANFIS,
exceto pelo fato deste sistema utilizar o particionamento do tipo “fuzzy box”.
c) Neuro Fuzzy Classification (NEFCLASS):
Foram desenvolvidos por Nauck e Kruse [6, 70, 72, 84], e sua aplicação básica é em
sistemas de classificação. A figura 4.9 mostra um sistema com duas entradas, cinco regras e
duas classes de saída.
.
Figura 4.9 – Sistema NEFCLASS [72]
A seguir apresenta-se a descrição das camadas que compõem a estrutura da rede
neurofuzzy NEFCLASS.
As regras são da forma:
If x1 ε µ1 and x2 ε µ2 then pattern (x1, x2, …, xn) belongs to i
76
Camada de Entrada: Direcionar os valores x1 e x2 para as entradas das funções de
pertinência dos antecedentes das regras;
Camada de Antecedentes: Gera os graus de pertinência dos antecedentes das regras. O
universo de discurso de cada variável de entrada está dividido em três conjuntos fuzzy (alto,
médio e baixo). O particionamento do espaço de entrada implementado por esta camada é o
“adaptive fuzzy-grid”, detalhes em [84];
Camada de Regras: Esta camada gera o nível de disparo de cada regra através da operação tnorma;
Camada de Saída: As saídas são obtidas pela operação de t-conorma entre os níveis de
disparo da camada de regras. Os pesos que interligam a camada de regras e a camada de saída
indicam que regras têm um mesmo grau de importância entre si.
O aprendizado do sistema é realizado em duas etapas separadas:
Etapa 1: Utiliza um algoritmo para criar a camada de regras. Esta camada pode ser
inicializada a partir de um conhecimento prévio ou ser inicializada com um
conjunto vazio de regras e crescer com aprendizado incremental de regras.
Etapa 2: A segunda etapa utiliza um algoritmo supervisionadoGD (gradiente decrescente)
para ajustar perfis das funções de pertinências dos antecedentes [98].
A arquitetura NEFCLASS é uma rede híbrida que herda todas as características de uma
rede neural do tipo Perceptron Multicamadas (MLP) [72].
4.3 Análise dos Sistemas Híbridos
A lógica fuzzy provê uma interface de alto nível e amigável para se desenvolver
programas, auxiliando os projetistas a se concentrarem nos objetivos funcionais em vez dos
detalhes matemáticos. Por sua vez, as redes neurais artificiais são convenientes para o
manuseio massivo de dados numéricos.
77
As tecnologias fuzzy e neural estão dentro da área denominada “computação suave”
[82], mostrando um enorme potencial para aplicações que combinem conhecimento
qualitativo com robustez.
4.4 Limitações dos Sistemas Híbridos
Os SH trabalham com um reduzido número de entradas. Este fato ocorre em função da
chamada explosão combinatória das regras devido ao particionamento em forma de grade.
Suponha-se uma rede neurofuzzy com quatro variáveis de entrada e cada uma delas tenha seu
universo de discurso em três conjuntos fuzzy. Com este sistema de particionamento pode-se
chegar a um total de 81 (34) regras. Suponha-se agora que se tenha 10 entradas. Chega-se a
um total de 59049 regras, o que é impraticável.
A construção da própria estrutura é limitada ou inexiste. Algumas têm estrutura fixa
arbitrária a priori, e não se permite que ela varie. Outros sistemas neurofuzzy têm alguma
capacidade de alterar sua estrutura, permitindo que se altere o número de divisões no universo
de discurso de algumas de suas variáveis de entrada e, conseqüentemente, o número de regras.
Esta habilidade é reduzida e ainda o mantém refém do primeiro tipo de limitação.
4.5 Conclusão
Nos últimos anos os potenciais de manuseio de incertezas e de controle de sistemas
complexos se tornaram possíveis com a lógica fuzzy, e estão sendo combinados com redes
neurais artificiais, que por sua vez, possuem características de adaptação e aprendizagem.
Assim, surgiram os sistemas híbridos artificiais. Logo, efetuou-se um trabalho de pesquisa
envolvendo definições dos sistemas híbridos (fuzzy e redes neurais), seus algoritmos de
aprendizagem, suas formas de particionar os espaços de entrada/saída, os formatos das
funções de pertinência e métodos de defuzzificação.
No capítulo 6 é apresentado um sistema neurofuzzy (Neo-Fuzzy-Neuron Modificado
por Kohonen) para ajustar as funções de pertinência com um algoritmo de agrupamento (mapa
auto-organizável de Kohonen).
CAPÍTULO 5
IDENTIFICAÇÃO DE SISTEMAS
O capítulo descreve a Inteligência Artificial aplicada a técnicas de controle,
especificamente em identificação e modelagem de sistemas.
5.1Introdução
A identificação de sistemas é uma área que estuda técnicas alternativas de modelagem
matemática de sistemas. A modelagem matemática é área do conhecimento que estuda
maneiras de desenvolver e implementar modelos matemáticos de sistemas reais. A
identificação de sistemas é um dos problemas básicos em teoria de controle. No caso de
sistemas lineares, uma abordagem para identificação é construir uma função de transferência
representando o comportamento do processo, em tempo discreto ou contínuo, usando o
“Princípio da Superposição” descrito abaixo [3, 61], sendo que o estado inicial é suposto ser
zero. As funções de transferência são funções que modelam o comportamento dinâmico de
um par entrada-saída de um sistema, ou seja, descrevem como uma determinada entrada é
dinamicamente “transferida” para a saída do sistema.
Princípio da Superposição: Considere um sistema que ao ser excitado pela entrada µ 1 (t )
produz a saída y1 (t ) e quando excitado por µ 2 (t ) produz y 2 (t ) . Se tal sistema satisfizer o
princípio da superposição então, quando excitado por a.µ1 (t ) + b.µ 2 (t ) , sua saída será
a. y1 (t ) + b. y 2 (t ) , sendo a e b constantes reais. Por definição, um sistema é linear se ele
satisfaz o princípio da superposição.
A identificação de sistemas não-lineares é difícil, pois, o princípio da superposição não
pode ser usado, e a relação entrada-saída pode depender do estado atual e/ou histórico do
sistema. Além disso, o sistema pode ter muitos estados para os quais a saída é constante ou
zero.
79
O processo de modelagem de um determinado sistema dinâmico pode resultar num
modelo de estrutura complexa. Em tais casos, métodos de redução de modelos podem ser
utilizados para se obter uma representação mais simples do processo.
Os sistemas híbridos inteligentes representam um direcionamento alternativo para a
solução de problemas em sistemas de controle e identificação, principalmente aqueles que
envolvem não-linearidades.
5.2Sistemas de Controle
Um sistema de controle dinâmico envolve sempre o controle de um processo cujas
variáveis evoluem de acordo com um conjunto de equações diferenciais especificadas pelas
leis físicas que as governam. Os objetivos do controle, neste caso, são disciplinar a evolução
destas variáveis de acordo com certos critérios de engenharia: estabilizá-las ou impor
trajetórias nominais ou de referência [45].
A figura 5.1 apresenta uma representação bastante genérica de um sistema de controle
dinâmico. A entrada do sistema são os sinais que o processo recebe do meio externo. A saída
é a sua resposta, a qual é comparada com uma trajetória de referência. Na medida em que é
diferente desta, produz um erro, utilizado pelo controlador para determinar uma ação de
controle, ou seja, eliminar este erro.
Entrada
Sistema ou
+
-
Saída Real
Processo
Controlador da
Planta
Erro
+
Referência
Figura 5.1 – Sistema de controle
80
O projeto de um controlador depende diretamente da descrição matemática do
processo, ou seja, a sua modelagem. Não é possível projetar um controlador sem que se tenha
alguma informação sobre a dinâmica do processo. Este requisito aparentemente trivial pode
não estar satisfeito a priori em uma classe ampla de problemas de interesse prático. Para estes
casos colocam-se os problemas de identificação de sistemas.
5.3 Identificação de Sistemas
A identificação pode ser colocada como o problema de determinar um vetor de
parâmetros tal que a saída do sistema (ydesejado ) e a saída do modelo (yobtido ) estejam próximas
segundo algum critério adotado, por exemplo: y desejado − y obtido < ε . O critério pode ser
baseado em algum algoritmo apropriado, que procura identificar a parametrização que mais
adequadamente representa a dinâmica do sistema. Esta medida de adequação é através da
minimização do erro que é usada para reajustar os parâmetros do modelo de identificação (ver
figura 5.2).
Sistema ou
Saída Real
Processo
-
Entradas
Modelo de
Identificação
Erro
+
Saída Obtida
Figura 5.2 – Identificação de um sistema dinâmico
O processo de iteração é finalizado quando o erro de estimação é significativamente
pequeno e o modelo de identificação obtido pode então ser usado como um modelo do
sistema real [70].
81
O grau de conhecimento sobre o processo a ser identificado determina a classe de
modelo a ser utilizado [3]. De acordo com nível de informações sobre o processo identificado
podem-se classificar as classes de modelos em:
• Modelos “Caixa-Branca”: indicam que existe um conhecimento total sobre o
processo, ou seja, se conhece toda a relação entre as variáveis que descrevem o
comportamento dinâmico do sistema. Estes modelos não são realísticos porque,
mesmo sabendo-se com exatidão as equações que regem a dinâmica do processo,
sempre existirão parâmetros que têm seus valores modificados com o passar do
tempo, como a temperatura, atrito, etc;
• Modelos “Caixas-Cinzas”: indicam que existe algum conhecimento sobre o
processo, mas não se conhecem alguns parâmetros ou algumas relações entre as
variáveis que descrevem o comportamento dinâmico do sistema. Estes modelos
são mais realísticos que os modelos caixa-branca;
• Modelos “Caixa-Preta”: indica uma falta total de conhecimento sobre o processo.
Pertence a uma família de estrutura de modelos com uma flexibilidade adequada e
hábil em aproximar uma grande classe de relações entrada/saída. Em outras
palavras, o modelo caixa-preta é uma estrutura padrão que pode ser utilizada para
aproximar uma grande variedade de sistemas.
De fato, estimar o número/valores de parâmetros é uma tarefa árdua que requer
conhecimento sobre a complexidade do problema. Logo, as redes neurais artificiais têm sido
empregadas em identificação por serem modelos de caixa-preta. O problema de identificação
de sistemas dinâmicos pode ser visto como mapeamento de um espaço de entradas para um
espaço de saídas [48].
5.4 Inteligência Artificial em Identificação de Sistemas
As redes neurais artificiais têm sido exploradas na identificação de sistemas dinâmicos
não-lineares devido a serem modelos caixas-pretas não-lineares, com habilidade de aproximar
complexos mapeamentos [16, 19]. O tipo mais comum de rede neural usada para controle é o
perceptron multicamadas (MLP), com função de ativação sigmoidal. Quando comparados a
técnicas desenvolvidas para o tratamento de problemas de identificação linear, o emprego de
82
redes neurais pode ser considerado como uma abordagem muito flexível, inclusive por não
requerer informação prévia do modelo. Para a tecnologia de identificação clássica, o usuário
deve especificar a natureza do relacionamento entre as entradas e saídas. Utilizando redes
neurais em identificação, o usuário deve somente especificar a topologia da rede que é
suficiente para descrever o mapeamento das entradas-saídas.
Se há uma mudança no comportamento do sistema ou em seu ponto de operação, isto
exigiria a readaptação dos parâmetros do modelo de identificação, sob pena de o sistema de
identificação sofrer uma degradação de desempenho. Para evitar isto, algumas redes neurais
baseadas no esquema de identificação necessitam de leis de ajuste dos parâmetros do modelo
para o tempo de operação, mantendo-se fixa a dimensão da rede, a qual deve ser
suficientemente elevada para contemplar todos os possíveis requisitos de comportamento que
podem se estabelecer [50, 58, 103].
Em [45] e [98] é demonstrado que uma rede MLP com uma única camada
intermediária é suficiente para aproximar uniformemente qualquer função contínua que se
encaixe em um hipercubo unitário. O teorema afirma que um perceptron de múltiplas
camadas com única camada intermediária é capaz de realizar uma aproximação uniforme,
dado um conjunto de treinamento suficientemente significativo para representar a função. Por
outro lado, o teorema não afirma que uma rede MLP com uma única camada é ótimo no
sentido de tempo de processamento, facilidade de implementação eficiência na representação
[45, 98].
Os modelos convencionais de redes neurais artificiais apresentam limitações,
principalmente a três fatores:
• Não há um modo sistemático para determinar a estrutura de modelagem requerida
para um dado sistema;
• O algoritmo iterativo de aprendizagem (ajuste dos pesos), nem sempre leva à
convergência em direção à solução global, ou a uma solução local de boa
qualidade;
• A característica distributiva e não-linear do processamento dificulta e até pode
impedir a análise eficiente dos modelos conexionistas resultantes, durante e após o
treinamento da rede.
Na tentativa de propor soluções para tais problemas, o trabalho apresenta um modelo
híbrido inteligente, o Neo-Fuzzy-Neuron Modificado por Kohonen (NFN-MK), que mescla as
83
técnicas de redes neurais artificiais e lógica fuzzy
. Neste modelo é possível associar um
conjunto de regras fuzzy, que permite a extração de conhecimento na forma lingüística e
também permite o modelo aprender por meio de exemplos, característica das redes neurais. A
implementação da rede de Kohonen tem o propósito de indicar a localização inicial das
funções de pertinência mais apropriadas para cada aplicação. Logo, o modelo NFN-MK é
aplicado no contexto de aproximação de funções. A vantagem do modelo proposto é o
reduzido esforço computacional quando comparado às RNA´s convencionais, com
convergência superior a estas. Este resultado é evidenciado no capítulo 7.
5.4.1 Aprendizado e Generalização
O principal objetivo do aprendizado em RNA’s e sistemas neurofuzzy é a obtenção de
modelos com boa capacidade de generalização tendo como base o conjunto de dados. Em
problemas de aproximação, classificação e predição, o conjunto de treinamento é composto
por pares de entrada e saída (x, ydesejado ), sendo caracterizada previamente a saída desejada
(ydesejado ) para um determinado vetor de entrada x. O ajuste de pesos deve modificar a saída
yobtida de forma que a diferença entre yobtida e ydesejado, ou seja, o erro, diminua a cada iteração.
No entanto, a minimização pura e simples do erro pode não levar a resultados satisfatórios
[25, 70, 98].
No modelamento da rede pode ocorrer um ou dois efeitos de resposta, conhecido como
overfitting e underfitting. O overfitting é uma situação que ocorre quando há
sobreparametrização da rede, ou seja, quando a rede tem mais parâmetros (pesos) do que
necessário para a resolução do problema. Por sua vez, o underfitting ocorre quando a rede tem
menos parâmetros do que necessário. O objetivo do treinamento deve ser então o de encontrar
o ajuste ideal na fronteira entre o overfitting e o underfitting. No entanto, estimar o número de
parâmetros é uma tarefa árdua que requer conhecimento sobre a complexidade do problema.
Este conhecimento normalmente não está disponível, principalmente tratando-se de
problemas multidimensionais, pois muitas vezes é este conhecimento que se deseja obter por
meio do processo de modelagem [70, 98].
Qual deve ser o tamanho ideal do conjunto de treinamento? Como regra prática, podese calcular o número de pesos na rede e tornar o seu dobro para obter o número mínimo de
exemplos de treinamento. Dobre-se este valor novamente para se obter um tamanho melhor
de exemplos de treinamento. Alguns cuidados são necessários na escolha dos pares de
84
treinamento, como as variações que a rede deve abstrair, principalmente sem esquecer de
incluir casos fronteiriços, muito próximos aos limites de decisão, para que a rede possa
aprender a estabelecer estes limites. Senão, a rede pode responder com saídas que deixam
dúvida a que padrão pertence à entrada apresentada [52].
Após a aprendizagem ser concluída, um outro conjunto de dados, o conjunto de teste,
contendo pares de vetores de entrada e saídas desejadas, deverá ser utilizada para testar a
eficiência da rede. Caso deixe a desejar, provavelmente o conjunto de treinamento deve ter
sido insuficiente, e então se deve incluir novos exemplos no conjunto de treinamento e
retreinar a rede.
5.4.2 Critério de Convergência
A aproximação de função por RNA implica em vários fatores como: número de
neurônios e camadas escondidas, tempo de processamento (alto para mapeamentos
complexos), modelo das funções de ativação, ganhos da função de ativação, inicialização dos
pesos e taxa de aprendizagem. A escolha indevida de alguns destes fatores (principalmente a
inicialização dos pesos) pode implicar que o programa fique preso em um mínimo local(ml),
onde o desejado é o mínimo global (mg).
A convergência dos métodos de otimização não-lineares depende da condição inicial e
do comportamento da função objetivo. Por exemplo, a figura 5.3 apresenta a equação 6.1, que
possuí um mínimo local e seu mínimo global parax ∈ [-2, 2].
f ( x) = 3.x 4 − 15.x 2 − 3.x + 6
(5.1)
85
Função Escalar
f(x) = 3.(x^4) - 15.(x^2) - 3.x + 6
Variável de Saída
40
30
Mínimo Local
20
Mínimo Global
10
0
-10
-20
-3
-2
-1
0
1
2
3
Variável x
Figura 5.3 – Função com mínimo local e global
O par do mínimo local para a equação 5.1 é ml = (-1.528; -8.084); já do mínimo
global é mg = (1.628; -17.566).
Como as redes neurofuzzy possuem a propriedade de aproximação universal, foi
proposto o sistema Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK). Do ponto de
vista computacional o NFN apresenta tempo de processamento inferior às redes MLP e
soluciona o problema de mínimos locais, porque a função objetiva a ser minimizada no
processo de treinamento é quadrática e convexa. A seguir será discutido algum caso prático
envolvendo a aproximação de funções.
5.5 Conclusão
Os modelos lineares têm sido amplamente usados em identificação de sistemas.
Entretanto, muitos sistemas de controle encontrados na prática são não-lineares. As
aproximações produzidas por modelos lineares não são convenientes para representar estes
sistemas. O emprego do método Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK)
pode ser considerado como uma abordagem flexível, inclusive por não requerer informação
prévia do modelo e impõem poucas restrições na definição do modelo, quando comparado às
redes neurais artificiais e outras técnicas de aproximações.
CAPÍTULO 6
O MODELO NFN-MK
Este capítulo apresenta a proposta de estudo que é ajustar as funções de pertinência do
tipo triangulares para o modelo Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK), as
quais representam o comportamento dinâmico de um sistema identificado. A obtenção das
funções é feita com o mapa auto-organizável de Kohonen, que encontra os vértices das curvas
triangulares.
6.1 Introdução
A estrutura do modelo Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK) é
aplicada ao contexto de identificação de sistemas, que está apresentado na figura 6.1. Este
modelo computacional permite ajustar as funções de pertinência do tipo triangulares, as quais
modelam o sistema identificado. O sistema neurofuzzy proposto é uma reestruturação do NeoFuzzy-Neuron (NFN), proposto por Yamakawa [96] e a modificação é pelo uso do mapa autoorganizável de Kohonen. A motivação ao uso do NFN original foi por apresentar tempo de
processamento bastante inferior, uma das motivações quando comparados à estrutura das
redes neurais multicamadas [19, 47, 48].
87
Processo
Não-Linear
Saída Desejada
-
Entradas
Rede
NFN-MK
Erro
+
Saída Obtida
Ajuste dos Pesos
Figura 6.1 - Diagrama de blocos do treinamento do NFN
O bloco do processo da figura 6.1 é um sistema real e tipicamente não-linear. Logo,
essa não linearidade aumenta a dificuldade de modelagem através de equações matemáticas
clássicas. Uma das soluções para tal problema é utilizar o NFN-MK para obter o sistema
desejado, sem a necessidade de técnicas de linearização que podem comprometer os resultados
finais para determinadas entradas.
A capacidade de representar mapeamentos complexos das redes neurais cresce, em
geral, com o número de camadas e neurônios. Entretanto, este aumento leva a um maior tempo
de processamento, o que é um fator importante em implementação em tempo real. Além disso,
o treinamento das redes neurais multicamadas, utilizando o algoritmo backpropagation,
consiste na minimização de uma função não-linear (sigmóide). A convergência dos métodos de
otimização não-linear depende da condição inicial e do comportamento da função objetivo.
Para o treinamento das redes neurais estes dois pontos são críticos, pois a condição inicial é
atribuída aleatoriamente e a função objetivo não é estritamente convexa, apresentando mínimos
locais. Neste caso, a convergência não é assegurada, podendo às vezes apresentar um erro
significativo mesmo após longo tempo de treinamento [16, 19].
Já o sistema Neo-Fuzzy-Neuron (NFN), resolve o problema de mínimos locais, pois a
função-objetivo a ser minimizada é quadrática e convexa [16, 48]. Portanto, este algoritmo é
utilizado em várias aplicações como: previsão de temperaturas para alimentos em
congelamento, identificação de sistemas, predição de comportamentos caóticos e observação
de estados em acionamentos elétricos [73].
88
A rede NFN original tem funções de pertinência fixas do tipo triangular, e não existe
algoritmo para ajustá-las. No entanto, o modelo NFN-MK usa a rede de Kohonen para ajustar
as funções de pertinência. O ajuste é com base nos dados de entradas/saídas do sistema real,
assim representando uma maior precisão e conhecimento sobre o sistema em estudo.
6.2 Descrição do Modelo NFN-MK
O modelo Neo-Fuzzy-Neuron Modificado por Kohonen é um sistema híbrido que faz a
simbiose entre a lógica fuzzy e as redes neurais artificiais. Uma das etapas da lógica fuzzy é a
fuzzificação, que tem o propósito implementar as funções de pertinência, cuja tarefa é
trabalhosa. As técnicas usando RN e/ou AG estão disponíveis para auxiliar na geração e/ou
ajuste das curvas de pertinência. Tais sistemas são dotados de capacidade de aprendizagem, a
partir dos conjuntos de dados de entrada, com os quais identificam a posição e formato das
funções de pertinência [82]. Então, é implementada a rede de Kohonen, com o propósito de
indicar a localização inicial das funções de pertinência mais apropriadas para cada aplicação.
A construção de sistemas híbridos leva a associação de duas ou mais técnicas de IA
[84]. Neste trabalho são usadas duas formas básicas de associação:
a) Sistema Híbrido Incorporado: combinam dois paradigmas de IA, os sistemas fuzzy e as
redes neurais artificiais, onde não há uma separação visível entre os dois subsistemas. A
figura 6.2 traz uma representação deste modelo.
Sistema Fuzzy
(Técnica 1)
Entrada
+
= NFN
Redes Neurais Artificiais
(Técnica 2)
Figura 6.2 – Modelo híbrido incorporado
Saída
89
A rede neurofuzzy NFN tem um sistema de inferência fuzzy que é implementado
segundo a estrutura de uma rede neural artificial.
b) Sistema Híbrido Auxiliar: Nesta associação um outro paradigma, a rede de Kohonen é
chamada pelo subsistema implementado (NFN) para realizar alguma tarefa auxiliar. A figura
6.3 ilustra este conceito de hibridização.
Rede Neurofuzzy NFN
Saída
(Subsistema)
Entrada
Rede de Kohonen
(Técnica 3)
Figura 6.3 – Modelo híbrido auxiliar
A proposta do trabalho é implementar a rede neurofuzzy NFN, onde a rede de Kohonen
auxiliará no ajuste dos centros/formatos das funções de pertinência do sistema de inferência do
NFN.
A figura 6.4 mostra as etapas de treinamento entre as redes NFN e de Kohonen,
aplicada à identificação de um sistema real.
90
Processo
Saída Desejada
Não-Linear
-
Rede NFN-MK
Entrada
S2
Rede Neurofuzzy
NFN
Erro
+
Saída Obtida
Ajuste dos Pesos
S1
Método de
Kohonen
Ajuste dos Centros das
Funções de Pertinência
Figura 6.4 – Estrutura da rede neurofuzzy NFN-MK.
As etapas de treinamento do modelo NFN-MK empregado na identificação de um
sistema real são:
a) Etapa 1: Chave “S1” fechada e “S2” aberta
Nesta etapa as variáveis de entrada e seus respectivos domínios são definidas por sete
funções de pertinência triangulares, uniformemente distribuídas. Com o auxílio da rede de
Kohonen é possível gerar novos vértices para cada uma das curvas triangulares, tornando-as
não uniformemente distribuídas com um treinamento não-supervisionado. Os pesos da rede
correspondem aos valores dos vértices das funções de pertinência. Já o número de neurônios
na camada de processamento corresponde ao número de subconjuntos fuzzy para cada
coordenada.
91
b) Etapa 2: Chave “S1” aberta e “S2” fechada
Após o posicionamento dos sete vértices das curvas triangulares pela rede de Kohonen,
são determinados: os graus de pertinência para as entradas de treinamento (processo de
fuzzificação); construção das regras fuzzy do tipo “Se - Então”; processo de defuzzificação; e
atualização dos pesos para cada padrão de entrada/saída, de modo que o erro possa ser
minimizado. O treinamento desta etapa é supervisionado, análogo ao backpropagation
clássico.
O aprendizado da rede só é finalizado quando se completa o número de épocas
desejado, quando o NFN-MK obtido pode ser usado como replicador do processo real.
6.3 Estrutura do Neo-Fuzzy-Neuron
O Neo-Fuzzy-Neuron foi proposto a partir do neurônio fuzzy, ou seja, um neurônio
utilizado que representa regras fuzzy, cujas informações de entrada podem ser fuzzificadas [16,
17, 18, 19, 48, 73, 96, 97]. A vantagem do uso de redes neurais sobre os sistemas baseados em
regras é a capacidade de generalização [63]. A estrutura do Neo-Fuzzy-Neuron é mostrada na
figura 6.5.
Figura 6.5 – Estrutura do sistema Neo-Fuzzy-Neuron [96]
92
onde cada fi(xi) é indicado em detalhe na figura 6.6, representando um neurônio fuzzy.
Figura 6.6– Estrutura do neurônio fuzzy [96]
onde: xi : entrada da rede;
fi: universo de discurso da entrada xi;
µij(xi): subconjunto fuzzy da entrada xi;
wij: peso da conexão da entrada “i” e subconjunto fuzzy “j”;
yi : soma dos termos µij(xi) . wij (i=1,..., n; j=1,..., p), gera uma saída fuzzificada;
n: número das entradas do sistema (rede);
p: número de subconjuntos fuzzy de uma determinada entrada;
y: soma dos termos y1 a yn (processo de defuzzificação).
As características de cada sinapse são representadas por uma função não linear fi(xi),
determinada a partir de inferência fuzzy e defuzzificação. Os sinais sinápticos deixam de ser
caracterizadas por uma função sigmoidal, como nas redes convencionais, passando a ser
obtidos simplesmente por uma soma algébrica. Tal analogia é apresentada na tabela 6.1.
93
Tabela 6.1 – Comparação entre o neurônio artificial e fuzzy
Parâmetros
Neurônio Artificial
Neo-Fuzzy-Neuron
Entrada
x1, x2, x3,..., xn
x1,...,xi,...,xn
Saída
y
y
Pesos
w1, w2, w3,..., wn
w11,...,wji,...,wnp
Efeito de uma
s = ∑ x i .wi
Modelo
Sinapse
p
n
i =1
∑µ
f i ( xi ) =
ij
( xi ).wij
j =1
p
∑µ
ij
( xi )
j =1
Recodificação
Função de Transferência
do Sinal
(geralmente logística e/ou
n
n
i =1
i =1
y = ∑ yi ( xi ) = ∑ f i ( xi )
tangente hiperbólica)
Sendo assim, a função erro do NFN é quadrática e convexa em relação aos pesos que
são ajustados durante o seu treinamento. Logo, o mínimo local é mínimo global, como será
demonstrado posteriormente [17, 19, 48, 96, 97].
Os valores yi são determinados a partir de um conjunto de regras fuzzy do tipo “SeEntão”. Considerando que o universo de discurso da entrada xi é dividido em subconjuntos
fuzzy, descritos por funções de pertinência do tipo triangular (ver figura 6.7), as regras são do
tipo:
Ri 1: Se xi é Ai1 Então yi é wi1
Ri2: Se xi é Ai2 Então yi é wi2
................
Rip: Se xi é Aip Então yi é wip
94
Para este conjunto de regras, as variáveis xi e yi, são determinísticas e Aij são conjuntos
fuzzy, definidos por µij(xi). Isto exige etapas de fuzzificação para xi e defuzzificação para
determinar os valores de yi. Considerando as funções de pertinência complementares (ver
figura 6.7), os valores das funções de pertinência são diferentes de zero para, no máximo, duas
funções vizinhas. Isto equivale a dizer que, para cada valor da variável de entrada xi, no
máximo duas das p regras são ativadas, sendo indexadas por ki e ki+1.
Figura 6.7 – Funções de pertinência do tipo triangular uniformemente espaçadas [19]
Utilizando o esquema de inferência max-min (ver figura 6.8), e o método do centro de
gravidade para obter a defuzzificação, pode-se encontrar o valor numérico da saída.
Figura 6.8 – Inferência fuzzy em uma sinapse não-linear do Neo-Fuzzy-Neuron [96]
95
Os valores de fi(x1) podem ser determinados da seguinte forma:
p
f i ( xi ) =
∑µ
ij
( xi ).wij
j =1
p
∑µ
ij
( xi )
j =1
f i ( xi ) =
(6.1)
µ ik i ( xi ).wik i + µ ik i +1 ( xi ).wik i +1
µ ik i ( xi ) + µik i +1 ( xi )
Como as funções de pertinência vizinhas são complementares, a soma de
µ ik i ( xi ) + µik i +1 ( xi ) = 1 , então 6.1 se simplifica em:
f i ( xi ) = µik i ( xi ).wik i + µik i +1 ( xi ).wik i +1
(6.2)
Para o caso de um sistema com duas entradas (x1, x2), a equação 6.2 pode se reescrita
com um “relaxamento” da notação matemática em:
f ( x1 , x2 ) = µ m ( x1 ).wm + µ m +1 ( x1 ).wm +1 + µ n ( x2 ).wn + µ n +1 ( x2 ).wn +1
(6.3)
onde m e m + 1 são os índices das curvas de pertinência, as quais são complementares na
fuzzificação de x1. Analogamente, tem-se as curvas n e n + 1 para a entrada x2.
Somente as curvas de pertinência ativadas são relevantes para o processamento da
rede. Assim, só um ou dois pesos correspondentes aos ramos ativados são ajustados durante o
treinamento do Neo-Fuzzy-Neuron. Este mecanismo sugere que o Neo-Fuzzy-Neuron deve
exibir período de treinamento inferior ao das redes neurais convencionais.
6.3.1 Ajuste dos Pesos
De forma similar à rede neural, o método de aprendizagem do NFN consiste em um
ajuste de seus parâmetros [17, 19, 48, 96]. O aprendizado supervisionado é adotado para
ajustar os parâmetros wij, conseqüentes das regras fuzzy, chamados de pesos (ver figura 6.9).
96
Saída Desejada
Sistema ou
Processo
-
Entradas
Rede
Neo-Fuzzy-Neuron
Erro
+
Saída Obtida
Ajuste dos Pesos
Figura 6.9 – Ajuste dos pesos para a rede NFN
Os algoritmos de treinamento aplicáveis ao NFN podem ser por lote e local. A seguir,
um comentário sobre as formas de treinamento:
• Treinamento em Lote: são apresentados ao NFN todos os padrões (de treinamento),
onde cada padrão consiste no par {x, y}, em que x é o vetor de entradas da rede de
um determinado padrão e y a saída desejada. Para cada vetor de entrada x
apresentado à rede, esta fornecerá um valor de saída y que será comparada com o
valor desejado y. O erro quadrático desta comparação é usado para ajustar os
parâmetros da rede após a apresentação de todos os padrões (ver figura 6.9). Estes
passos são repetidos até que a rede tenha aprendido;
• Treinamento de Modo Local: os parâmetros são atualizados a cada apresentação do
par {x, y} à rede.
Além disso, o treinamento pode ser on-line ou off-line:
• Treinamento Off-Line: os parâmetros variam durante a etapa de treinamento e são
mantidos fixos na etapa de validação;
97
• Treinamento On-Line: os parâmetros são ajustados para cada padrão apresentado.
Convém salientar que o treinamento off-line pode ser em lote ou de modo local,
enquanto que o treinamento on-line só pode ser feito de modo local.
O treinamento das redes de Kohonen e do NFN que formam o modelo proposto, o
NFN-MK, são off-line e a apresentação dos padrões de entrada/saída é em lote.
6.3.2 Atualização dos Pesos com Taxa de Aprendizado Ótima
O procedimento de atualização dos pesos descrito a seguir é com base no trabalho de
[16, 19], que consiste em uma atualização “local”. Seja X = (x1, x2, ..., xi,...xn) o padrão
aplicado à entrada do Neo-Fuzzy-Neuron, y a saída calculada e yd seu respectivo valor
desejado. O erro quadrático para o padrão de entrada é definido como:
ε=
1
(y − y d )2 = 1 .e2 = ε (W )
2
2
(6.4)
Onde: w = (w11, w12, ... wij, ..., wnp).
O algoritmo de treinamento consiste na atualização dos pesos, para cada padrão de
entrada, de modo que o erro ε possa ser minimizado. O problema a ser resolvido pode ser
descrito da seguinte forma:
 min ε (Wij )



Wij ∈ ℜ

∀i = 1,..., n; j = 1,..., p 


(6.5)
Para cada coordenada de entrada xi dentre as entradas apresentadas ao NFN, somente
as funções µiki (xi) e µi(k+i) (xi) são diferentes de zero. Assim, pode-se reescrever a equação 6.5
como:
 min ε (Wij )



Wij ∈ ℜ

∀i = 1,..., n; j = k , k + 1
i
i


(6.6)
98
A vantagem de resolver a equação 6.6 ao invés da 6.5 é que a função a ser minimizada
possui 2.n variáveis, não dependendo do número de partições fuzzy, ao passo que em 6.6 o
número de variáveis é np, que é maior ou igual a 2n, sendo “n” o número de entradas e “p” o
número de neurônios da primeira camada. Como foi dito anteriormente, a função a ser
minimizada é quadrática e convexa [17].
A função ε(wij) é não-linear e a equação 6.6 é um problema de programação não-linear
onde a convergência para a solução ótima depende do ponto inicial, da direção de busca, e do
tamanho do passo. Para o sistema Neo-Fuzzy-Neuron a condição inicial será nula, sem
comprometer a convergência do algoritmo.
A escolha das direções caracteriza um algoritmo de minimização. O método padrão é o
do gradiente, sendo por isso o adotado aqui. Para este método a direção é determinada da
seguinte forma:
h j = −∇ε ( w j )
(6.7)
onde: − ∇ε ( w j ) é o vetor gradiente de ε ( w j ) .
Portanto, uma componente wiki é atualizada da seguinte forma:
wikj +i 1 = wikj i − α j .
∂ε ( wikj i )
j
ik i
∂( w )
(6.8)
(6.9)
wikj +i 1 = wikj i − α j .( ytj − ytd ).µik i ( xti )
O tamanho do passo (α), que no caso de treinamento de redes neurais ou neurofuzzy é
chamado de taxa de aprendizado, pode ser determinado empiricamente, ou utilizando algum
método de busca unidirecional indireto (Secção Áurea e/ou Fibonacci [62, 98]) ou direto
(aproximação polinomial [98]). Em [16, 19, 48] é proposto uma alternativa para obtenção da
taxa de aprendizado a partir do resultado do teorema 1.
Teorema 1: Obtenção da Taxa de Aprendizado
Dado um padrão de entrada X = (x1, x2,..., xi,..., xn), e yd, o valor desejado para o
mapeamento y = f (X), é possível determinar uma expressão fechada para a taxa de
aprendizado “α”.
99
Demonstração:
Dado w0 o objetivo é obter α tal que o erro:
(6.10)
1
1
ε 1 = .( y1 − y d )2 = .(e1 )2 = 0
2
2
n



e1 =   ∑ µ ki ( xi ).w1ik i + µ k i +1 ( xi ).wik1 i  − y d 

  i =1

(6.11)
Para,
w1ik i = wik0 i − α .e 0 .µik i ( xi )
(6.12)
w1ik i +1 = wik0 i +1 − α .e0 .µik i +1 ( xi )
(6.13)
Multiplicando os dois lados da equação 6.12 por µik1 i ( xi ) e 6.13 por µik1 i +1 ( xi ) , obtém-se:
w1ik i .µ ik i ( xi ) = wik0 i .µ ik i ( xi ) − α .e 0 .[ µ ik i ( xi )]2
(6.14)
w1ik i +1.µ ik i +1 ( xi ) = wik0 i +1.µik i +1 ( xi ) − α .e 0 .[ µ ik i +1 ( xi )]2
(6.15)
Para i =1, 2,...,n, somando as 2n equações, tem-se:
∑ [w
n
i =1
1
ik i
]
[
]
n
n

.µ iki ( xi ) + wik1 i +1.µik i +1 ( xi ) = ∑ wik0 i .µik i ( xi ) + wik0 i +1.µik i +1 ( xi ) − α .e0 .∑ µik i ( xi ) 2 + µik i +1 ( xi ) 2 
i =1
 i =1

Logo, a taxa de aprendizagem que proporciona erro de aproximação nulo é dada por:
α=
1
n
∑µ
i =1
ik i
(6.16)
( xi ) 2 + µik i +1 ( xi ) 2
A equação 6.16 será usada no capítulo 7 como a taxa de aprendizagem em problemas
de aproximação das funções sen(x), chapéu mexicano e radial.
6.3.3 Análise da Complexidade dos Algoritmos NFN Versus RNA
Para avaliar as duas estruturas, serão consideradas as expressões que permitem calcular
as saídas em função das entradas, que são:
100
Neo-Fuzzy-Neuron:
n
y l = ∑ µ iki .( x i ).wik il +µ ik i +1 .( xi ).wi ( k i +1)l
(6.17)
i =1
Rede Neural:
[ [ [
Y = Γ W 3Γ W 2Γ W 1Χ
]]]
(6.18)
onde: Y (m), X (n), W1 (n, p), W2 (p,q) e W3 (q,m) são as dimensões dos vetores e matrizes;
Γ[•] é uma função não linear, geralmente uma função sigmóide (logística ou tangente
hiperbólica).
Com base nas expressões 6.17 e 6.18 é possível fazer uma análise da complexidade dos
algoritmos, relacionando o número de operações básicas envolvidas e o número de cálculos de
funções. Esta metodologia de análise comparativa é significativa, pois independe do software e
hardware empregados [16, 19].
A tabela 6.2 resume o número de operações envolvidas utilizando as duas estruturas. A
rede neural é definida pelos parâmetros [n,p,q,m], sendo n o número de entradas, p o número
de neurônios da primeira camada oculta, q o número de neurônios da segunda camada oculta e
m o número de saídas.
Tabela 6.2 – Comparação entre a RNA e o NFN [16]
Estrutura
RNA
Operações de Multiplicação Operações de + e/ou - Cálculos de Funções
n.p + p.q + q.m
n.p + p.q + q.m
[n,p,q,m]
NFN
[n,p,m]
p+q+m
(função sigmóide)
2.n.m
n.m + n
n
(função linear)
Como pode ser constatado, o número de operações e cálculo de funções no NeoFuzzy-Neuron é bem menor que na rede neural artificial. As funções de pertinência calculadas
envolvem uma operação de soma e uma de multiplicação para cada cálculo. Como as funções
são complementares, para os quatro cálculos são necessárias quatro operações de soma e duas
101
de multiplicação. Levando em consideração estes resultados conclui-se que o tempo de
processamento do NFN é inferior, quando comparado com a RNA.
6.3.4 Sistema Neo-Fuzzy-Neuron Generalizado
A estrutura do NFN mostrada na figura 6.5 apresenta apenas uma saída. Portanto,
permite um mapeamento não-linear entre um espaço multidimensional e um espaço
unidimensional. Para o caso de sistemas MIMO (“Multi Input Multi Output”), o mapeamento
deve ser de um espaço multidimensional para outro. Assim, pode-se utilizar L sistemas NFN
independentes para um sistema com L saídas. Dessa forma, a etapa de fuzzificação deverá ser
feita L vezes [48]. Usando a estrutura em forma de rede chamada de Neo-Fuzzy-Neuron
Generalizada (NFNG) (figura 6.10), a etapa de fuzzificação é feita apenas uma vez, a cada
passo de cálculo.
Figura 6.10 – a) Diagrama de blocos do NFNG b) Bloco Fi(xi) [48]
102
De maneira análoga ao Neo-Fuzzy-Neuron, as saídas yl e yil do NFNG são dados por:
f il ( xi( j ) ) = µik i ( xi( j ) ).wik i l + µi ( ki +1) ( xi( j ) ).wi ( k i +1)l
I
I
i =1
i =1
yl( j ) = ∑ yil( j ) =∑ f il ( xi( j ) )
(6.19)
(6.20)
Se yi é saída calculada e yld é o seu respectivo valor desejado, onde l = 1,2,...L (L é o
número de saídas), podem-se definir os L erros quadráticos como:
ε l( j ) =
1 ( j)
(yl − yld )2 = ε l (Wip( ijl) )
2
(6.21)
O treinamento do NFNG consiste na minimização dos l erros (para cada padrão
apresentado) acima. O novo peso é calculado pela equação 6.22.
Wik( ijl+1) = Wik( ijl) − α ( j ) .( yl( j ) − yld ).µik i ( xi( j ) )
(6.22)
Devido ao fato do NFNG possuir mais de uma saída, em analogia às RNA’s, o NFNG
pode ser encarado como uma rede NFN.
6.3.5 Taxonomia do Sistema NFN
Conforme as figuras 4.2 e 4.3 do capítulo 4, um sistema neurofuzzy contempla as
características fuzzy e o aprendizado de uma rede neural. Nesta seção é apresentada a
taxonomia da rede NFN. Com relação às características fuzzy o NFN é dividido em quatro
sub-classes, quanto:
a) Modelo Fuzzy Implementado:
As regras fuzzy formam a parte fundamental da estrutura de conhecimento em um
sistema fuzzy de inferência. O formato de regra fuzzy adotado no NFN é o modelo de TakagiSugeno [70, 77, 82, 84, 91]. Por simplicidade, somente uma entrada e uma saída serão
consideradas:
Rip: Se xi é Aip Então yi é f(x)
103
A saída de cada regra é uma função das variáveis de entrada. Geralmente, a função que
mapeia a entrada e saída para cada regra é uma combinação linear da entrada, equação 6.23.
y = p.xi + r
(6.23)
No caso em que p = 0, tem-se y = r (fuzzy singleton), ou seja, a variável r pode ser o
peso (wi) de uma conexão da estrutura neural.
b) Formato das Funções de Pertinência:
O NFN implementa a função de pertinência do tipo triangular (equação 6.24) para os
antecedentes da regra e a função singleton (equação 6.25) para o conseqüente.
 ( x − LE )
 C − LE , SL ≤ x ≤ C


 ( x − LD )
, C ≤ x ≤ LD

µ ( x ) =  C − LD


0, outros




µ ( x) = w
(6.24)
(6.25)
onde: µ é o nível de disparo da regra;
x é a variável de entrada;
C é o centro;
LE é o limite esquerdo;
LD é o limite direito;
w é o conseqüente da regra, no caso da rede NFN é chamado de peso.
A vantagem do perfil triangular é de ser computacionalmente simples. Já a principal
vantagem do fuzzy singleton é simplificar o processo de defuzzificação do sistema.
104
c) Particionamento do Espaço de E/S:
As variáveis de entrada/saída do sistema de inferência fuzzy são divididos em vários
termos lingüísticos, por exemplo: baixo, médio e alto, que são usados pelas regras fuzzy. O
particionamento do espaço de entrada indica a forma como as regras fuzzy estão relacionadas
com este espaço. O particionamento do espaço de saída costuma ser simples e está associado
aos conseqüentes das regras.
A definição do método de particionamento tem influência sobre o desempenho dos
SNF no que diz respeito as suas características, tais como: precisão, generalização, geração
das regras e grau de interpretabilidade [84].
A rede NFN usa o particionamento fuzzy grid, que é fixo, ou seja, não permite o ajuste
nas funções de pertinência. Os sistemas que a utilizam ajustam apenas os parâmetros dos
conseqüentes.
d) Método de Defuzzificação
Após a avaliação das regras fuzzy, deve-se determinar o valor real da saída do sistema
fuzzy, este processo chama-se de defuzzificação. O NFN usa a técnica da média ponderada que
é usada quando os conseqüentes das regras são singletons (ver equação 6.26).
p
f i ( xi ) =
∑µ
ij
( xi ).wij
j =1
(6.26)
p
∑µ
ij
( xi )
j =1
onde: fi(xi) é a saída do processo de defuzzificação para a entrada xi.
p é o número de regras fuzzy;
µ é o nível de disparo da regra i;
wij é o valor do singleton (peso).
Este método é naturalmente indicado, pois combina os conseqüentes das regras com o
nível de disparo de cada uma delas.
105
Com relação às características de aprendizagem o NFN é dividido em três sub-classes, quanto:
a) Apresentação dos padrões de Treinamento:
A apresentação dos padrões de treinamentos é on-line, ou seja, a atualização dos
parâmetros acontece após cada par de treinamento ter sido apresentado. Esta estratégia de
aprendizado é indicada para sistemas com características variantes ou quando não se tem
previamente um conjunto de dados de treinamento.
b) Método de Identificação da Estrutura:
A identificação do NFN está relacionada à determinação de um número adequado de
regras fuzzy e de um particionamento de entrada/saída satisfatório, que represente o
comportamento do sistema. Há duas vertentes principais para promover a identificação da
estrutura de um sistema neurofuzzy.
Alternativas para Identificação Prévia:
Este tipo de identificação precede o ajuste dos parâmetros do sistema [84]. Utiliza-se
um conhecimento prévio sobre o sistema a ser utilizado. Pode-se destacar três métodos para
realizar tal tarefa:
• Método com Apoio do Especialista: Neste método, o conhecimento prévio é
explícito e proveniente de especialista(s). A criação das regras e o esboço
preliminar das funções de pertinência envolve um domínio de conhecimento de
interesse específico, o apoio de um ou mais especialistas neste domínio e um
engenheiro de aplicação capaz de extrair este conhecimento do especialista e
expressá-lo em termos de proposições fuzzy e variáveis lingüísticas;
• Método Auto-Organizado e Aprendizado Competitivo: Aqui o conhecimento
prévio é implícito e proveniente de um conjunto de dados de treinamento. Utilizase, inicialmente, um algoritmo neural não-supervisonado e auto-organizado (por
106
exemplo: Self Organized Map de Kohonen), que determina os valores iniciais dos
centros das funções de pertinência. Em seguida, criam-se algumas regras, a partir
dos primeiros padrões apresentados no treinamento. O antecedente das regras é
criado tomando-se os conjuntos fuzzy que tiverem maior grau de pertinência para o
padrão sob treinamento. Havendo conflito entre as regras, aplica-se um processo
baseado em competição entre estas. Por exemplo, aplica-se um padrão na entrada
do sistema e verifica-se qual regra exibe maior grau de disparo. Esta regra será a
vencedora para o algoritmo de aprendizado;
• Método da Distribuição Uniforme das Funções de Pertinência: Neste método
as funções de pertinência são criadas através de uma distribuição uniforme sobre o
universo de discurso das características do espaço de entrada/saída. Após esta etapa
o aprendizado competitivo é usado para criação das regras fuzzy.
Alternativas para Identificação Automática:
Na identificação/geração automática o aprendizado das regras pode ser feito de forma
incremental ou decremental.
• Aprendizado Incremental: Partir de um determinado número de regras e
adicionar novas regras segundo uma determinada heurística. Isto só é possível se a
saída desejada é conhecida (aprendizado supervisionado);
• Aprendizado Decremental: Inicia-se com um conjunto superestimado de regras,
o que pode gerar um sistema inconsistente. Usa-se então um algoritmo de poda
para eliminar as regras supérfluas, tornando o sistema consistente. Tal
procedimento é computacionalmente dispendioso, mas pode ser feito quando não
há informação disponível sobre a saída desejada.
A proposta do trabalho é usar um algoritmo de agrupamento (mapa auto-organizável
de Kohonen) para indicar a localização inicial das funções de pertinência mais apropriada para
cada aplicação.
107
c) Aprendizado dos Parâmetros:
O aprendizado dos parâmetros entende-se como o ajuste dos parâmetros do sistema,
tais como os pesos fuzzy que definem os perfis das funções de pertinência dos antecedentes e
conseqüentes das regras fuzzy. No NFN os conseqüentes (pesos) são ajustados por um
algoritmo supervisionado, o método do gradiente.
O número de subconjuntos fuzzy (implica nas regras do sistema) nem sempre é
acompanhado de uma melhor precisão. Quando existe diferença de comportamento dinâmico
em um sistema, pode ser interessante utilizar números diferentes de subconjuntos para as
entradas do NFN-MK. Assim, as funções de pertinência do modelo NFN-MK são ajustadas e
determinadas pela rede neural de Kohonen (algoritmo não-supervisionado). Os conseqüentes
do modelo computacional NFN-MK também são ajustados pelo método do gradiente.
6.4 Redes de Kohonen
Em 1984, Teuvo Kohonen [85] desenvolveu uma família de redes, SOM – Self
Organizing Map, as quais possuem a capacidade de auto-organização. Essas redes neurais são
do tipo feedfoward e o treinamento é não supervisionado [6].
As redes de Kohonen se distinguem das demais estruturas por terem duas camadas:
uma de entrada e outra de processamento [7], conforme a figura 6.11.
108
Camada de
Entrada
Camada de
Processamento
d1
1
wi1
d2
2
wi2
Cálculo da
distância
Euclidiana (d)
•
•
•
xi
wij
dvencedor
Aprendizado NãoSupervisionado
dj
j
win
dn
n
Ajuste dos Pesos
Figura 6.11 – Topologia da rede de Kohonen
Os neurônios da camada de processamento competem entre si para serem os
vencedores. O neurônio cujo vetor de pesos gerar a menor distância Euclidiana com o vetor
de pesos de entrada é o vencedor [80], o cálculo da distância é dado por:
n
d j ( p) = ∑ ( x j ( p) − wij ( p ))2
(6.27)
j =1
onde: d: é a distância do neurônio;
i: índice do neurônio;
j: índice das entradas e dos pesos;
n: número de entradas;
xj(p): entrada j;
wij(p): peso j do neurônio i.
A rede inicia com os pesos sinápticos (wij) em “off”, ou seja, contém valores aleatórios
e um sinal de entrada xi(p) é provido para a rede sem que se especifique a saída desejada.
109
Em cada passo do aprendizado, o neurônio que melhor responde (menor diferença),
deverá ser ajustado para responder ainda mais àquela entrada. O processo de adaptação da
rede de Kohonen é dado pela equação 6.28, onde η(p) é um ganho de adaptação de valor
escalar, tal que 0< η(p) <1, que é decrementado a cada padrão de entrada.
wij ( p ) + η ( p ).( x( p) − wij ( p )), se i∈Vi

wij ( p + 1) = 

wij ( p), se i∉Vi

(6.28)
Se o ganho de adaptação é escolhido como linear, usa-se a expressão 6.29 para calcular
seu valor a cada instante de p, dado que se conhece o número total de iterações T no processo
de aprendizagem [6].
p

η (t ) = η (0).1 − 
 T
(6.29)
Neste trabalho o ganho de adaptação η(p) é determinado com base nos estudos de
[19], conforme a equação 6.30.
η (t ) = η ( p − 1).0.9999
(6.30)
A rede de Kohonen é usada neste trabalho para encontrar os centros das funções de
pertinência do tipo triangular, sendo que os pesos da rede correspondem aos valores dos
centros das curvas triangulares e o número de neurônios da camada de processamento
corresponde ao número de subconjuntos fuzzy para cada entrada da rede NFN.
6.5 Ajustes das Funções de Pertinência
Existem dois tipos de distribuição de curvas de pertinência:
• Tipo 1: Funções triangulares uniformemente distribuídas (figura 6.12);
• Tipo 2: Funções triangulares não uniformemente distribuídas (figura 6.13).
110
Para os dois tipos, as funções de pertinência são complementares, ou seja, a soma de
duas funções de pertinência sucessivas é igual a “l”. A vantagem em se trabalhar com funções
complementares é uma redução do tempo de processamento, já que o cálculo de graus de
pertinência cai pela metade [15, 16, 18, 19, 31].
6.5.1 Curva do Tipo 1
Neste caso, têm-se funções de pertinência como as representadas na figura 6.12, que
são definidas pelos parâmetros ximin e ximax. O centro da função de pertinência indexada por “r”
é air, que corresponde ao ponto onde a função possui o valor máximo.
Fi1
Fir
1
FiNp
xpi
ai1 = ximin
air
aiNp = ximax
∆i
Figura 6.12 – Funções de pertinência tipo 1
Da figura 6.12, tem-se que:
∆i =
X i max − X i min
p −1
Com isto, define-se uma função de pertinência r da seguinte forma:
(6.31)
111
 ( xi − a ir )
+ 1, a ir −1 ≤ x i ≤ a ir
 ∆i


 ( x i − a ir )
+ 1, a ir ⟨ xi ≤ a ir
−
µ ij ( x i ) = 
∆i


0, outros




(6.32)
Definida a equação 6.32, pode-se implementar as funções de pertinência uniformemente
distribuídas, conhecendo-se apenas o limite inferior (xmin) e o superior (xmax).
6.5.2 Curva do Tipo 2
A utilização de funções de pertinência do tipo 1 pode não ser interessante em situações
onde há concentração de padrões em determinadas regiões e dispersão em outras. Isso poderia
exigir utilização de um número grande de subconjuntos fuzzy [15, 16, 18, 19, 31]. Uma
alternativa para este problema é trabalhar com funções não uniformemente distribuídas (ver
figura 6.13).
Figura 6.13 – Funções de pertinência tipo 2 [15]
A figura 6.14 (a) mostra uma função não-linear, a qual deseja-se aproximar. As técnicas
de fuzzificação são usadas no universo de discurso [0, 10], dividindo em vários subconjuntos
fuzzy, igualmente espaçados (figura 6.14 (b)). A partir do intervalo [5, 10], a função começa a
diminuir a sua não-linearidade. Com isto, pode-se tratar com um menor número de
112
subconjuntos fuzzy (figura 6.14 (c)). Uma maneira de fazer o ajuste das curvas de pertinência é
usar um algoritmo de agrupamento, as redes de Kohonen.
y
(a) Análise de uma função
não-linear
0
5
10
µ(x)
1
(b) Inicialização das
Funções de Pertinência
(uniformemente distribuídas)
0
5
10
µ(x)
REDE DE
KOHONEN
1
(c) Após treinamento
(não uniformemente
distribuídas)
0
5
10
Figura 6.14 – Determinação das funções de pertinência
O algoritmo de agrupamento utilizado é baseado na rede neural auto-organizável de
Kohonen (ver figura 6.15), onde são empregadas m estruturas uma para cada coordenada de
entrada. O número de neurônios na camada de processamento corresponde ao número de
subconjuntos fuzzy para i-ésima coordenada [15, 16, 17, 18, 19, 31]. Com o treinamento da
rede este número pode ser reduzido.
113
Camada de
Entrada
Camada de
Processamento
Figura 6.15 – Rede de Kohonen para determinar os centros das funções triangulares [19]
O treinamento da rede de Kohonen da figura 6.15 é não-supervisionado e competitivo.
Somente o peso da conexão do neurônio vencedor é ajustado. Ao final do treinamento, aqueles
neurônios que tiveram um baixo índice de desempenho, isto é, venceram poucas vezes, são
eliminados da rede. Este procedimento permite determinar o número de funções de pertinência
adequado, e seus respectivos centros. A seguir, o algoritmo de treinamento da rede de
Kohonen para ajustar as curvas de pertinência [16, 19].
Os Passos do Procedimento de Kohonen:
1. Inicializações dos pesos, ou seja, dos centros da curvas de pertinências:
•
Pesos air
Intervalo de análise: [xmin, xmax];
air = ximin, limite inferior;
∆i =
X i max − X i min
, passo para gerar novas funções de pertinência;
p −1
air = ai(r-1) + ∆i, para r =2,3,...,p (p representa o número de funções);
•
Índice de desempenho: idi (r)=0, para r =1, 2,...,p; as funções de
pertinência iniciais são do tipo 1 (ver figura 6.14 (b)). Este
114
procedimento
de
inicialização
geralmente
proporciona
uma
convergência mais rápida que a inicialização aleatória [16, 19].
2. Processo iterativo de aprendizagem:
2.1 Apresentar um padrão p à rede e atualizar o peso da conexão do neurônio
vencedor da seguinte forma:
aiL ( p + 1) = aiL ( p) + η ( p ).[ xi − aiL ( p)]
(6.33)
onde: L é o índice do neurônio vencedor, que é aquele cujo peso da
conexão possui o valor mais próximo de xi, ou seja:
L = arg{min xi − air
}
(6.34)
2.2 Reduzir o passo η(p);
2.3 Atualizar o índice de desempenho do neurônio vencedor, fazendo:
Idi ( L) = d i ( L) + 1
(6.35)
2.4 Verificar o teste de parada (aij (t) – aij (t-1) ≤ ε para todo j:
•
Se não é satisfeito volte ao passo 2.1;
•
Se é satisfeito vá para o passo 3.
3. Fim.
Uma vez definidos o número de funções de pertinência e seus respectivos centros, o
cálculo das mesmas pode ser feito com um número reduzido de operações, utilizando o
conjunto de parâmetros (air, αei e αdir), onde:
α eir =
1
air − air −1
α dir =
1
air − air +1
(6.36)
(6.37)
As equações 6.36 e 6.37 são as derivadas da curva de pertinência à esquerda e direita
de air. Com estes parâmetros o cálculo das funções de pertinência é simplificado, envolvendo
duas operações de soma e uma de multiplicação.
115
α eir .( xi − air ) + 1, air −1 ≤ xi ≤ air


α .( x − a ) + 1, air −1 ⟨ xi ≤ air +1
µij ( xi ) =  dir i ir

0, outros



(6.38)
Assim, as funções de pertinência são ajustadas distribuindo-se não uniformemente
sobre um universo de discurso, (ver figura 6.14 (c)).
No próximo capítulo o modelo NFN-MK é aplicado a estudos de caso, especificamente
em aproximação de funções. Os resultados da eficiência do NFN-MK é comparado com outras
propostas híbridas e com as RNA´s.
6.6 Conclusão
Neste capítulo foram mostradas as estruturas dos sistemas: neurofuzzy Neo-FuzzyNeuron (NFN), com o seu respectivo algoritmo de aprendizagem e o algoritmo de
agrupamento ou redes de Kohonen. A proposta é apresentar uma nova estrutura para a rede
NFN de Yamakawa, que permite ajustar as curvas de pertinência pelas redes de Kohonen.
Assim o novo sistema proposto foi chamado de Neo Fuzzy Neuron Modificado por Kohonen
(NFN-MK) que será aplicado à aproximação de funções.
CAPÍTULO 7
VALIDAÇÃO E ESTUDOS DE CASOS
Este capítulo apresenta estudos de casos realizados com o modelo computacional
híbrido, o Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK). Os estudos estão
associados a problemas de aproximações de funções, os quais serão descritos por um conjunto
de funções fuzzy.
7.1 Introdução
Os aproximadores de funções são normalmente módulos de um sistema mais
complexo de modelagem, como os de tomada de decisão e de controle [70]. Em tais sistemas,
freqüentemente é necessário o cálculo de valores de funções ou de suas derivadas em pontos
específicos. As expressões analíticas destas funções podem ser de difícil cálculo ou mesmo
não estarem disponíveis. Nestes casos, são necessários sistemas capazes de aproximar o
comportamento de tais funções a partir de dados práticos existentes.
As funções do sistema são desconhecidas, sendo possível apenas obter amostras ou
estimativas do valor de cada função para vetores de entrada, definidos de forma a explorar
adequadamente o espaço de aproximação. Nas funções multivariáveis foi adotado o mesmo
procedimento utilizado por Hwang (HWANG, 1994 apound LIMA; LIMA, 1998), isto é, para
produzir um conjunto de dados de treinamento, foram gerados pares de entrada (x1, x2), com
base em uma distribuição uniforme em um intervalo[xmín, xmax].
Na validação do modelo NFN-MK, foram realizados quatro experimentos. A escolha
dos mesmos deve-se ao fato de serem empregados por outros autores na área de identificação
de sistemas com técnicas híbridas deIA.
Os sistemas modelados como sistemas reais têm seus comportamentos descritos pelas
curvas: seno (1° caso), chapéu mexicano (2° caso), radial (3° caso) e não-linear (4° caso). As
curvas selecionadas como estudo de casos apresentam algumas motivações:
117
• Estas curvas foram casos de outros trabalhos, como [25, 50, 58, 70, 84, 91];
• A função sen(x) representa os fenômenos cíclicos e periódicos encontrados na
natureza;
• A curva sinc(x1, x2), conhecida como “chapéu mexicano”, ilustra um fenômeno
próximo à ruptura de superfícies quando submetidas a forças internas, distribuídas
em uma região/área;
• Já a curva radial apresenta a forma de gota em uma superfície líquida;
• A função não-linear do 4° caso é a composição das funções: rampa, degrau e
dente de serra.
Os três primeiros experimentos são considerados quase que clássicos, logo
importantes na literatura da área.
7.2 Estudos de Casos
Esta seção apresenta os resultados experimentais da eficácia do NFN-MK, em casos
práticos de aproximações de funções. Os resultados obtidos dos três primeiros casos são
comparados com as técnicas das redes neurais, bem como outros sistemas híbridos. Já o
último caso é comparado com a rede NFN original de Yamakawa [96].
O modelo proposto NFN-MK e as redes neurais apresentadas nesta seção foram
implementados computacionalmente, usando Visual Basic(VB). O software Matlab auxiliou
nas simulações das funções de multivariáveis.
7.2.1 Estudo de Caso: Função Seno
Neste 1° caso a função
f ( x) = sen (x ), vista na figura 7.1 descreve o
comportamento de um sistema real típico, com características periódicas. Assim,
f ( x) = sen (x ) será aproximada pelo NFN-MK proposto, e para contrastar quanto à sua
eficiência, esta função será também avaliada com umaRNA clássica.
118
Estudo de Caso 1:
Função de Saída
1.2
0.8
0.4
0.0
Função sen(x)
-0.4
-0.8
-1.2
0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4
Variável de Entrada
Figura 7.1 – Função f ( x) = sen (x ) a ser aproximada
O domínio da função é definido dentro de um arco real, mas neste estudo será
analisada no intervalo de [0, 6.3], com a imagem compreendida entre [-1, 1], ou seja, em
período completo da função [0, 2π].
a) Modelo NFN-MK:
A estrutura do NFN-MK para a função sen (x ) é dada na figura 7.2. A mesma será
aproximada com sete funções de pertinência do tipo triangular, uniformemente distribuídas no
intervalo de discurso [0, 6.3].
O modelo mescla as técnicas fuzzy, redes neurais e a rede de Kohonen. A lógica das
chaves S1 e S2 esta descrita no capítulo 6, seção 6.2. No treinamento da rede neurofuzzy com
rede de Kohonen (chaves S1 fechada e S2 aberta), novas curvas triangulares são obtidas, as
quais representam uma maior precisão e conhecimento sobre o sistema em estudo [64].
119
Modelo
NFN-MK
F11
w11
F12
S2
•
•
•
•
w12
•
•
•
•
•
•
F16
w16
F17
w17
∑
y
Rede NFN
x
a11
1
a12
d1
d2
2
•
•
S1
•
•
Geração dos novos
centros das funções de
pertinências
•
•
•
a16
d6
6
a17
d7
7
Rede de Kohonen
Figura 7.2 – Rede NFN-MK usada na aproximação da função sen (x )
Na figura 7.2: x é a entrada da rede NFN-MK;
Fip a função de pertinência da etapa NFN;
wip os pesos da etapa NFN;
aip centro das funções de pertinência Fip;
dp é a distância Euclidiana, entre a entrada e o centro da curva de pertinência;
i é o número de entradas e p o número de funções de pertinência;
y é a saída da rede NFN-MK.
120
As quantidades das funções de pertinência no universo de discurso estão baseadas nas
experiências de [82], que mostraram que uma mudança de5 conjuntos triangulares para 7
aumenta a precisão em torno de uns 15%. A partir de valores maiores não há melhorias
significativas. Os rótulos tradicionais num sistema industrial para sete conjuntos de
pertinência são: Negativo Grande (NB), Negativo Médio (NM), Negativo Pequeno (NS), Zero
(ZE), Positivo Pequeno (PS), Positivo Médio (PM) e Positivo Grande (PB).
O formato triangular das funções é devido à facilidade de geração e tratamento na
fuzzificação e defuzzificação. Assim, para cada variável pode-se ter um conjunto de funções
de pertinência diferente, com diversas distribuições.
Os parâmetros do algoritmo de treinamento da rede NFN-MK, descrita no capítulo 6,
pode ser vista na tabela 7.1.
Tabela 7.1 – Dados de treinamento do NFN-MK
Dados de Treinamento da Rede NFN-MK
Número de entradas: 1;
Limite inferior da entrada:0;
Limite superior da entrada: 6.3;
Número de saídas: 1;
Número de funções de pertinência: 7;
Passo p: número de padrões;
Fator de aprendizado inicial:1;
Fator de aprendizado da rede de Kohonen: η ( p) = η ( p − 1).0.9999 ;
Critério de convergência da rede de Kohonen: 0.1;
Inicialização dos pesos: 1;
Número de padrões: 64;
Critério de convergência da rede da NFN: 100 épocas;
Treinamentos: Não-supervisionado (etapa de Kohonen) e supervisionado (etapa NFN).
Na geração das funções de pertinência é preciso determinar os parâmetrosNs (número
de funções de pertinência), ∆i, ximin, e ximax, para i = 1 (número de entradas). Da tabela 7.1
pode-se extrair os valores de ximin = 0 e ximax = 6.3. Com isto, tem-se:
121
∆1 =
x1 max − x1 min 6.3 − 0
=
= 1.05
Ns − 1
7 −1
(7.1)
As funções de pertinência iniciadas são uniformemente distr
ibuídas para a coordenada
x, como pode ser visto na figura 7.3.
Funções de Pertinências
Curvas Iniciais do Sistema
1.2
Negativo Grande (NB)
1
Negativo Médio (NM)
0.8
Negativo Pequeno (NS)
0.6
0.4
Zero (ZE)
Positivo Pequeno (PS)
0.2
Positivo Médio (PM)
0
0.00
Positivo Grande (PB)
1.05
2.10
3.15
4.20
5.25
6.30
Variável de Entrada
Figura 7.3 – Funções triangulares eqüidistantes para f ( x) = sen (x )
Após a geração das curvas triangulares é aplicada a redeKohonen para gerar os novos
centros das funções triangulares. Na figura 7.4, são mostradas as novas curvas de pertinência
com seus centros deslocados em relação às curvas iniciais (ver figura 7.3).
Curvas Obtidas pelo Sistema NFN-MK
Funções de Pertinências
1.2
Negativo Grande (NB)
1
Negativo Médio (NM)
0.8
Negativo Pequeno (NS)
0.6
Zero (ZE)
0.4
Positivo Pequeno (PS)
0.2
Positivo Médio (PM)
0
0.00
Positivo Grande (PB)
1.00
2.00
3.00
4.00
5.00
6.00
Variável de Entrada
Figura 7.4 – Funções triangulares não uniformemente distribuídas para f ( x) = sen (x )
122
Em resumo, os vértices das curvas triangulares são encontrados via rede de Kohonen,
com as chaves S1 fechada e S2 aberta. As sete funções iniciadas pelo modelo foram ajustadas
para seis. Na tabela 7.2 são mostrados os novos parâmetros para os centros (C), limites à
esquerda (LE) e à direita (LD) das funções de pertinência e os pesos iniciais ( winicial ) e finais
( w final ) da rede NFN. No treinamento do NFN-MK, os valores de entrada (x) foram gerados
aleatoriamente no intervalo[0, 6.3].
Tabela 7.2 – Parâmetros da modelagem da função f ( x) = sen (x )
Parâmetros Iniciais
Curvas
LE
C
LD
NB
0
0
NM
0
NS
Novos Parâmetros
LE
C
LD
w final
1.05
0
0
0
-0.29
1.05
2.10
0
0
1.80
0.29
1.05
2.10
3.15
0
1.80
2.80
1.13
ZE
2.10
3.15
4.20
1.80
2.80
3.80
0.30
PS
3.15
4.20
5.25
2.80
3.80
4.80
-0.60
PM
4.20
5.25
6.30
3.80
4.80
6.30
-1.19
PB
5.25
6.30
6.30
4.80
6.30
6.30
-0.28
winicial
1
A atualização dos pesos (wi) é realizada para cada padrão de entrada (xi), conforme
equação 7.2, onde, µi é o grau de pertinência de um subconjunto fuzzy. No capítulo 6 são
evidenciados os procedimentos de atualização dos pesos e a obtenção da taxa de aprendizado.
wikj +i 1 = wikj i − α j .( ytj − ytd ).µik i ( xti )
(7.2)
O passo (α), que no treinamento de redes neurais ou sistemas neurofuzzy é chamado
de taxa de aprendizado, é determinado pela equação 7.3. Este método de obtenção dinâmica é
proposto por [19] (ver seção 6.3.2) , porque a função objetivo do NFN a ser minimizada é
quadrática e convexa.
α=
1
n
∑µ
i =1
ik i
( xi ) 2 + µik i +1 ( xi ) 2
(7.3)
123
A figura 7.5 ilustra a influência da escolha da taxa de aprendizado na convergência do
modelo NFN-MK, onde se mostra a evolução do erro quadrático médio para diferentes tipos
de taxa de aprendizagem. Para uma melhor visualização dos resultados foram apresentados
até a sexta época.
Erro Quadrático Médio
Influência da Taxa de Aprendizado
0.15
0.12
Taxa Dinâmica
0.09
Taxa = 0.5
Taxa = 0.2
0.06
Taxa = 0.8
0.03
0
1
2
3
4
5
6
Número de Épocas
Figura 7.5 – EQM para diferentes taxas de aprendizagem.
A tabela 7.3 mostra o erro quadrático médio após as 100 épocas de treinamento. Cada
época consiste na apresentação dos 64 padrões de entradas, distribuídos no intervalo [0,6.3] .
Tabela 7.3 – EQM final
Taxas de Aprendizagem
Erro Quadrático Médio (EQM)
Taxa Dinâmica
0.001539
Taxa = 0.2
0.003754
Taxa = 0.5
0.003219
Taxa = 0.8
0.002459
No entanto, a taxa ajustada dinamicamente (equação 7.3) possibilita uma melhor
convergência. Após a obtenção das curvas de pertinência e do treinamento, a redeNFN-MK é
submetida a um teste com 33 amostras (ver figura 7.6).
124
Fase de Teste da Rede NFN-MK
1.2
Função de Teste
0.8
0.4
Sen(x)
0
Fase de Teste
-0.4
-0.8
-1.2
0
0.8
1.6
2.4
3.2
4
4.8
5.6
6.4
Variável de Entrada
Figura 7.6 – Fase de teste do NFN-MK para f ( x) = sen (x )
Assim, pode-se avaliar a capacidade de generalização do mapeamentoNFN-MK com
relação ao tipo de entrada do sistema. A tabela 7.4 apresenta análise dos valores analíticos
(função f ( x) = sen (x )) e valores obtidos pelo teste do modelo NFN-MK.
Tabela 7.4 – Análise de resultados da função f ( x) = sen (x )
Entradas
Saída Real
Saída do Modelo
Erro
Arbitrárias
(Valor Analítico)
(NFN-MK)
(Valor Absoluto)
0.5
0.479426
0.507716
0.02829
2.3
0.745705
0.732683
0.01302
4.2
-0.87158
-0.83545
0.03613
5.7
-0.55069
-0.52526
0.02543
Após a apresentação de alguns valores, será ilustrado manualmente o cálculo da
entrada x = 4.2 no modelo computacional NFN-MK, onde o valor a ser calculado reproduz o
comportamento do sistema real. Este valor é fuzzificado e cruza as curvas de pertinênciaPS e
PM da figura 7.4, resultando nas pertinênciasµ PS = 0.6 e µ PM = 0.4 .
A partir da definição das curvas de pertinênciaPS e PM, os pesos são obtidos pela
última coluna da tabela 7.2. Assim, aplicando-se a equação 7.4, apresentada no capítulo 6,
f i ( xi ) = µik i ( xi ).wik i + µik i +1 ( xi ).wik i +1
(7.4)
125
tem-se:
f ( x = 4.2) = (0.6).(−0.60) + (0.4).(−1.19) = −0.836
(7.5)
Na tabela 7.4 pode-se obter o valor analítico, dado por -0.87158 e o valor simulado
dado por -0.83545, próximo ao valor acima. A diferença deve-se à precisão numérica da
máquina.
Na fase de teste pode-se ver que o modelo proposto conseguiu modelar a
função f ( x) = sen (x ), apesar de poucas épocas usadas na etapa do treinamento.
b) Método das RNA’s:
A figura 7.7 mostra a arquitetura da RN usada para modelar a função f ( x) = sen (x ). A
estrutura da rede escolhida possui uma entrada x, uma saída y e sete neurônios na camada
escondida (intermediária), com algoritmo de treinamento clássico backpropagation para
ajustar os pesos w. A definição da arquitetura da RNA com sete neurônios na camada
intermediária é em analogia com o modelo computacionalNFN-MK, que usa sete funções de
pertinência para modelar a função f ( x) = sen (x ).
126
Variáveis de
Entradas
Camada Escondida
Neurônio de Saída
Variável
de Saída
1
w11
2
w12
3
w13
w18
w28
w38
x
4
w14
w15
w48
8
f(x)
w58
5
w68
w16
6
w78
w17
7
Figura 7.7 – RNA utilizada na aproximação da funçãosen(x)
A função de ativação (transferência) escolhida para os neurônios da camada escondida
foi à função tangente hiperbólica (equação 7.6); já para o neurônio de saída é a função linear
(equação 7.7).
f ( x) =
e β .x − e − β . x
= tanh(β .x )
e β .x + e − β .x
f ( x) = δ . x
onde: β é o ganho da função tangente hiperbólica;
δ é o ganhos da função linear;
x é a variável de entrada.
(7.6)
(7.7)
127
O algoritmo backpropagation utiliza as derivadas das funções de ativação. A equação
7.8 mostra a derivada da função tangente hiperbólica.
f ( x)' = β .(1 − f ( x) 2 )
(7.8)
Verifica-se que a arquitetura do tipo perceptron com uma única camada intermediária
e sete neurônios nesta camada foi capaz de aproximar a função f ( x) = sen (x ). A apresentação
dos padrões de treinamento da rede é do tipo aprendizado off-line (ver tabela 7.5).
Tabela 7.5 – Dados de treinamento da função f ( x) = sen (x )
Dados Utilizados Para Treinamento
Número de entradas: 1;
Número de saídas: 1;
Inicialização dos pesos: 1;
Fator de aprendizado: 0.5;
Ganho da função de ativação tangente hiperbólica(β): 0.8;
Ganho da função de ativação linear (δ): 0.5;
Número de padrões: 64;
Critério de convergência da RN: 100 épocas;
Aprendizado: Backpropagation (supervisionado).
Os parâmetros adotados na rede foram escolhidos aleatoriamente. Então, o processo de
minimização do erro não tem convergência garantida, e não possui um critério de parada bem
definida. Uma forma simples de reduzir as chances de se ficar preso em um mínimo local é
escolhendo um conjunto de parâmetros ótimo [50].
Segundo [50], variar o ganho da função de ativação é equivalente a variar a taxa de
aprendizagem junto ao vetor de parâmetros ajustáveis (pesos). Isto simplifica a regra de
aprendizagem eliminando um destes parâmetros. O fator de aprendizado controla a velocidade
da aprendizagem, aumentando ou diminuindo o ajuste dos pesos que é efetuado a cada
iteração durante o treinamento. Logo, foi usado um algoritmo genético (desenvolvida por
Johan Holland no final dos anos 60) para encontrar o ganho ideal das funções de ativação, no
caso os parâmetros β e δ das equações 7.6 e 7.7. Essa técnica vem sendo aplicadas com
sucesso nos mais diversos problemas de otimização e aprendizagem de máquina [6, 12, 64,
128
77, 91]. O software utilizado foi o Goal, que permite programar em Visual Basic. Na tabela
7.6 podem-se ver os valores otimizados do ganhos das funções de ativação.
Tabela 7.6 – Ganhos otimizados pelo algoritmo genético
Dados Otimizados por Algoritmo Genéticos
Número de entradas: 1;
Número de saídas: 1;
Inicialização dos pesos: 1;
Fator de aprendizado: 0.5;
Ganho da função de transferência tangente hiperbólica (β *): 0.45768;
Ganho da função de transferência linear (δ *): 1.2897;
Número de padrões: 64;
Critério de convergência da RN: 100 épocas;
Treinamento: Backpropagation (supervisionado).
Na simulação, para se obter os ganhos ideais das funções de ativação foram usados os
seguintes parâmetros para o software Goal:
• Tamanho da População: 30;
• Número de Gerações: 100;
• Etapa da Reprodução: crossover por dois pontos;
• Taxa de Reprodução: 0.85;
• Etapa da Mutação: taxa = 0.005;
• Taxa de Seleção: 0.85.
A figura 7.8 mostra a função tangente hiperbólica em um intervalo[-5, 5], para os
ganhos atribuídos aleatoriamente(β ) e os ganhos obtidos pelo algoritmo genético (β *).
129
Função Tangente Hiperbólica
Variável de Saída
1,5
1
0,5
Ganho aleatório
Ganho obtido pelo método AG
0
-0,5
-1
-1,5
-5
-4
-3
-2
-1
0
1
2
3
4
5
Variável x
Figura 7.8 – Função tangente hiperbólica
Já na figura 7.9 é mostrado o comportamento das suas derivadas, que são usadas no
cálculo de aprendizagem (algoritmobackpropagation).
Derivada da Função Tangente Hiperbólica
Variável de Saída
2
1,5
Ganho aleatório
1
0,5
Ganho obtido pela técnica AG
0
-0,5
-5
-4 -3
-2 -1
0
1
2
3
4
5
Variável x
Figura 7.9– Derivada da função tangente hiperbólica
A figura 7.10 mostra a função na fase de treinamento, onde foram usados64 pontos de
treinamento (pares de entradas/saídas desejadas).
130
Fase de Treinamento
Função Sen(x)
1.2
Sen(x)
0.8
0.4
Ganhos Arbitrários
0.0
-0.4
Ganhos Obtidos por
AG
-0.8
-1.2
0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4
Variável de Entrada
Figura 7.10 – Fase de treinamento da RN para os ganhos arbitrários e obtidos por AG
A rede neural com os ganhos obtidos pela técnica de AG modelou a curva analítica
f ( x) = sen (x ) mais corretamente que a rede com ganhos arbitrários.
A comparação entre a saída desejada (yd) e a saída da rede (yobtida ) é realizada pela
função do Erro Quadrático Médio (EQM), ver equação 7.9.
EQM =
1 N
.∑ ( y (t )d − y obtido (t )) 2
N t =1
(7.9)
onde N é o número de padrões e para cada N padrões de treino tem-se uma época.
Já a figura 7.11 mostra a evolução do EQM para 100 épocas, observa-se que houve
uma redução no EQM devido aos ganhos otimizados pelo AG.
131
Erro Quadrático Médio
(EQM)
Comparação dos EQM
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0
Ganhos Arbitrários
Ganhos Obtidos
por AG
1
34
67
100
Épocas
Figura 7.11 – Evolução do EQM para os ganhos arbitrários e obtidos por AG
No entanto, estimar o número/valores de parâmetros é uma tarefa árdua que requer
conhecimento sobre a complexidade do problema [13]. Este conhecimento normalmente não
está disponível, principalmente tratando-se de problemas multidimensionais.
A capacidade de mapeamentos complexos das redes neurais cresce com o número de
camadas e neurônios. Entretanto, este aumento acarreta maior tempo de processamento, o que
é um fator importante em implementação em sistemas de tempo real. A convergência de
métodos de otimização não-linear depende da condição inicial e do comportamento da função
objetivo. Logo, a convergência não é assegurada, podendo às vezes apresentar um erro
significativo mesmo após um período tempo de treinamento [16, 70].
A figura 7.12 apresenta o resultado da fase de teste da rede neural da figura 7.7. As
considerações sobre esta RN foram feitas ao longo desta seção, como parâmetros e topologia.
132
Função de Teste
Fase de Teste da Rede Neural
1.5
1.0
0.5
Sen(x)
0.0
-0.5
Fase de Teste
-1.0
-1.5
0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4
Variável de Entrada
Figura 7.12 – Fase de teste da rede neural
Já a figura 7.13 mostra a evolução do EQM em função das épocas (na fase de
treinamento) do modelo proposto NFN-MK, e da RN com os ganhos obtidos por AG e RN
com ganhos arbitrários. Para uma melhor visualização o gráfico foiplotado até a décima
época.
Erro Quadrático
Médio
Evolução do EQM
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0
RNA
RNA + AG
NFN-MK
1.0
4.0
7.0
10.0
Épocas
Figura 7.13 – Comparação entre os erro quadrático médio
Pode-se observar que o EQM para o NFN-MK é menor quando comparado com a RNA
e RNA + AG (ver figura 7.13). Na performance da rede neural foi necessário utilizar uma
técnica de apoio, o AG. Já a rede neurofuzzy NFN-MK proposta na dissertação dispensa o
133
auxílio do AG e tem a vantagem de convergir para uma aproximação com poucas épocas. Esta
rápida convergência possibilita a utilização da redeNFN-MK em tempo real.
A tabela 7.7 resume o número de operações envolvidas nas duas estruturas (para
detalhes ver tabela 6.2).
Tabela 7.7 – Comparação entre a RNA e o NFN-MK para a função f ( x) = sen (x )
Modelos
Operações de
Operações de
Cálculos de
Avaliados
Multiplicação
+ e/ou -
Funções
RNA
n.p + p.m = 14 n.p + p.m = 14
[n,p,m] = [1,7,1]
NFN-MK
p+m=8
(funções tangente hiperbólica e linear)
2.n.m = 2
n.m + n = 2
[n,p,m] = [1,6,1]
n=1
(função linear)
O número de operações e cálculo de funções no NFN – MK é menor que na RNA.
Assim o tempo de processamento do sistema NFN-MK é inferior, comparado com a RNA. Isso
faz com que seja uma opção atraente em sistemas de tempo real e em treinamentoon-line. O
modelo NFN-MK aparece como uma solução promissora para os problemas encontrados nas
redes neurais.
7.2.2 Estudo de Caso: Função “Chapéu Mexicano”
Uma função matemática com algum interesse em fenômenos reais é a função“chapéu
mexicano” [79], descrita pela equação 7.10.
f ( x1 , x2 ) =
sen( x1 ) sen( x2 )
.
= sin c( x1 , x2 )
x1
x2
(7.10)
Neste estudo de caso as entradas (x1, x2) variaram dentro da área delimitada pelo
quadrado [-10, 10] x [-10, 10] e a saída f ( x1 , x2 ) = sin c( x1 , x2 ) variou no intervalo [-0.21, 1]
(ver figura 7.14). Este intervalo de análise foi escolhido para se poder comparar com os
resultados obtidos por [84].
134
Função f(x1, x2)
Estudo de Caso 2:
Variável x1
Variável x2
Figura 7.14 – Curva chapéu mexicano
O modelo computacional proposto, o NFN-MK, foi comparado com outros sistemas
inteligentes: o NFHQ (Neuro-Fuzzy Hierárquico Quadtree) e FSOM de Vuorimaa,
apresentados por [84] e a rede neural da figura 7.7.
a) Modelo NFN-MK:
A função f ( x1 , x2 ) = sin c( x1 , x2 ) foi inicialmente aproximada pelo sistema
NFN-MK da figura 7.15.
135
x1
f(x1) = y1
Entradas
Rede NFN-MK
da Figura 7.2
f(x1, x2) = y
∑
x2
Rede NFN-MK
da Figura 7.2
(saída do modelo)
f(x2) = y2
Figura 7.15 – Rede NFN-MK usada na aproximação do chapéu mexicano
Na fuzzificação das entradas (x1, x2), foram usadas sete funções de pertinência do tipo
triangulares, uniformemente distribuídas no intervalo de discurso[-10, 10] x [-10, 10],
conforme figura 7.16.
Funções de
Pertinências
Curvas Iniciais do Sistema
1,2
1
0,8
0,6
0,4
0,2
0
-10,00 -6,67
Negativo Grande (NB)
Negativo Médio (NM)
Negativo Pequeno (NS)
Zero (ZE)
Positivo Pequeno (PS)
Positivo Médio (PM)
Positivo Grande (PB)
-3,33
0,00
3,33
6,67
10,00
Variável de Entrada
Figura 7.16 – Funções triangulares para f ( x1 , x2 ) = sin c( x1 , x2 )
Na implementação da rede de Kohonen novas funções de pertinência foram obtidas
(ver figura 7.17). O modelo otimizou o sistema para seis funções, que representam uma maior
precisão e conhecimento sobre o sistema em estudo. No treinamento foram usados 225
padrões de entradas/saídas.
136
Funções de Pertinências
Curvas Obtidas pelo Sistema NFN-MK
1,2
Negativo Grande (NB)
1
Negativo Médio (NM)
0,8
Negativo Pequeno (NS)
0,6
Zero (ZE)
0,4
Positivo Pequeno (PS)
0,2
Positivo Médio (PM)
0
-10,0
-8,0
-6,0
-4,0
-2,0
0,0
2,0
4,0
6,0
8,0
10,0
Positivo Grande (PB)
Variável de Entrada
Figura 7.17 – Funções triangulares não uniformes para f ( x1 , x2 ) = sin c( x1 , x2 )
A tabela 7.8 apresenta as grandezas usadas na fase de aprendizagem da rede de
Kohonen e NFN. Os parâmetros usados para as duas entradas (x1, x2) do modelo
computacional são idênticos.
Tabela 7.8 – Dados de treinamento do NFN-MK
Dados de Treinamento da Rede NFN-MK
Número de entradas: 2;
Limite inferior da entrada:-10;
Limite superior da entrada: 10;
Número de saídas: 1;
Número de funções de pertinência: 7;
Passo p: número de padrões;
Fator de aprendizado inicial:1;
Fator de aprendizado da rede de Kohonen: η ( p) = η ( p − 1).0.9999 ;
Critério de convergência da rede de Kohonen: 0.1;
Inicialização dos pesos: 1;
Número de padrões: 225;
Critério de convergência da rede da NFN: 10 épocas;
Treinamentos: Não-supervisionado (etapa de Kohonen) e supervisionado (etapa NFN).
137
As funções triangulares uniformemente distribuídas (iniciadas pelo algoritmo) são
ajustadas pela rede de Kohonen. A tabela 7.9 apresenta os novos parâmetros para os centros
(C), limites esquerdo (LE) e limites direito (LD) das funções triangulares; os parâmetros são
iguais para as duas entradas, pois o intervalo é o mesmo. Já os pesos iniciais ( w1, 2inicial ) são
ajustados pela rede NFN, onde w final representa os pesos finais para as entradasx1 e x2.
Tabela 7.9 – Parâmetros da modelagem da função f ( x1 , x2 ) = sin c( x1 , x2 )
Parâmetros Iniciais
Curvas
LE
C
LD
NB
-10
-10
NM
-10
NS
Novos Parâmetros
LE
C
LD
w1 final
w2 final
-6.67
-10
-10
-3.5
0.0715
-0.0643
-6.67
-3.33
-10
-3.5
-0.2
-0.1414
0.0103
-6.67
-3.33
0
-3.5
-0.2
3.2
0.5154
0.4973
ZE
-3.33
0
3.33
-0.2
3.2
6.5
-0.0824
0.0321
PS
0
3.33
6.67
3.2
6.5
10
0.0143
0.1714
PM
3.33
6.67
10
6.5
10
10
0.0739
-0.0463
PB
6.67
10
10
10
10
10
0
0.0358
w1,2 inicial
1
Após a obtenção das novas funções de pertinência e da fase de treinamento (225
padrões de entrada/saídas e 10 épocas), a rede NFN-MK é submetida a um teste de
aproximação, com 88 pontos de entrada (ver figura 7.18). A taxa de aprendizado do modelo
em estudo é obtida pela equação 7.3, ou seja, a taxa dinâmica.
138
Figura 7.18 – Fase de teste em 3D da função chapéu mexicano
O gráfico da figura 7.19 é mostrado em 2D para uma melhor visualização dos
resultados apresentados.
Fase de Teste da Rede NFN-MK
1.2
Função de Teste
1
0.8
Função Chapéu
Mexicano
Fase de Teste
0.6
0.4
0.2
0
-0.2
-10
-8
-6
-4
-2
0
2
4
6
8
10
Entradas
Figura 7.19 – Fase de teste em 2D da função chapéu mexicano
A tabela 7.10 apresenta análise de valores analíticos (função f ( x1 , x2 ) = sin c( x1 , x2 ) ) e
valores obtidos pelo teste do modelo computacional NFN-MK.
139
Tabela 7.10 – Análise de resultados função f ( x1 , x2 ) = sin c( x1 , x2 )
Entradas Arbitrárias
Saída Real
Saída do Modelo
Erro
x1
x2
(Valor Analítico)
(NFN-MK)
(Valor Absoluto)
-9.8
-9.8
0.001398
0.002917
0.001519
-1.1
1.1
0.656405
0.644591
0.118140
-0.7
0.7
0.846972
0.782360
0.646120
-0.1
0.1
0.996671
0.950429
0.046242
2
2
0.206705
0.281905
0.075200
3
-3
0.002213
0.001689
0.000524
4.4
4.4
0.046774
0.044088
0.002686
Após a apresentação de alguns valores, será ilustrado manualmente o cálculo para as
entradas x1 = -0.1 e x2 = 0.1, no modelo computacional NFN-MK, onde o valor a ser
calculado reproduz o comportamento do sistema real. As entradas são fuzzificadas e
cruzam as curvas de pertinência ZE e NS para a entrada x1 = -0.1, resultando nas
pertinências µ ZE = 0.0294 e µ NS = 0.9706 .
Já
para
a
entrada x2 = 0.1, tem-se
as
pertinências µ ZE = 0.0882 e µ NS = 0.9118 . O gráfico 7.17 mostra as funções de pertinência
em questão.
A partir da definição das curvas de pertinênciaZE e NS, os pesos são obtidos pelas
duas últimas colunas da tabela 7.10. Assim, aplicando-se a equação 6.3, tem-se:
f1 ( x1 = −0.1) = (0.0294).(−0.0824) + (0.9706).(0.5154) = 0.4978
f 2 ( x1 = 0.1) = (0.0882).(0.0321) + (0.9118).(0.4973) = 0.4562
∑f
(7.11)
= f1 ( x1 = −0.1) + f 2 ( x2 = 0.1) = 0.9540
Na tabela 7.10 pode-se obter o valor analítico, dado por 0.996671 e o valor simulado
dado por 0.950429, próximo ao valor acima. A diferença deve-se à precisão numérica da
máquina.
O modelo NFN-MK aproximou a função f ( x1 , x2 ) = sin c( x1 , x2 ) satisfatoriamente na
fase de teste; na etapa de treinamento foram usadas 10 épocas e 225 pares de entradas/saídas.
140
b) Método NFHQ:
A figura 7.20 mostra a arquitetura da rede usada para aproximar a função em estudo.
Na fase de treinamento foi utilizado um conjunto de dados de225 amostras. O modelo NFHQ
começou com uma célula e sua estrutura foi crescendo para minimizar oEQM. Ao todo,
foram utilizados 64 parâmetros livres, relativos aos singletons (pulsos) dos conseqüentes das
regras e alocadas 21 células NFHQ. A função singleton é freqüentemente usada como função
de pertinência para saídas de controladores fuzzy, que simplificam os cálculos dos métodos de
defuzzificação.
Célula
NFHQ
Conseqüentes
das Regras
Figura 7.20 – Rede NFHQ usada na aproximação da curva chapéu mexicano [84]
Esta seção utiliza o EQM da rede NFHQ o qual é comparado com o erro do modelo
NFN-MK. Detalhe sobre a rede NFHQ pode ser encontrado no trabalho [84]. O erro
quadrático médio obtido pela rede na fase de treinamento é 0.015. A rede NFHQ utiliza como
método de treinamento o gradiente decrescente.
141
c) Método FSOM:
A topologia usada para aproximar a função pode ser vista na figura 7.21, para maiores
detalhes seção 4.2.3 (b). No treinamento também foram utilizados225 dados de amostras.
Figura 7.21 – Rede FSOM na aproximação da curva chapéu mexicano [88]
As funções de pertinência usadas nos antecedentes das regras são triangulares e os
conseqüentes das regras são singletons (pulsos). O FSOM utilizou 100 parâmetros livres,
relativos aos singletons dos conseqüentes. Já o erro quadrático médio obtido após a fase de
treinamento é 0.0314. Maiores informações podem ser encontradas no trabalho [84]. A
apresentação dos padrões são off-line, e usam o método do gradiente decrescente para ajuste
dos conseqüentes.
c) Método das RNA´s:
A topologia da rede neural definida para modelar a função f ( x1 , x2 ) = sin c( x1 , x2 ) é a
mesma da figura 7.22, com duas entradas ( x1 , x 2 ) , sete neurônios na camada escondida e um
na camada de saída. A definição da arquitetura é em analogia com o modelo computacional
NFN-MK.
142
Variáveis de
Entradas
Camada Escondida
Neurônio de Saída
Variável
de Saída
1
w11
2
w18
w21 w w22
12
3
w13
x1
w
w14 23
x2
w25
w26
w17
w38
4
w24
w28
w15
w48
8
f(x1, x2)
w58
5
w68
w16
6
w78
w27
7
Figura 7.22 – RNA utilizada na aproximação da função f ( x1 , x2 ) = sin c( x1 , x2 )
A apresentação dos padrões de treinamento da rede é do tipo aprendizado off-line. A
função de ativação usada nos neurônios da camada escondida é a tangente hiperbólica
(equação 7.6). O neurônio de saída usa uma função linear (equação 7.7) e os parâmetros
foram ajustados pelo método backpropagation (detalhes encontram-se na tabela 7.9).
143
Tabela 7.11 – Dados de treinamento da curva chapéu mexicano
Dados Utilizados Para Treinamento
Número de entradas: 2;
Número de saídas: 1;
Inicialização dos pesos: 0.2 a 1;
Fator de aprendizado: 0.5;
Ganho da função de ativação tangente hiperbólica(β): 0.5;
Ganho da função de ativação linear (δ): 0.8;
Número de padrões: 225;
Critério de convergência da RN: 10 épocas;
Aprendizado: Backpropagation (supervisionado).
A figura 7.23 mostra a rede na fase de treinamento, em que são usados 225 padrões de
treinamento (entradas/saídas) e10 épocas.
Figura 7.23 – Fase de treinamento da RN para a curva chapéu mexicano
A quantidades de operações matemáticas envolvidas naRNA da figura 7.22 é superior
ao modelo NFN – MK (detalhes encontram-se na tabela 7.12).
144
Tabela 7.12 – Comparação entre a RNA e o NFN-MK para f ( x1 , x2 ) = sin c( x1 , x2 )
Modelos
Avaliados
RNA
Operações de Operações de
Multiplicação
+ e/ou -
n.p + p.m = 21 n.p + p.m = 21
[n,p,m] = [2,7,1]
NFN-MK
Cálculos de
Funções
p+m=8
(funções tangente hiperbólica e linear)
2.n.m = 4
n.m + n = 4
[n,p,m] = [2,6,1]
n=2
(função linear)
Portanto, o tempo de processamento do modelo NFN-MK é inferior, quando
comparado com a RNA.
Na tabela 7.13 são comparadas as técnicas de aproximações: Neo-Fuzzy-Neuron
Modificado por Kohonen (NFN-MK), NFHQ (Neuro-Fuzzy Hierárquico Quadtree), FSOM de
Vuorimaa e RNA´s.
Tabela 7.13 – Comparação dos resultados para a função f ( x1 , x2 ) = sin c( x1 , x2 )
Modelos Testados
Número de Padrões
Erro Quadrático Médio (EQM)
NFN-MK
0.0426
NFHQ
0.0150
FSOM
225
RNA´s
0.0314
0.1037
O modelo NFN-MK é uma opção atrativa quando se deseja utilizar técnicas
inteligentes de aproximação de funções, apesar das redes NFHQ e FSOM terem obtido os
menores EQM´s. A explicação para tais resultados é que as redes NFHQ e FSOM usaram um
maior número de parâmetros.
7.2.3 Estudo de Caso: Função Radial
A função descrita pela equação 7.24 e representada na figura 7.24, conhecida como
radial. As entradas (x1, x2) deste trabalho são analisadas no intervalo[0, 1] x [0, 1], com base
no trabalho de Lima (2000).
145
[
]
f ( x1 , x 2 ) = 24,234. r 2 .(0,75 − r 2 ) , onde r 2 = ( x1 − 0,5) 2 + ( x 2 − 0,5) 2
(7.12)
Estudo de Caso
Função f(x1, x2)
3:
Variável x1
Variável
x
Figura 7.24 – Curva radial [50]
[
]
A função f ( x1 , x 2 ) = 24,234. r 2 .(0,75 − r 2 ) é aproximada pelo modelo NFN-MK. e
pela técnica das redes neurais artificiais.
a) Modelo NFN-MK:
A função radial é inicialmente aproximada pelo modeloNFN-MK da figura 7.15. As
entradas (x1, x2) foram fuzzificadas em sete subconjuntos fuzzy uniformemente distribuídos
no intervalo de [0, 1] x [0, 1], conforme a figura 7.25.
146
Funções de
Pertinências
Curvas Iniciais do Sistema
1,2
1
0,8
0,6
0,4
0,2
0
0,00
Negativo Grande (NB)
Negativo Médio (NM)
Negativo Pequeno (NS)
Zero (ZE)
Positivo Pequeno (PS)
Positivo Médio (PM)
Positivo Grande (PB)
0,17
0,33
0,50
0,67
0,83
1,00
Variável de Entrada
Figura 7.25 – Funções triangulares para a função radial
A rede de Kohonen é usada para gerar novas curvas de pertinência, conforme a figura
7.26; o modelo ajustou a quantidade de funções para seis. No treinamento foram usados 21
padrões de entradas/saídas.
Funções de Pertinências
Curvas Obtidas pelo Sistema NFN-MK
1,2
Negativo Grande (NB)
1
Negativo Médio (NM)
0,8
Negativo Pequeno (NS)
0,6
Zero (ZE)
0,4
Positivo Pequeno (PS)
0,2
0
0,00
Positivo Médio (PM)
0,20
0,40
0,60
0,80
1,00
Positivo Grande (PB)
Variável de Entrada
Figura 7.26 – Funções triangulares não uniformes para curva radial
A tabela 7.14 apresenta as grandezas usadas na fase de treinamento do modelo
computacional NFN-MK. Os parâmetros usados para as duas entradas (x1, x2) do modelo
computacional são idênticos. A taxa de aprendizado da etapa NFN é dada pela equação 7.3.
147
Tabela 7.14 – Dados de treinamento do NFN-MK
Dados de Treinamento da Rede NFN-MK
Número de entradas: 2;
Limite inferior da entrada:0;
Limite superior da entrada: 1;
Número de saídas: 1;
Número de funções de pertinência: 7;
Passo p: número de padrões;
Fator de aprendizado inicial:1;
Fator de aprendizado da rede de Kohonen: η ( p) = η ( p − 1).0.9999 ;
Critério de convergência da rede de Kohonen: 0.1;
Inicialização dos pesos: 1;
Número de padrões: 21;
Critério de convergência da rede da NFN: 100 épocas;
Treinamentos: Não-supervisionado (etapa de Kohonen) e supervisionado (etapa NFN).
Na tabela 7.15 são mostrados os parâmetros para os centros (C), limites esquerdos
(LE) e limites da direita (LD) das novas funções triangulares, obtidos pela rede de Kohonen;
os parâmetros são iguais para as duas entradas, pois o intervalo é o mesmo. Os pesos iniciais
( w1, 2inicial ) das entradas x1 e x2 são ajustados pela rede de NFN, onde w final representa os pesos
finais. As grandezas na fase de aprendizagem são as mesmas do modelo que aproximou a
função chapéu mexicano, da seção 7.2.2, exceto o número de padrões e épocas. No
treinamento da rede os pares de entradas x1 e x2 são idênticos, logo os valores dos pesos finais
também são iguais.
148
Tabela 7.15 – Parâmetros da modelagem da função radial
Parâmetros Iniciais
Curvas
LE
C
LD
NB
0
0
NM
0
NS
Novos Parâmetros
LE
C
LD
0.17
0
0
0
-0.66
0.17
0.33
0
0
0.25
2.11
0.17
0.33
0.50
0
0.25
0.45
0.92
ZE
0.33
0.50
0.67
0.25
0.45
0.6
-0.02
PS
0.50
0.67
0.83
0.45
0.6
0.75
0.08
PM
0.67
0.83
1
0.6
0.75
1
1.09
PB
0.83
1
1
0.75
1
1
1.82
w1,2 inicial
1
w1 final
w2 final
O modelo NFN-MK é submetido a um teste de identificação com 21 padrões de
entrada, demonstrado na figura 7.27.
Fase de Teste da Rede NFN-MK
4
Função Radial f(x1,x2)
3.5
X
Função Radial
Fase de Treinamento
3
2.5
2
1.5
1
0.5
0
0
1
0.2
0.4
0.5
0.6
0.8
1
0
x2
x1
Figura 7.27 – Fase de teste em 3D da função radial
149
O gráfico da figura 7.28 é mostrado em 2D, para uma melhor visualização dos
resultados.
Teste Comparativo
Função de Teste
3.8
2.8
Função Radial
Fase de Teste
1.8
0.8
-0.2
0
0.2
0.4
0.6
0.8
1
Entradas
Figura 7.28 – Fase de teste em 2D da função radial
A tabela 7.16 apresenta análise de valores analíticos (função radial) e valores obtidos
pelo teste do modelo NFN-MK.
Tabela 7.16 – Análise de resultados função radial
Saída Real
Saída do Modelo
Erro
(Valor Analítico)
(NFN-MK)
(Valor Absoluto)
0.15
2.998352
2.790945
0.2074
0.3
1.298942
1.370146
0.0712
0.65
0.768824
0.838629
0.0698
0.9
3.334598
3.055852
0.2787
Entradas Arbitrárias
x1
x2
Após a apresentação de alguns valores, será ilustrado manualmente o cálculo para as
entradas x1 = 0.65 e x2 = 0.65, no modelo computacional NFN-MK, que o valor a ser
calculado reproduz o comportamento do sistema real. As entradas são fuzzificadas e
cruzam as curvas de pertinência PS e PM para ambas as entradas, resultando nas
pertinências µ PS = 0.6664 e µ PM = 0.3335 , para ambas as entradas. O gráfico 7.26 mostra as
funções de pertinência em questão.
150
A partir da definição das curvas de pertinênciaPS e PM, os pesos são obtidos pela
última coluna da tabela 7.15. Assim, aplicando-se a equação 6.3, tem-se:
f1 ( x1 = 0.65) = (0.6664).(−0.08) + (0.3335).(1.09) = 0.4169
f 2 ( x2 = 0.65) = (0.6664).(−0.08) + (0.3335).(1.09) = 0.4169
∑f
(7.13)
= f1 ( x1 = 0.65) + f 2 ( x2 = 0.65) = 0.8338
Na tabela 7.16 pode-se obter o valor analítico, dado por 0.768824 e o valor simulado
dado por 0.838629, próximo ao valor acima. A diferença deve-se à precisão numérica da
máquina.
Na fase de teste o modelo computacional NFN-MK modelou a função radial. As
variáveis do modelo foram ajustadas na fase de treinamento, com100 épocas e 21 pares de
entrada/saída. No passo seguinte a mesma função é aproximada por uma RNA´s e será
realizada a comparação entre as duas técnicas computacionais inteligentes.
b) Método das RNA’s:
A definição da rede neural para aproximar a função radial é a mesma da figura 7.22,
com duas variáveis de entrada ( x1 , x 2 ) , sete neurônios na camada escondida e um de saída. A
função de ativação usada nos neurônios da camada escondida é hiperbólica (equação 7.6) e a
linear no neurônio de saída (equação 7.7). A definição da arquitetura da redeRNA (número de
neurônios na camada escondida)é em analogia com as sete funções de pertinência do modelo
computacional NFN-MK.
Na primeira etapa de treinamento são usados 21 padrões de entradas/saídas e 100
épocas. Conforme a quantidade de padrões apresentados no treinamento, a RNA generalizou
seu resultado, conforme a figura 7.29.
151
Figura 7.29 – Fase de treinamento da RN com 21 padrões entrada/saída
De acordo com a figura 7.29, os seus resultados são questionáveis quanto à fase de
treinamento. Então, em uma segunda etapa o número de padrões é elevado para 101 pares de
entradas/saídas, mantendo o número de épocas. Logo, a rede melhorou a modelagem do
problema proposto, conforme a figura 7.30.
Figura 7.30 – Fase de treinamento da RN com 101 padrões entrada/saída
152
A tabela 7.17 descreve os dados na fase de treinamento da rede neural.
Tabela 7.17 – Dados de treinamento da curva radial
Dados Utilizados Para Treinamento
Número de entradas: 2;
Número de saídas: 1;
Inicialização dos pesos: 0.2 a 1;
Fator de aprendizado: 0.5;
Ganho da função de ativação tangente hiperbólica(β): 0.5;
Ganho da função de ativação linear (δ): 0.8;
Número de padrões: 21 e 101;
Critério de convergência da RN: 100 épocas;
Aprendizado: Backpropagation (supervisionado).
A figura 7.31 demonstra a evolução do EQM em função das épocas para as duas
etapas de treinamento, com 21 e 101 padrões de entradas/saídas.
Erro Quadrático
Médio
Evolução do EQM
3
2.5
2
1.5
1
0.5
0
101 padrões de
entrada
21 padrões de
entrada
1 14 27 40 53 66 79 92
Épocas
Figura 7.31 – Comparação entre as etapas de treinamento
Na fase de treinamento da rede NFN-MK são usadas 100 épocas, o erro quadrático
médio (EQM) obtido é de 0.044753. Este erro é comparado com o gráfico 7.31, que são os
erros obtidos pela RNA´s, com 21 e 101 pares de entrada/saída. Conclui-se que o modelo
153
NFN-MK obteve um erro quadrático médio menor, quando comparado com a RNA da figura
7.22. A tabela 7.12 resume o número de operações envolvidas nas duas estruturas.
7.2.4 Estudo de Caso: Função Não-Linear
Nesta seção diferentemente das anteriores o NFN-MK será confrontado com o NFN
original de Yamakawa [96]. Para este comparativo é proposta uma função tipicamente nãolinear como a figura 7.32, onde é formada pela composição das funções: rampa, degrau e
dente de serra. Esta terá seus valores aproximados pelos modelos NFN-MK e NFN original.
Estudo de Caso 4:
Função de Saída
2.5
2
1.5
Função Não-Linear
1
0.5
0
0
2
4
6
8
10
12
14
Variável de Entrada
Figura 7.32 – Função não-linear
O domínio da função é definido no intervalo de [0, 14], a sua imagem esta
compreendida entre [0, 2]. Estas definições são arbitrárias.
A seguir, a tabela 7.18 mostra um comparativo entre a rede NFN original e o modelo
proposto NFN-MK.
154
Tabela 7.18 – Comparativo entre NFN e NFN-MK
Características
NFN
NFN-MK
Formato das Funções de
Curva Tipo 1
Curva Tipo 2
Identificação Prévia das
Método de Distribuição
Método Auto-Organizavel de
Funções de Pertinência
Uniforme
Kohonen
Pertinência
Aprendizados
Supervisionado
(ajuste dos pesos)
Não-Supervisionado (ajuste das
curvas de pertinência) e
Supervisionado (ajuste dos pesos)
A rede NFN original tem funções de pertinência fixas do tipo triangular, ou seja, não
existe algoritmo para ajustá-las. No entanto, o modelo NFN-MK usa a rede de Kohonen para
ajustar as funções de pertinência.
a) Modelo NFN-MK
A estrutura do NFN-MK para a função não-linear é dada na figura 7.2. A mesma é
aproximada por sete funções de pertinência do tipo triangular, uniformemente distribuídas no
intervalo de discurso [0, 14], pode ser vista na figura 7.33. Estas curvas de pertinência para o
NFN original e o NFN-MK, inicialmente são as mesmas. Exceto que noNFN-MK as mesmas
serão reajustadas.
Funções de Pertinências
Curvas Iniciais do Sistema
1.2
1
0.8
0.6
0.4
0.2
0
0.00
Negativo Grande (NB)
Negativo Médio (NM)
Negativo Pequeno (NS)
Zero (ZE)
Positivo Pequeno (PS)
Positivo Médio (PM)
Positivo Grande (PB)
2.33
4.67
7.00
9.33 11.67 14.00
Variável de Entrada
Figura 7.33 – Funções triangulares eqüidistantes para a função não-linear
155
Após o ajuste pela rede de Kohonen, novas curvas de pertinência são obtidas (ver
figura 7.34), onde os centros foram deslocados em relação às curvas iniciais da figura 7.33.
No ajuste das curvas foram usados 1401 padrões de entradas, também arbitrários.
Curvas Obtidas pelo Sistema NFN-NK
Funções de Pertinências
1.2
Negativo Grande (NB)
1
Negativo Médio (NM)
0.8
Negativo Pequeno (NS)
0.6
Zero (ZE)
0.4
Positivo Pequeno (PS)
Positivo Médio (PM)
0.2
Positivo Grande (PB)
0
0.00
2.00
4.00
6.00
8.00
10.00
12.00
14.00
Variável de Entrada
Figura 7.34 – Funções triangulares não uniformemente distribuídas
A sete curvas inicializadas pelo modelo, duas delas se sobrepõe. Na tabela 7.19 são
mostrados os novos parâmetros para os centros (C), limites à esquerda (LE) e à direita (LD)
das funções de pertinência. No treinamento do NFN-MK, os valores de entrada (x) foram
gerados aleatoriamente no intervalo [0, 14].
Tabela 7.19 – Parâmetros das curvas de pertinência da função não-linear
Curvas
Parâmetros Iniciais
N° Padrões: 141
N° Padrões: 1401
Novos Parâmetros
Novos Parâmetros
LE
C
LD
LE
C
LD
LE
C
LD
NB
0
0
2.33
0
0
0.01
0
0
0.02
NM
0
2.33
4.67
0
0.01
6.8
0
0.02
6.99
NS
2.33
4.67
7
0.01
6.8
9.2
0.02
6.99
9.32
ZE
4.67
7
9.33
6.8
9.2
11.5
6.99
9.32
11.65
PS
7
9.33
11.67
9.2
11.5
14
9.32
11.65
14
PM
9.33 11.67
14
11.5
14
14
11.65
14
14
PB
11.67
14
14
14
14
14
14
14
14
156
Os centros das funções de pertinência variam apenas com os números de padrões, o
número de épocas não é usado na rotina da rede de Kohonen.
As atualizações dos pesos (wi) são realizadas para cada padrão de entrada (xi),
conforme equação 7.2. Nesta etapa da simulação o número de épocas esta diretamente ligado
à atualização dos pesos. A figura 7.35 mostra as curvas analíticas e de teste do modelo
NFN-MK para 10 épocas.
Fase de Teste
Função de Saída
2.5
Função Não-Linear
2.0
Modelo NFN-MK
1.5
1.0
Épocas = 10
Padrões = 141
EQM = 0.197
0.5
0.0
0
2
4
6
8
10
12
14
Variável de Entrada
(a)
Fase de Teste
Função de Saída
2.5
Função Não-Linear
2.0
Modelo NFN-MK
1.5
1.0
Épocas = 10
Padrões = 1401
EQM = 0.017
0.5
0.0
0
2
4
6
8
10
12
14
Variável de Entrada
(b)
Figura 7.35 – Fase de teste do NFN-MK: (a) Padrões = 141 e (b) Padrões = 1401
157
Após a simulação pode-se avaliar que o modelo NFN-MK obteve uma melhor
aproximação com um número maior de padrões de entradas/saídas. Outros resultados, por
exemplo: épocas = 100, são mostradas no final, após o comparativo com o NFN original.
b) Rede NFN
A figura 7.2 para a estrutura do NFN é alterada, ou seja, a rotina da rede de Kohonen
é eliminada, como mostra a figura 7.36.
F11
w11
F12
•
•
•
•
•
x
•
•
w12
•
•
•
F16
w16
F17
w17
∑
y
Rede NFN
Figura 7.36 – Estrutura da rede NFN
Assim, a função não-linear proposta é aproximada por sete funções de pertinência do
tipo triangular, uniformemente distribuída no intervalo de discurso (ver figura 7.33).
A figura 7.37 mostra as curvas analíticas e de teste do modelo NFN para diferentes
valores de padrões.
158
Fase de Teste
Função de Saída
2.5
Função Não-Linear
2.0
Rede NFN
1.5
1.0
Épocas = 10
Padrões = 1401
EQM = 0.202
0.5
0.0
0
2
4
6
8
10
12
14
Variável de Entrada
(a)
Fase de Teste
2.5
Função Não-Linear
Função de Saída
2.0
Rede NFN
1.5
1.0
Épocas = 10
Padrões = 1401
EQM = 0.020
0.5
0.0
0
2
4
6
8
10
12
14
Variável de Entrada
(b)
Figura 7.37 – Fase de teste do NFN: (a) Padrões = 141 e (b) Padrões = 1401
A tabela 7.20 sumariza os resultados do EQM (equação 7.9) para a rede NFN e o
modelo NFN-MK com diferentes tipos de padrões e épocas.
159
Tabela 7.20 – Resultados dos EQM
Dados da Simulação
Padrões
Épocas
Erro Quadrático Médio (EQM)
NFN-MK
NFN
0.197
0.202
0.017
0.020
10
141
100
10
1401
100
O EQM da rede NFN-MK diminui com o aumento dos padrões de entrada/saída da
função não-linear proposta, para ambos os modelos. Já a alteração do número de épocas não
influenciou no resultado final para ambas quantidades de entradas/saídas de141 e 1401
padrões.
Finalmente, observa-se pelos valores encontrados para o EQM que o NFN-MK
apresenta um melhor
desempenho que o NFN original.
Com 141 padrões o
EQM NFN − MK = 0.197 e EQM NFN = 0.202 , ou seja, uma diferença de 0.005. No caso de 1401
padrões esta diferença é 0.003. Logo, o NFN-MK se apresenta com uma maior precisão do
que o modelo original.
7.3 Conclusão
Neste capítulo foi mostrado que, ao contrário da abordagem conexionista tradicional, o
modelo proposto permite uma interpretabilidade dos resultados, através da extração do
conhecimento, sob a forma de regras fuzzy. Além das características fuzzy, o modelo
proposto também possui aprendizagem e generalização utilizada nas RNA’s.
Os estudos de casos realizados tiveram como objetivo fundamental demonstrar a
viabilidade e o potencial do modelo proposto (NFN-MK) quando aplicado a problemas com
não-linearidades significativas. Os resultados apresentados são promissores, mas não podem
ser interpretados como conclusivos, inclusive pelo fato de que os problemas abordados neste
trabalho foram escolhidos arbitrariamente.
CAPÍTULO 8
CONCLUSÃO
Este capítulo faz as considerações finais sobre o modelo computacional proposto (Neo
Fuzzy Neuron Modificado por Kohonen), aplicado a experimentos de identificação de funções
não-linerares, e descreve futuros trabalhos envolvendo este modelo.
8.1 Revisão Contextual
Na área de Identificação de Sistemas pode-se modelar um sistema matematicamente,
sendo este linear ou não. No entanto, a não-linearidade implica no aumento da complexidade
do modelamento. Logo, técnicas de Inteligência Artificial (IA) são utilizadas, a fim de
amenizar a identificação do problema em estudo.
O uso individual de diferentes tipos de técnicas de IA pode ter desvantagem,
principalmente na solução de problemas complexos. Por exemplo: no caso dasRedes Neurais
Artificiais (RNA´s) não há procedimentos para especificar o número de neurônios que devem
compor as camadas intermediárias da rede neural e nem o número de camadas intermediárias.
Além disso, para cada aplicação o número de neurônios e camadas são diferentes. Já nos
Sistemas Fuzzy (SF´s), a implementação das etapas de fuzzificação, regras de inferência e
defuzzificação dependem do conhecimento de um especialista, mas este conhecimento, pode
não estar disponível.
Diante das limitações descritas, as redes neurais quando combinadas com os sistemas
fuzzy permitem que parte do conhecimento do especialista seja obtida via treinamento,
resultando em Sistemas Híbridos (SH) com alto poder de adaptação e robustez a ruído [31].
Portanto, um dos objetivos desta dissertação foi à reestruturação do modelo híbrido, o
Neo-Fuzzy-Neuron, que Yamakawa propôs em 1992. Em função deste objetivo, um trabalho
de pesquisa foi realizado sobre as definições dos sistemas fuzzy, redes neurais artificiais e a
simbiose destas técnicas, para obter um Sistema Híbrido.
161
8.2 Problema e Solução Proposta
O trabalho propõe o uso de um modelo híbrido (neurofuzzy) para identificar funções
não-lineares, as quais são de difícil modelamento matemático. O sistema neurofuzzy adotado
nesta pesquisa foi o Neo-Fuzzy-Neuron, que usa funções de pertinência do tipo triangular
(característica da lógica fuzzy) e aprendizado supervisionado (características das redes
neurais) para ajustar os pesos. Com a implementação da rede deKohonen no estágio inicial do
modelamento é possível obter a localização inicial das funções de pertinência para cada
aplicação em estudo. Assim, resulta o modelo computacional Neo-Fuzzy-Neuron Modificado
por Kohonen (NFN-MK), que representa um melhor conhecimento sobre o sistema em
questão e a generalização do mesmo.
8.3 Resultados
O modelo NFN-MK foi submetido ao problema de Aproximação de Funções, que
foram simuladas algumas funções clássicas da matemática (equações 8.1, 8.2 e 8.3), além da
função não-linear (4° caso):
f ( x) = sen (x )
f ( x1 , x2 ) =
[
sen( x1 ) sen( x2 )
.
= sin c( x1 , x2 )
x1
x2
]
f ( x1 , x 2 ) = 24,234. r 2 .(0,75 − r 2 ) , onde: r 2 = ( x1 − 0,5) 2 + ( x 2 − 0,5) 2
(8.1)
(8.2)
(8.3)
A função 8.2 é conhecida como chapéu mexicano e a função 8.3 como radial.
Após o treinamento do modelo proposto, os parâmetros encontrados estão treinados,
então o modelo real da função em estudo pode ser generalizado pelo NFN-MK. A seguir os
resultados do modelo proposto Neo-Fuzzy-Neuron Modificado pela rede de Kohonen (NFNMK):
162
• Uma melhor convergência quando comparado às redes neurais e aoNFN original.
O treinamento NFN-MK não usa derivadas, a exemplo das RNA´s com algoritmo
backpropagation;
• Uma precisão aceitável, quando analisado oErro Quadrático Médio (EQM);
• Na aproximação da função sen(x) foi implementada uma rotina de Algoritmo
Genético (AG) para encontrar os melhores ganhos (β e δ) para as funções de
ativação da rede neural. Assim, pode-se reduzir o EQM. O AG foi implementado
na função sen(x) para avaliar o seu desempenho como uma ferramenta
computacional inteligente de otimização;
• O modelo computacional acompanha às variações da dinâmica do sistema,
adaptando-se após um novo treinamento;
• O baixo custo computacional devido ao número reduzido de operações
matemáticas, comparado às Redes Neurais Artificiais.
Em todos os casos o NFN-MK se mostrou mais eficiente, quando comparado com as
Redes Neurais Artificiais clássicas, implementadas neste trabalho.
8.4 Contribuições
Com os resultados deste trabalho, o modelo Neo-Fuzzy-Neuron Modificado por
Kohonen mostrou ser uma solução alternativa, quando comparado com problemas resolvidos
com RNA´s e SF isoladamente. As seguintes vantagens do modelo proposto:
• O processo de aquisição de conhecimento não depende de um especialista, como
nos sistemas fuzzy e no NFN original. As curvas iniciais de pertinência do tipo
triangulares são iniciadas pela rede de Kohonen, com dados de entradas do
domínio do problema. As funções de pertinência são do tipo triangulares, pois
esse formato de curva tem a vantagem de ser computacionalmente simples. Num
formato trapezoidal há mais pontos a serem considerados;
• No projeto de uma rede neural tem que ser definidos os números de neurônios e
camadas escondidas, o que não é fácil. Já no modelo Neo-Fuzzy-Neuron
Modificada por Kohonen o número de neurônios da primeira camada é substituído
163
por
sete funções de pertinência
e não existem
camadas escondidas
(intermediárias);
• A rede Neo-Fuzzy-Neuron Modificada por Kohonen soluciona o problema de
mínimos locais encontrados nas redes neurais multicamadas. A função objetiva a
ser minimizada no processo de treinamento é quadrática e convexa (ver equação
6.2).
Essas vantagens evitam que várias estruturas sejam testadas na busca de um
desempenho ótimo para um determinado problema. Isto significa no caso de redes neurais
determinar empiricamente o melhor número de camadas escondidas, e de elementos
processadores (neurônios) por camada. No caso de sistemas fuzzy, significa encontrar o
melhor número de partições do universo de discurso para cada variável de entrada.
8.5 Trabalhos Futuro
As perspectivas de trabalhos futuro em desenvolvimentos a partir do modelo
computacional proposto, Neo-Fuzzy-Neuron (NFN) estão listadas a seguir:
• Implementar o modelo NFN-MK em um pacote de software (toolbox) para
Matlab. O qual é aplicado ao estudo e análise das áreas de controle, identificação
de processos, processamento de sinais, etc;
• Testar outros tipos de funções de pertinência, além das triangulares, por exemplo,
a curva gaussiana, que é usada nas redes neurais do tipo Radial Basis Functions
(RBF), aplicadas a aproximação de funções;
• Implementar o algoritmo LVQ (Vetor de Quantização Linear), que permite um
ajuste fino da rede de Kohonen, ou seja, melhorar a qualidade dos intervalos das
funções de pertinência;
• Utilizar uma nova expressão para a taxa de aprendizado da rede de Kohonen,
como a curva Gaussiana. Neste trabalho foi adotada uma curva linear;
• Implementar uma outra técnica de Inteligência Artificial, como os Algoritmos
Genéticos, que possibilita implementar/definir as etapas de um sistema fuzzy
(fuzzificação, inferência e defuzzificação);
164
• Implementar a rede NFN-MK em aplicações de classificação de padrões e
diagnósticos.
REFERÊNCIAS BIBLIOGRÁFICAS
[1] ABREU, G. L. C. M.; O Uso da Lógica Fuzzy no Controle Ativo de Vibrações de Sistemas
Mecânicos; Posmec, 1999.
[2] AGUIAR, H.; OLIVEIRA, JR.; Lógica Difusa – Aspectos Práticos e Aplicações; Editora
Interciência, 1a Edição, 1999.
[3] AGUIRRE, L. A.; Introdução a Identificação de Sistemas – Técnicas Lineares e NãoLineares Aplicadas a Sistemas Reais; Editora UFMG, 1a Edição, 2000.
[4] ARAÚJO, C. J. F.; Introdução a Teoria da Lógica Fuzzy, Notas de Palestra;
Departamento de Engenharia Elétrica, FEJ/UDESC, Joinville, 1997.
[5] AZEVEDO, F. M.; Algoritmos Genéticos em Redes Neurais Artificiais; V Escola de
Redes Neurais, 1999, São José dos Campos-SP.
[6] AZEVEDO, F. M.; BRASIL, L. M.; OLIVEIRA, R. C. L.; Redes Neurais com Aplicações
em Controle e em Sistemas Especialistas; Editora Visual Books, 1a Edição, Agosto/2000.
[7] BARRETO, G. A.; ARAÚJO, A. F. R.; Identificação e Controle de Sistemas Dinâmicos
Usando a Rede Auto-Organizável de Kohonen; XIV Congresso Brasileiro de Automática,
Natal/RN, Setembro/2002.
[8] BARRON, J. J.; A Lógica Fuzzy em Foco, Byte No 06, pág. 94 a 100 - junho / 93.
[9] BIGNOLI, A. J.; Teoria Elemental de Los Conjuntos Borrosos, Academia Nacional de
Ingeniería, Buenos Aires - Republica Argentina, 1991.
[10] BITTENCOURT, G.; Inteligência Artificial - Ferramentas e Teorias; Editora UFSC,
1998, 1° Edição.
[11] BOBRUCKY B.; KEURER P.; VITTEK, J.; PASTIEROVIC, M.; ATTIOS, J.; A
Voltage Corrent PWM of Inverter FEJ Synchronous Motor Drive with Fuzzy Control.
Intelligent Motion, França, 1998.
[12] BRAGA, A. P.; CARVALHO, A. P. de L. F. de; LUDERNIR, T. B.; Fundamentos de
Redes Neurais Artificiais; Editora LTC, 2000 1º Edição.
[13] BRASIL, L.; AZEVEDO, F.; BARRETO, J.; Uma Arquitetura Híbrida para Sistemas
Especialistas; Grupo de Pesquisas em Engenharia Biomédica (GPEB), UFSC.
166
[14]BRUCIAPAGLIA, A. SILVA, A.; COELHO A.; LUIZ, C.; Controle Adaptativo Versus
Controle Fuzzy: Em Estudo de Caso em um Processo de Nível. SBA Controle e
Automação, 1994.
[15] CAMINHAS, W. M.; TAVARES, H. M. F.; GOMIDE, F.; Pattern Classification Using
Neurofuzzy and Neural Networks; Unicamp – SP.
[16] CAMINHAS, W.; TAVARES, H. M. F.; GOMIDE, F.; Identificação de Sistemas
Dinâmicos: Abordagem Baseada em Neurônio Nebuloso; Unicamp – Campinas/SP.
[17] CAMINHAS, W.; TAVARES, H. M. F.; GOMIDE, F.; Detecção de Falhas em Sistemas
Dinâmicos: Abordagem Baseada em Redes Neurofuzzy com Aprendizado On-Line; V
Congresso Brasileiro de Redes Neurais, pp. 613-618, Abril, 2001 – RJ/RJ – Brasil.
[18] CAMINHAS, W.; PEDRYCZ, W.; GOMIDE, F.; Fuzzy Set Based Neural Networks:
Structure, Learning and Aplication; Journal of Advanced Computational Intelligence;
Vol. 03, n° 3, 1999.
[19] CAMINHAS, W.; Tese de Doutorado: Estratégias de Detecção e Diagnóstico de Falhas
em Sistemas Dinâmicos; Unicamp – Campinas/SP, 1997.
[20] CAMINHAS, W.; TAVARES, H. M. F.; GOMIDE, F.; Rede Lógica Neurofuzzy:
Aplicação em Diagnósticos de Falhas em Sistemas Dinâmicos, SBA Controle &
Automação/ vol.4 no 3/ Setembro - Outubro 1994.
[21] CAO, Z.; LI, L.; KANDEL, A.; A New Model of Fuzzy Reasoning; SUS Center for
Artificial Intelligence and the Departament of Computer Science, Florida State
University, Taliahasee, 1990.
[22] CAVALCANTI, J. H. F.; ALSINA, P. J.; FERNEDA, E.; Posicionamento de um
Pêndulo Invertido Usando Algoritmos Genéticos; SBA Controle & Automação, Vol. 10 –
1999.
[23] DELGADO, M. R. B. S.; Tese de Doutorado: Projeto Automático de Sistemas Nebulosos
– Uma Abordagem Co-Evolutiva; Unicamp – Campinas/SP; Fevereiro 2003.
[24] FEUVRIE, B.; CORRIO O.; LAFORGUE I.; TERRIEN, F.; Neural Network Position
Estimator for a Synchronous Machine. Intelligent Motion, França,. 1998.
[25] FULLÉR, R.; Neural Fuzzy Systems; April/1995.
[26] GOMIDE, F.; BALLINI, R.; Uma Rede Neurofuzzy Recorrente: Aprendizado e
Aplicação; Unicamp – Campinas/SP – Brasil.
[27] GOMIDE, Fernando A. Campos; GUDWIN, Ricardo R.; Modelagem, Controle, Sistemas
e Lógica Difusa; SBA Controle & Automação/ vol.4 no 3/ Setembro - Outubro 1994.
167
[28] GOMIDE, F.; GUDWIN, R. R.; Controle de Processos por Lógica Fuzzy; Revista
Automação & Controle - Maio 1994.
[29] HADDAD, J.. Tese de Doutorado: Uma Contribuição à Análise de Conservação de
Energia Elétrica Utilizando a Teoria dos Conjuntos Fuzzy; Unicamp, 1993.
[30] HIROTA, K.; Industrial Applications and Education on Fuzzy Systems in Japan; SBA
Controle & Automação/ vol.4 no 3/ Setembro - Outubro 1994.
[31] IYODA, E. M; Tese de Mestrado: Inteligência Computacional no Projeto Automático de
Redes Neurais Híbridas e Redes Neurofuzzy Heterogêneas; Unicamp – Campinas/SP –
2000.
[32] JANG, J. R.; Self Learning Fuzzy Controllers Based on Temporal Back Propagation;
IEEE Trans. on Neural Networks, Vol. 3, n° 05, September 1992.
[33] JANG, J. R.; ANFIS: Adaptive Network Based Fuzzy Inference System; IEEE Trans. On
Systems Man and Cybernetics, Vol. 23, n° 03, May – June 1993.
[34] JANG, J. R.; SUN, C. T.; Neurofuzzy Modeling and Control; Proc. IEEE, Vol. 83, n° 03,
1995.
[35] JANG, J. R.; Input Selection for Anfis Learning; IEEE, 1996.
[36] KASABOV, N. K.; SONG, Q.; Denfis: Dynamic Evolving Neural-Fuzzy Inference
System and Its Aplication for Time-Series Prediction; IEEE, Vol. 10, no 2, Apbril 2002.
[37] KASABOV, N. K.; On-Line Learning Reasoning Rule Extraction and Aggregation in
Locally Optimized Evolving Fuzzy Neural Networks; Neurocomputing, 2001.
[38] KASABOV, N. K.; KOZMA, R.; WATTS, M.; Phoneme-Based Speech Recognition Via
Fuzzy Neural Networks Modeling and Learning; Information Sciences, 1998.
[39] KASABOV, N. K.; KOZMA, R.; A Fuzzy Neural Network for Knowledge Acquisition in
Complex Time Series; Control and Cybernetics, Vol. 27, no 4, 1998.
[40] KASABOV, N. K.; Evolving Fuzzy Neural Networks for Supervised/Unsupervised OnLine Knowledge – Based Learning; IEEE, Vol. 31, no 6, December 2001.
[41] KLIR, G. J.; FOLGER, T. A.; Fuzzy Sets, Uncertainty, and Information, State
University of New York, Binghamton, Prentice Hall International, 1988.
[42] KOSKO, B.; Fuzzy Systems as Universal Approximators, IEEE Trans. On Computers;
Vol. 43, n° 11, november 1994.
[43] KOSKO, B.; Fuzzy Engineering, Prentice Hall, 1997.
[44] KOSKO, B.; Fuzzy Thinking, Hyperion, New York, 1993.
[45] KOVACS, Z.L. Redes Neurais Artificiais: Fundamentos e Aplicações. Collegium
Cognitivo/SP. 2a. edição, 1996
168
[46] LAMBERT - TORRES, G.; SILVA, L. E. B. da; BRITO, S. G. de; QUINTANA, V. H.;
Um Laboratório para o Ensino da Lógica Difusa; SBA Controle & Automação/ vol.1
Setembro - Outubro 1994.
[47] LADIM, R.; MENEZES, B.; SILVA, S.; CAMINHAS, W.; Non-Linear System
Identification Using a Neo-Fuzzy-Neuron Algorithm; Eletrical Drive Aplication; UFMG.
[48] LADIM, R.; Tese de Doutorado: Estimação de Estados do Motor de Indução Utilizando
Rede Neuro-Fuzzy com Aprendizado em Tempo Real; UFMG, dezembro/2000.
[49] LEAL, A. B.; Apostila: Laboratório de Sistemas de Controle I – UDESC; Joinville,
Março/1998.
[50] LIMA; C. A. M.; Tese de Mestrado: Emprego de Teoria de Agentes no Desenvolvimento
de Dispositivos Neurocomputacionais Híbridos e Aplicação ao Controle e Identificação
de Sistemas Dinâmicos; Unicamp – Campinas/SP; Fevereiro 2000.
[51] LIU, S.L. Minium Cast Flow Problems With Fuzzy Are Lenghts. 5th World.
[52] LOESCH, C.; SARI, S. T.; Redes Neurais Artificiais - Fundamentos e Modelos; Editora
FURB, 1995 , 1º Edição.
[53] LOPES, H. S.; PILLA, V.; Reconhecimento de Padrões em Sinais Eletrocardiográficos
com Redes Neurofuzzy e Algoritmos Genéticos; IV Congresso Brasileiro de Redes
Neurais, ITA - São José dos Campos - SP, 1999.
[54] LUCENA, P.; DE PAULA, M. F.; Árvores de Decisão Fuzzy; Internet, dezembro/2001.
[55] MAMDANI, E. H.; KING, P. J.; The Application of Fuzzy Control Systems to Industrial
Processes, Automatica vol.13, pág. 235- 242, Pergamon Press, Printed in Great Britain,
1976.
[56] MAMDANI, E. H., Member, IEEE; Application of Fuzzy Logic to Approximate
Reasoning Using Linguistic Synthesis,, 1977.
[57] MARTINS, R; FERREIRA, R; GONÇALVES, W.K.A .; A Contribution to the Analysis
of the Process of Logistics Using the Theory of Fuzzy Sets. 5th World Multi-Conference
on Systemics, Cybernetics and Informatics, EUA, 2001.
[58] MORALES, A. B. T.; Tese de Doutorado: Identificação Difusa de Sistemas - Proposta
de um Modelo Adaptativo; Universidade do Estado de Santa Catarina, Abril, 1997.
[59] NISHIKAWA, T.; Fuzzy Theory the Science of Human Intuition, Japan Computer
Quartely, 1989.
[60] NOBRE, F. S. M.; PALHARES, Á. G. B.; Informações Quantitativas e Qualitativas no
Projeto de Controladores Nebulosos; SBA Controle & Automação/ vol.8 no 2/ mai., jun.,
Julho e Agosto 1997.
169
[61] OGATA, Katsuhiko; Engenharia de Controle Moderno; Editora PHB, 1999, 3º Edição.
[62] PACITTI, T.; ATKINSON, C. P. Programação e Métodos Computacionais – Volume 2;
Livros Técnicos e Científicos Editora S.A. – 2a Edição, 1977.
[63] PADILHA, P. C. C.; PINHEIRO, G. M.; Aplicação de Controladores Neuro-fuzzy para
Processos
Industriais;
XIV
Congresso
Brasileiro
de
Automática,
Natal/RN,
Setembro/2002.
[64] PAGLIOSA, A. L.; SÁ, C. C.; Obtenção das Funções de Pertinência de um Sistema
Neurofuzzy pelo Método de Kohonen; Congresso Brasileiro de Computação, Itajaí/SC,
2003.
[65] PAGLIOSA, A. L.; SÁ, C. C.; Sistema “Neo-Fuzzy-Neuron” Modificado pela Rede de
Kohonen Aplicado a Aproximação de Função; Revista da Universidade da Região de
Joinville, 2003.
[65] PASSOLD, F.; Notas de Aula: Automação Inteligente de Processos; UPF, 1995.
[66] PASSOLD, F.; BORGES, P. S. S.; ALMEIDA, O. M.; Design Issues and Laboratory
Experiments in Fuzzy PID Control Teaching.
[67] PEDRYCZ, W.; Rocha, A. F.; Fuzzy Set Based Models of Neurons and Knowledge
Based Networks; IEEE Trans. On Fuzzy Systems; Vol. 1, n° 4, november 1993.
[68] PIERI, E. R.; BATTISTELA, S.. Controle de Posição de um Robô Manipulador SCARA
Utilizando Redes Neurais Artificiais com Treinamento On-line. IV Conferência Brasileira
de RN, 1999.
[69] QUADRELLI, G.; TANSCHEIT, R.; VELLASCO, M. M.; Modelagem e Controle
Neuro-Fuzzy de Sistemas Dinâmicos Não-Lineares; V Congresso Brasileiro de Redes
Neurais, pp. 205-210, Abril, 2001- RJ/RJ – Brasil.
[70] REZENDE, S. O.; Sistemas Inteligentes: Fundamentos e Aplicações; Editora Manole
Ltda, 1a Edição, 2003.
[71] REZENDE, J.A .D.; MATITELLI, A .L. Um Estudo Comparativo entre Diferentes
Técnicas de Otimização do Treinamento de Neurocontroladores. 4a. Conferência
Brasileira de RN, 1999.
[72] RISSOLI, V. R. V.; CAMARGO, H. A.; FABRI, J. A.; Geração Automática de Regras a
Partir da Arquitetura Neuro-Fuzzy para Classificação de Dados (NEFCLASS); Simpósio
Brasileiro de Automação Inteligente, São Paulo/SP, Set. 1999.
[73] ROMERO, R. A. F.; ARNAUTS, T.; Desenvolvimento de um Sistema de Produção
Neuro-Fuzzy para a Itaipu Binacional.
170
[74] SÁ, C. C.; Teoria dos Conjuntos Difusos, Notas de Aula; Departamento de Engenharia
Elétrica, FEJ/UDESC, Joinville, 1997.
[75] SÁ, C. C.; Uma Arquitetura para Agentes Autônomos Móveis sob a Visão da
Inteligência Artificial Distribuída - Dissertação de Doutorado, Capítulo 4; Instituto
Tecnológico da Aeronáutica - São José dos Campos (SP), 1997.
[76] SALLES. F.P.; SUEMITSU, W.; HUY, H.L. Controle de um Motor Síncrono de Ímãs
Permanentes através de um Controlador Adaptativo Fuzzy. SBA Controle e Automação,
1994.
[77] SANDRI, S.; CORREA, C.; Lógica Nebulosa; V Escola de RN, Julho/1999, ITA – São
José dos Campos/SP.
[78] SILVA, I. N.; ARRUDA, L. V. R.; AMARAL, W. C.; Uma Abordagem Neuro-Nebulosa
para Identificação Paramátrica, SBA Controle & Automação/ vol.4 no 3/ Setembro Outubro 1994.
[79] SILVA, O.O; Minimização de Funções Nebulosas. Tutorial da UNITAU, 1997.
[80] SILVA, L. N. C.; Análise e Síntese de Estratégias de Aprendizado para Redes Neurais
Artificiais; Unicamp – Campinas/SP, 1998.
[81] SHAW, I. S.; SIMÕES, M. G.; As Vantagens da Aplicação da Lógica Difusa a Sistemas
de Controle; Eletricidade Moderna, Fevereiro de 1998.
[82] SHAW, I. S.; SIMÕES, M. G.; Controle e Modelagem Fuzzy; Editora Edgard Blucher
Ltda, 1999, 1º Edição.
[83] SOUZA, F. J. de; Sistemas Neuro-Fuzzy, ICA: Núcleo de Pesquisa Em IA,
http://www.ele.puc-rio/br/labs/ica/icahome.htlm
[84] SOUZA, F. J. de; Modelos Neuro-Fuzzy Hierárquicos, Tese de doutorado - ICA: Núcleo
de Pesquisa Em [3] IA, http://www.ele.puc-rio/br/labs/ica/icahome.htlm
[85] TAFNER, M. A.; XEREZ, M. ; FILHO, I. W. R.; Redes Neurais Artificiais - Introdução
e Princípios de Neurocomputação; Editora Eko, 1996, 1º Edição.
[86] TANSCHEIT, R.; Fundamentos de Lógica Fuzzy e Controle Fuzzy; http:// www.ele.pucrio/br/labs/ica.
[87] TEIXEIRA, E.; ARAÚJO, M.; BREUNIG, A; AZEVEDO, H. LIMA, Carlos.
Implementação de um Controlador Nebuloso de Baixo Custo. SBA Controle de
Automação, 1994.
[88] TITO, E. A. H.; Tópicos Avançados em Inteligência Artificial, 2001; http://
www.ele.puc-rio/br/labs/ica.
171
[89] TRILLAS, E.; DELDADO, M.; VILA, M. A.; CASTRO, J. L.; VERDEGAY, J. L.;
MORAGA, C.; CUENA, J.; GUTIERREZ, J.; RUIZ, A.; Fundamentos e Introdución a la
Ingeniería Fuzzy, Omron Electronics S.A., 1994.
[90] TRUCK, I.; AKDAG, H.; BORGI, A.; Using Fuzzy Modifiers in Calorimetry; 5 th
World Multiconference on Systemics, Cybernetics and Informatics; July, 2001, EUA.
[91] VAS, Peter; Eletrical Machines And Drives. Oxford University Press, 1999
[92] VELLASCO, M. M. B. R.; Inteligência Computacional, ICA: Núcleo de Pesquisa e IA,
http://www.ele.puc-rio/br/labs/ica/icahome.htlm
[93] VIANNA, G. K.; Dissertação de Mestrado: Sistemas Inteligentes de Arquitetura Híbrida
Neuro-Difusa para Reconhecimento de Padrões; Universidade Federal do Rio de Janeiro,
2000.
[94] XIANGYU, S.; FEIHU, Q.; Fast Convergence Algorithm for Wavelet Neural Network
Used for Signal or Function Approximation; Proceedings of ICSP 1996.
[95] YAGER, R. R.; On the Theory of Approximate Reasoning; SBA Controle & Automação/
vol.4 no 3/ Setembro - Outubro 1994.
[96] YAMAKAWA, T.; UCHINO, E.; Neo Fuzzy Neuron Based New Approach to System
Modeling, With Application to Actual System; IEEE, 1994.
[97] YAMAKAWA, T.; HORIO, K.; Modified Conuterpropagation Employing Neo Fuzzy
Neuron and Its Application to System Modeling; IEEE, 2001.
[98] YONEYAMA, T.; JUNIOR, C. L. N.; Inteligência Artificial em Controle e Automação;
Editora Edgard Blucher Ltda, 2000, 1º Edição.
[99] WARWICK, K.; An Introduction to Control Systens Second Edition. World Scientific,
1996.
[100] ZADEH, L.; Fuzzy Sets, Selected Papers by L. A. Zadeh, pág. 29 - 44.
[101] ZADEH, L. A.; Outline of a New Approch to the Analysis of Complex Systems and
Decision Processes, IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC 3, no 1 pág. 28 - 44, Janeiro de 1973.
[102] ZHOU, Y. S.; LAI, L. Y.; Aptimal Design for Fuzzy Controllers by Genetic Algoritms;
IEEE, vol. 36, no 1, Janeiro/Fevereiro 2000.
[103] ZUBEN; F. J. V.; Tese de Doutorado: Modelos Paramétricos e Não-Paramétricos de
Redes Neurais Artificiais e Aplicações; Unicamp – Campinas/SP; Fevereiro 1996.
[104] ZOMER; G.; Excel – Macros e Visual Basic for Applications.
APÊNDICE I
ALGORITMO BACKPROPAGATION
173
ALGORITMO BACKPROPAGATION
As redes neurais multicamadas (MLP) são as mais populares. O treinamento é
supervisionado, e suas principais aplicações são: classificação de padrões, predição e
interpolação. A seguir, a figura AI.1, mostra uma rede multicamadas.
x1
y1
x2
y2
...
...
...
xn
Camada de Entrada
ym
Camada de Intermediária
Camada de Saída
Figura AI.1 – Rede multicamadas
a) Treinamento de uma Rede Multicamadas:
É a otimização dos pesos das sinapses de forma que se obtenha o melhor mapeamento
“entrada-saída” possível. O treinamento é feito da seguinte forma:
1. Inicializa-se com pesos aleatoriamente;
2. Fornece-se amostra (entrada/saída);
3. Compara-se saída da rede com a saída desejada;
4. Corrige-se os pesos de acordo com o erro entre saída da rede e saída desejada;
5. Se o critério de parada for atingido então “PARA”, senão “volta para 2”.
O problema de otimização pode ser resolvido de várias formas, sendo o mais usual o
algoritmo de retropropagação de erro (backpropagation).
174
b) A Correção dos Pesos no Algoritmo de Retropropagação (Backpropagation):
O erro no neurônio j na iteração n é dado por:
(AI.1)
e j ( n ) = d j ( n ) − y j ( n)
onde: dj(n) é a saída desejada;
yj(n) é a saída da rede.
Define-se o Erro Quadrático Instantâneo como:
Ε j ( n) =
(AI.2)
1 2
e j ( n)
2
Somando-se os Ej(n) da camada de saída, tem-se:
Ε( n ) =
(AI.3)
1
2
e j ( n)
∑
2 j∈C
O Erro Médio Quadrático, tido como função-custo é então definido como a média dos
Erros Quadráticos Instantâneos durante as iterações:
Ε av =
1
N
(AI.4)
N
∑ Ε( n )
n =1
Seja o trecho de rede (ver figura AI.2):
i
yi
wji
j
yj
Figura AI.2 – Rede neural com suas respectivas conexões
Seja a correção de pesos dada por:
∆w ji (n) = −η
onde: η é a taxa de aprendizado.
∂Ε(n)
∂w ji (n)
(AI.5)
175
Desejamos achar:
∂Ε(n)
∂w ji (n)
(AI.6)
Logo, segundo a regra da cadeia pode-se escrever:
∂Ε(n)
∂Ε(n) ∂e j (n) ∂y j (n) ∂v j (n)
=
∂w ji (n) ∂e j (n) ∂y j (n) ∂v j (n) ∂w ji (n)
(AI.7)
Diferenciando (AI.3), temos:
∂Ε(n)
= e j ( n)
∂e j (n)
(AI.8)
Diferenciando (AI.1), teremos:
∂e j (n)
∂y j (n)
= −1
(AI.9)
Como:
y j ( n ) = ϕ j (v j )
(AI.10)
então,
∂y j (n)
∂ v j ( n)
= ϕ ' j (v j )
(AI.11)
Como,
v j (n) = ∑ w ji (n).y i (n)
(AI.12)
j
assim,
∂v j (n)
∂w ji (n)
= y i ( n)
(AI.13)
Substituindo (AI.8), (AI.9), (AI.11) e (AI.13) em (AI.7), obtêm-se:
∂Ε(n)
= −e j (n).ϕ ' (v j (n)). yi (n)
∂w ji (n)
(AI.14)
∆w ji (n) = η.e j (n).ϕ ' (v j (n)). y i (n)
(AI.15)
Logo,
Define-se gradiente local δj(n) como:
δ i (n) = e j (n).ϕ ' (v j (n))
(AI.16)
176
então,
∆w ji (n) = η.δ j (n). y i (n)
(AI.17)
c) Momentum:
Outra pequena alteração da fórmula acima é a introdução da inércia, também
conhecida como momentum ou momento. A utilização de uma taxa de aprendizado pequena
torna o aprendizado demorado. No entanto, a utilização de uma taxa alta pode fazer com que a
rede oscile, dificultando bastante o aprendizado. Um método simples para contornar esta
situação é a utilização de um termo denominado momento [12, 52, 70]. Este termo depende
da correção do peso na iteração anterior, introduzindo, assim um termo de realimentação, que
tornará a rede mais estável.
∆w ji (n) = α∆w ji (n − 1) + η.δ j (n). y i (n)
(AI.18)
onde α é denominada constante de momento.
d) Propagação dos Sinais de Entrada:
Através da propagação dos sinais de entrada obtém-se as saídas da rede, que subtraídas
dos valores desejados (fornecidos), fornecem os erros na camada de saída (ver figura AI.3).
177
w13.y1
w13
y1
x1
1
Σ
v1
ϕ
w14
w14.y1
Σ
ϕ
w36.y3
v4
ϕ
y4
w46.y4
w15.y1
y5
w25
w25.y2
v5
Σ
ϕ
v6
ϕ
y6
e6=d6-y6
w56.y5
w47
w37.y3
w56
y2
Σ
w46
w24.y2
w24
y2
y4
Σ
w15
y2
w36
y3
w23.y2
w37
w23
x2 1
y3
ϕ
y1
y1
v2
v3
Σ
w47.y4
Σ
v7
ϕ
y7
e7=d7-y7
w57.y5
w57
y5
Figura AI.3 – Propagação dos sinais de entrada
e) Retropropagação do erro:
O gradiente local (equação AI.16) aplicado à camada de saída é trivial. No entanto, na
camada intermediária, sua aplicação é menos trivial. Veja a figura AI.4, ondek é um neurônio
da camada de saída e j um neurônio de uma camada anterior.
i
yi
wji
j
yj
wkj
k
Figura AI.4 – Rede com três camadas.
Mostra-se, entretanto que para a camada anterior à de saída, tem-se:
yk
178
δ i (n) = ϕ ' (v j (n))∑ δ k (n).wkj (n)
(AI.19)
k
A equação AI.12 nos leva a entender a operação de retropropagação como
exemplificado na figura AI.5, onde através da equação AI.16 pode-se calcular os valores de
δi. De posse dos δi pode-se, através das equações AI.17 ou AI.18, calcular as correções dos
pesos.
ϕ
δ3
1
ϕ
w36
δ3
w37
w23
w14
ϕ
δ4
w24
1
*
δ6
w47
δ7
δ7
w15
ϕ
*
w25
δ5
ϕ
*
e6=d6-y6
w56
Σ
δ4
δ5
Σ
δ6
v2
Σ
v6
*
w46
v4
*
ϕ
ϕ
δ6
Σ
*
Σ
*
w13
v1
v3
v5
w57
v7
Σ
e7=d7-y7
δ7
Σ
Figura AI.5 – Retropropagação do erro
Vamos resumir aqui alguns dos parâmetros mais importantes que podem ser alterados
e que nos permitem modificar o comportamento do processo de aprendizagem:
• Número de neurônios e a forma em que estão conectados;
• Valores de inicialização dos pesos da rede (estado inicial);
• Taxa de aprendizado;
• Momentum;
• Aprendizado por épocas ou por exemplos;
• Tipo de função de transferência (sigmóide simétrica, assimétrica);
• Uso da temperatura na sigmóide;
179
• Uso de técnicas do tipo weight-decay (depreciação dos pesos);
• Critério de parada da aprendizagem (erro, número máximo de épocas,
generalização, ...).
O algoritmo backpropagation procura minimizar o erro obtido pela rede ajustando
pesos e limiares para que eles correspondam às coordenadas dos pontos baixos da superfície
de erro.
APÊNDICE II
ALGORITMO LVQ (VETOR DE QUANTIZAÇÃO LINEAR)
181
ALGORITMO VETOR DE QUANTIZAÇÃO LINEAR
O LVQ (Linear Vector Quantization), vetor de quantização linear, introduzido por
Kohonen em 1986, consiste em uma RNA utilizada para classificação de padrões, a qual cria
setores de saída para estes padrões e ao mesmo tempo ajusta os limites entre os setores de
classes para minimizar a classificação errônea [6, 12, 19]. OLVQ é também considerado por
alguns autores, como uma técnica de aprendizado supervisionado que utiliza informações de
classe para mover suavemente os vetores de peso de modo a melhorar a qualidade das regiões
de decisão de classificação.
Quanto à topologia (ver figura AII.1), o LVQ possui uma camada de entrada para
receber os padrões de entrada e uma camada de neurônios competitivos, que também usa um
esquema de aprendizado tipo vencedor leva-tudo.
Figura AII.1 – Esquema da rede para o LVQ [6]
Os pesos do nó vencedor e de seus vizinhos são ajustados pela equação AII.1:
wij (t + 1) = wij (t ) + η (t ).(e j (t ) − wij (t ))
(AII.1)
para todo j classificado corretamente. E a equação AII.2:
wij (t + 1) = wij (t ) − η (t ).(e j (t ) − wij (t ))
para todo j classificado incorretamente.
(AII.2)
182
onde: η é a taxa de aprendizado;
wij pesos dos neurônios selecionados.
Os passos para treinamento com algoritmo LVQ são apresentados a seguir:
1. Inicializar pesos e parâmetros;
2. Repetir;
2.1 Para cada padrão de treinamento X faça;
2.1.1 Definir modo vencedor;
2.1.2 Atualizar os pesos do modo vencedor e seus vizinhos
2.1.3 Reduzir taxa de aprendizado.
3. Até o erro ser menor que um dado valor.
A rede LVQ é considerada adequada a aplicações que requerem quantização de dados.
Exemplos onde esta habilidade é útil inclui análise estática, compreensão de dados e
problemas de otimização combinatorial. Além disso, pode ser empregada em processamento
de imagem, controle e processamento de fala.
Download