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

Livre

0
1
200
1 year ago
Preview
Full text

  

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 (Universidade Prebisteriana 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 Dedico este trabalho a todos que me apoiaram nesta jornada. A Deus, A Eucleudes e Pedro, meus pais, À minha adorada esposa, Marilene Vilvert.

  

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.

  “O que sabemos é uma gota, o que ignoramos é um oceano”.

  • Isaac Newton -

  

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

  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

  5.5 Conclusão................................................................................................................ 85

  7.1 Introdução................................................................................................................ 117

  8.5 Trabalhos Futuros.................................................................................................... 163

  8.4 Contribuições........................................................................................................... 162

  8.3 Resultados................................................................................................................ 161

  8.2 Problema e Solução Proposta.................................................................................. 161

  8.1 Revisão Contextual.................................................................................................. 160

  

8. CONCLUSÃO ............................................................................................................. 160

  7.3 Conclusão................................................................................................................ 160

  7.2.4 Estudo de Caso: Função Não-Linear............................................................. 159

  7.2.3 Estudo de Caso: Função Radial..................................................................... 153

  7.2.2 Estudo de Caso: Função Chapéu Mexicano.................................................. 144

  7.2.1Estudo de Caso: Função Seno........................................................................ 133

  7.2 Estudos de Casos..................................................................................................... 117

  

7. VALIDAđấO E ESTUDOS DE CASOS................................................................... 116

  6. AJUSTE DAS FUNđỏES DE PERTINÊNCIA DO NFN-MK............................... 86

  6.6 Conclusão................................................................................................................ 115

  6.5.2 Curva do Tipo 2............................................................................................. 111

  6.5.1 Curva do Tipo 1............................................................................................. 110

  6.5 Ajuste das Funções de Pertinência.......................................................................... 109

  6.4 Rede de Kohonen..................................................................................................... 107

  6.3.5 Taxonomia do Sistema NFN......................................................................... 102

  6.3.4 Sistema Neo-Fuzzy-Neuron Generalizado.................................................... 101

  6.3.3 Análise da Complexidade dos Algoritmos NFN versus RNA..................... 99

  6.3.2 Atualização dos Pesos com Taxa de Aprendizado Ótima............................. 97

  6.3.1 Ajuste dos Pesos............................................................................................ 95

  6.3 Estrutura do Neo-Fuzzy-Neuron.............................................................................. 91

  6.2 Descrição do modelo NFN-MK............................................................................... 88

  6.1 Introdução................................................................................................................ 86

  

REFERÊNCIAS BIBLIOGRÁFICAS............................................................................ 165

ANEXO I - Algoritmo Backpropagation........................................................................... 172

ANEXO II - Algoritmo LVQ (Vetor de Quantização Linear)........................................... 180

  

LISTA DE FIGURAS

Figura 2.1 – Diagrama de blocos do sistema de controle.................................................. 9Figura 2.2 – Exemplo do domínio das variáveis lingüísticas............................................13Figura 2.3 – Exemplo do domínio da lógica binária......................................................... 13Figura 2.4 – Classificação binária entre ser alto ou não-alto............................................. 14Figura 2.5 – Classificação fuzzy para variável altura........................................................15Figura 2.6 – Descrição da variável salário......................................................................... 18Figura 2.7 – Ilustração das principais t-normas................................................................. 19Figura 2.8 – Ilustração das principais t-conormas............................................................. 20Figura 2.9 – Função f(x) descrita por equação matemática............................................... 21Figura 2.10 – Função f(x) descrita por regras lingüísticas com valores exatos................. 22Figura 2.11 – Função f(x) descrita por regras lingüísticas fuzzy...................................... 24Figura 2.12 – Estrutura básica de um controlador fuzzy.................................................. 25Figura 3.1 – Componente do neurônio biológico............................................................. 37Figura 3.2 – Potencial de ação em um neurônio................................................................ 38Figura 3.3 – Modelo neural............................................................................................... 40Figura 3.4 – Modelo do neurônio artificial........................................................................ 43Figura 3.5 – Modelo do neurônio artificial com entrada de viés....................................... 44Figura 3.6 – Neurônio com n entradas e pesos definidos.................................................. 45Figura 3.7 – Um neurônio com as funções de ativação e transferência............................ 46Figura 3.8 – Funções de transferências mais empregadas................................................. 47Figura 3.9 – Redes exemplificando camadas escondidas ou ocultas................................. 48Figura 3.10 – Redes de camada única............................................................................... 49Figura 3.11 – Redes de múltiplas camadas........................................................................ 49Figura 3.12 – Redes feedback............................................................................................ 51Figura 3.13 – Aprendizado supervisionado....................................................................... 52Figura 3.14 – Fluxo de processamento do algoritmo com as fases forward e backward.. 54Figura 3.15 – Estrutura de um elemento neurônio............................................................ 55Figura 3.16 – Diagrama de blocos da regra delta generalizada......................................... 56Figura 3.17 – Aprendizado não-supervisionado................................................................ 57Figura 3.18 – Aprendizado por reforço............................................................................. 59Figura 3.19 – Análise do supertreinamento....................................................................... 60Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural................................. 61Figura 4.1 – Arquitetura de um sistema neurofuzzy.......................................................... 64Figura 4.2 – Taxonomia quanto às características fuzzy do sistema................................. 65Figura 4.3 – Taxonomia quanto às características de aprendizado................................... 66Figura 4.4 – Estrutura neural para as premissas de uma rede fuzzy neural.......................68Figura 4.5 – Rede fuzzy neural baseada em regras........................................................... 69Figura 4.6 – Topologia de uma rede fuzzy neural em forma paramétrica......................... 70Figura 4.7 – Arquitetura neurofuzzy ANFIS................................................................... 71Figura 4.8 – Arquitetura de um FSOM com duas entradas e uma saída......................... 73Figura 4.9 – Sistema NEFCLASS................................................................................... 75Figura 5.1 – Sistema de controle....................................................................................... 79Figura 5.2 – Identificação de um sistema dinâmico.......................................................... 80Figura 5.3 – Função com mínimo local e global............................................................... 85Figura 6.1 – Diagrama de blocos do treinamento do NFN................................................ 87Figura 6.2 – Modelo híbrido incorporado.......................................................................... 88Figura 6.3 – Modelo híbrido auxiliar................................................................................. 89Figura 6.4 – Estrutura da rede neurofuzzy NFN-MK........................................................ 90Figura 6.5 – Estrutura do sistema Neo-Fuzzy-Neuron...................................................... 91Figura 6.6 – Estrutura do neurônio fuzzy.......................................................................... 92Figura 6.7 – Funções de pertinência do tipo triangular uniformemente espaçadas...........94Figura 6.8 – Inferência fuzzy em uma sinapse não-linear do Neo-Fuzzy-Neuron............ 94Figura 6.9 – Ajuste dos pesos para a rede NFN................................................................ 96Figura 6.10 – a) Diagrama de blocos do NFNG b) Bloco F (x )........................................ 101

  i i

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...................................................................... 111Figura 6.14 – Determinação das funções de pertinência................................................... 112Figura 6.15 – Rede de Kohonen para determinar os centros das funções triangulares..... 113Figura 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 para f ( = x ) sen x .. 121

  ( )

Figura 7.5 – EQM para diferentes taxas de aprendizagem................................................ 123Figura 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)..........................................126Figura 7.8 – Função tangente hiperbólica..........................................................................129Figura 7.9 – Derivada da função tangente hiperbólica...................................................... 129Figura 7.10 – Fase de treinamento da RN para os ganhos arbitrários e obtidos por AG.. 130Figura 7.11 – Evolução do EQM para os ganhos arbitrários e obtidos por AG................ 131Figura 7.12 – Fase de teste da rede neural......................................................................... 132Figura 7.13 – Comparação entre os erro quadrático médio............................................... 132Figura 7.14 – Curva chapéu mexicano.............................................................................. 134Figura 7.15 – Rede NFN-MK usada na aproximação do chapéu mexicano..................... 135Figura 7.16 – Funções triangulares para f ( x , x ) sin c ( x , x ) ...................................... 135

  =

  1

  

2

  1

  2 Figura 7.17 – Funções triangulares não uniformes para f ( x , x ) sin c ( x , x ) .............. 136

  =

  1

  2

  1

  2 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 ...................................... 138Figura 7.20 – Rede NFHQ usada na aproximação da curva chapéu mexicano................. 140Figura 7.21 – Rede FSOM na aproximação da curva chapéu mexicano........................... 141Figura 7.22 – RNA utilizada na aproximação da função f ( x , x ) = sin c ( x , x ) ............. 142

  1

  2

  1

  2 Figura 7.23 – Fase de treinamento da RN para a curva chapéu mexicano........................ 143

Figura 7.24 – Curva radial................................................................................................. 145Figura 7.25 – Funções triangulares para a função radial................................................... 146Figura 7.26 – Funções triangulares não uniforme para curva radial................................. 146Figura 7.27 – Fase de teste em 3D da função radial.......................................................... 148Figura 7.28 – Fase de teste em 2D da função radial.......................................................... 149Figura 7.29 – Fase de treinamento da RN com 21 padrões entrada/saída......................... 151Figura 7.30 – Fase de treinamento da RN com 101 padrões entrada/saída....................... 151Figura 7.31 – Comparação entre as etapas de treinamento............................................... 152Figura 7.32 – Função não-linear........................................................................................ 153Figura 7.33 – Funções triangulares eqüidistantes para a não-linear................................. 154Figura 7.34 – Funções triangulares não uniformemente distribuídas................................155Figura 7.35 – Fase de teste do NFN-MK........................................................................... 156Figura 7.36 – Estrutura da rede NFN................................................................................. 157Figura 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

  

LISTA DE TABELAS

Tabela 2.1 – Termos da variável salário............................................................................ 17Tabela 2.2 – Principais t-normas e t-conormas duais........................................................ 19Tabela 2.3 – Vantagens e desvantagens dos métodos de defuzzificação.......................... 28Tabela 2.4 – Equações das funções de pertinências.......................................................... 30Tabela 3.1 – Comparativo entre o cérebro humano e o computador................................. 41Tabela 3.2 – Comparação entre o neurônio biológico e artificial ..................................... 42Tabela 4.1 – Comparação entre os sistemas fuzzy e neural ............................................. 63Tabela 6.1 – Comparação entre o neurônio artificial e fuzzy............................................ 93Tabela 6.2 – Comparação entre a RNA e o NFN.............................................................. 100Tabela 7.1 – Dados de treinamento do NFN-MK.............................................................. 120Tabela 7.2 – Parâmetros da modelagem da função f ( = x ) sen x .................................... 122

  ( )

Tabela 7.3 – EQM final..................................................................................................... 123Tabela 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................................................. 128Tabela 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.............................................................. 136Tabela 7.9 – Parâmetros da modelagem da função f ( x , x ) sin c ( x , x ) ..................... 137

  =

  1

  2

  1

  2 Tabela 7.10 – Análise de resultados função f ( x , x ) sin c ( x , x ) ................................ 139

  =

  

1

  2

  1

  2 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 ( x , x ) = sin c ( x , x ) ....... 144

  1

  2

  1

  2 Tabela 7.13 – Comparação dos resultados para a função f ( x , x ) = sin c ( x , x ) ............ 144

  1

  2

  1

  2 Tabela 7.14 – Dados de treinamento do NFN-MK............................................................ 147

Tabela 7.15 – Parâmetros da modelagem da função radial............................................... 148Tabela 7.16 – Análise de resultados função radial............................................................ 149Tabela 7.17 – Dados de treinamento da curva radial......................................................... 152Tabela 7.18 – Comparativo entre NFN e NFN-MK.......................................................... 154Tabela 7.19 – Parâmetros das curvas de pertinência da função não-linear....................... 155Tabela 7.20 – Resultados dos EQM.................................................................................. 159

  

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

  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

  

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 das RNA´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

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

  

Neuron (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 by NFN-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ão- linearidades [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 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 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ão- lineares, 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.

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

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

  • 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 obtenção dessas funções é feita através de algoritmo de agrupamento, no caso, o mapa auto- organizá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 em Ló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 Saída Processo Controlador Desconhecido + _-

  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,

  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

  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 Baixo Médio Alto

1 Variável

  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

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

  A (x) com

  Logo, dado um universo U e um elemento particular x U, a função de pertinência µ 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

  (x) é dada por:

  conjunto e suas vizinhanças. Para este caso, a função de pertinência µ A

  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 = {s , s 1 ,s 2 , s 3 },

  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$

  “muito baixo” 100 100 150 200

  S :

1 “baixo” 150 200 300 500

  S :

2 “médio” 300 500 600 700

  S :

3 “bom” 600 700 1000 1000

  S :

  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 (S i ) S S S S o 1 2 3

  1 100 150 700 200 300 500 600 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 é a i ) E (y é b i ) e ...ENTÃO (z é c i ),

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

  

norma 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).

  

2

  (2.3)

  f x ( ) = ( x − 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 é a i ENTÃO f(x) é b i , 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]

  f(x) é 0

  SE x é 8 ENTÃO

  f(x) é 16 Regra 11:

  Regra 10: SE x é 7 ENTÃO

  f(x) é 9

  Regra 8: SE x é 5 ENTÃO f(x) é 4 Regra 9: SE x é 6 ENTÃO

  f(x) é 1

  Regra 7: SE x é 4 ENTÃO

  Regra 6: SE x é 3 ENTÃO

  As regras para a lógica clássica são:

  f(x) é 1

  Regra 5: SE x é 2 ENTÃO

  f(x) é 4

  Regra 3: SE x é 0 ENTÃO f(x) é 9 Regra 4: SE x é 1 ENTÃO

  f(x) é 16

  Regra 2: SE x é -1 ENTÃO

  f(x) é 25

  Regra 1: SE x é -2 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 a e b seriam termos lingüísticos

  i i

  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

  (2.4)

  

v

k

  MDM = ∑

  

N

k =

  1

  onde: v é o valor máximo da abscissa de cada regra disparada, e N é o número total desses

  k

  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 i

i =

1 CDA

  =

  N

  (2.5) ω

  

i

i =

  1

  onde: N é o número de regras disparadas, é o grau de ativação na ação conseqüente y . O

  i ω i

  valor corresponde à pertinência da ação, portanto

  ω i ω ∈ [0,1]. i

  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 K =

  1

  µ =

  ` N n

  (2.6) µ

  

o

∑∑ i =

1 K =

  1

  28 i o indicam os pontos em que ocorrem os máximos

  onde: µ posição do centro do máximo, e µ (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 saída há uma

  Área (CDA) sobreposição de áreas que é devidamente contabilizada; A necessidade de integração - numérica, toma esforço computacional para cálculo.

  • Centro do Máximo Contínuos em malha - Se a função de pertinência possuir

  (MAX) fechada; mais de um máximo, qual máximo utilizar.

  • Decisões quantitativas.

  Em controladores fuzzy – - - Casos onde a função de

  PI, coloca-se um pertinência tenha mais de um

  integrador para garantir a máximo essa idéia não poderia ser continuidade; usada; Média dos Máximos

  • Decisões qualitativas em Descontínuos (causam -

  (MDM) malhas fechadas; instabilidade e oscilações).

  • Reconhece padrões.

  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, ressaltando- se 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 a s , quando a – s ≤ x ≤ a + s 

   xab . 1 −   

  A ( x ) =  s    , caso contrário.

   A(x) e = 1,0 x a = 0 b c d

  Trapezoidal

  

, quando a ≤ x ≤ b

a x . e

  −  ( )  a b

  −  e

  

, quando b ≤ x ≤ c

  

  A ( x ) =  dx . e

  ( ) 

, quando c ≤ x ≤ d

dc  

, caso contrário.

 

  A(x) 2 c = 1,0 ( xa ) b

  A ( x ) c . e

  = Gaussiana

  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.
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].

  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 de McCulloch 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.

  O primeiro mecanismo de aprendizagem foi iniciado por Donald Hebb, em 1949. Ele propôs uma regra de aprendizagem conhecida hoje como regra de aprendizagem Hebbiana.

  

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 única CPU [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 de Rosenblatt 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 Widrow-

  

Hoff 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 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 letra T 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 por Rumelhart,

  

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

  11 Sabe-se que o cérebro humano contém em torno de 10 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;
  • 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 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.
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.
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.

  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

  Material Orgânico Metal e plástico Velocidade Milisegundo Nanosegundo Tipo de Processamento Paralelo Seqüencial Armazenamento Adaptativo Estático Controle de Processos Distribuído Centralizado

  11

  14

  5

  6 Número de elementos processados 10 a 10 10 a 10

  Ligações entre elementos processados 10.000 <10 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.

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

  Modelo Entrada Dentritos x , x , x ,..., x

  1

  2 3 n

  Saida Axônio y Pesos Comportamento das sinapses w , w , w ,..., w

  1

  2 3 n n

  Efeito da uma Neurônio pós-sináptico

  s x . w

  =

  i ii =

  1

  sinapse 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 de ativaçã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:

  n se

  1 sL

  s = x . w e y f (s )

  = =

  i i  ∑ se

  1 sL

  i = 1 − (3.1)

   onde: n é o número de entradas no neurônio;

  w é peso associado à entrada x ; i i 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.
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 w é 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

  1 se s

  

  = = =

  • s x . w w e y f (s )

  i i  ∑

  1 se s − ⟨

  i =

  1

  (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).

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 (w ) da rede são ajustados por uma rotina de treinamento.

  n

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 (w , w , w ,...,

  1

  2

  3

w ). Havendo mais um neurônio na rede, pode-se então ter uma coleção de vetores, ou seja,

n

  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 (x , x , x ,..., x ) e os pesos. As

  1

  2 3 n

  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.

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.

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 entre 0 e

  1). Isto quer dizer que , ultrapassado um certo limite, a função dispara o valor 0 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 aprendizagem backpropagation (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 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 de RNA´s quanto ao número de camadas:

  • 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) (c)

  (a)

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.

  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 de RNA´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)).

  • 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 a i (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 uma RNA 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ão- supervisionado [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).

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.

  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: (3.4)

  w ( t

  1 ) w ( t ) η . e ( t ). x ( t )

  • =

  i i i

  onde: w (t+1) é o novo valor do peso;

  i w (t) é o valor velho do pesos; i i índice da entrada;

  η constante de aprendizado;

  e(t) erro; x (t) é a entrada para o neurônio no instante t. i

  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 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].
Um neurônio típico tem diversas entradas (x ), cada uma das quais é multiplicada pelos

  

j

correspondentes pesos (w ), como mostrado na figura 3.15 e a equação 3.5. i

Figura 3.15 – Estrutura de um elemento neurônio [85]

  n

  (3.5)

  s = w . x i i

  ∑ = 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 regra Delta Generalizada é um algoritmo de aprendizado como segue na equação 3.6:

  (3.6) ∂ E .

  ∆ ω = − η

  ij

  ∂ ω

  

ij

  onde: w representa o peso w da entrada x ;

  ij j

  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:

  desejado obtido

  (3.7) . E . y ( s ) .( y y ) y ( s )

  ∆ ω = η = η −

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

  dy ( s )

  (3.8) = y ( s ).[ 1 − y ( s )]

  ds desejado obtida A atualização do vetor w depende dos valores: y , das entradas e da saída y . j j

  Este procedimento é ilustrado com o diagrama de blocos da figura 3.16, onde G(s) é a função de ativação.

  x (entrada) obtido G(s) y j

  ∆ ∆ω ω

  obtido obtido

  X

  η η. y j . (1 – y j )

  • - + desejado y j

Figura 3.16 – Diagrama de blocos da regra delta generalizada [45] 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

  (3.9)

  saída

  . y ( s ).[ 1 y ( s )] . E . y ( s ) ∆ ω = η − ω

  ij k k jk k kk

  

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).

  E

  (3.10) ∂

  ω η . α .( ω ) ∆ = − + ∆

  ij ij anterior

  ∂ ω

  ij

  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.

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:

  (3.11) . x

  η

  j w

  ∆ =

  j M η . w

  −

  

j

  onde: j = 1, 2, ..., n;

  w é o peso da conexão da unidade de entrada j com a unidade ativa; j x é o valor do j-ésimo bit de entrada; j

   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].

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.

  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.

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.

   Conclusão

3.8 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 por Ló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 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 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;

  RNA a fim

  • As regras fuzzy podem ser utilizadas para inicializar a estrutura de uma 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 um Sistema 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 (x , x ), onde as entradas são normalizadas e escalonadas

  1

  2

  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.

  x

  1 y x

2 Figura 4.1 – Arquitetura de um sistema neurofuzzy [83]

  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 formato compreende uma função de pertinência que apresenta o grau de pertinência igual a 1, 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] 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 chamado LVQ

  

(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 tipo Se -

  

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 letra f 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.

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 w são os valores de pico dos respectivos conseqüentes e a saída é a soma dos valores

  f verdades de cada regra, que multiplicam tais valores de pico (média ponderada).

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 (x , x ) e duas saídas (y , y ), onde as entradas acionam

  1

  2

  1

  2 as nove regras do sistema e ativam relações lineares entre as entradas x e x .

  1

  2

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.

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.

  , x e x , baseada nas funções de Camada 1: Computa o grau de pertinência das entradas x

  1

  2

  3

  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.

  

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.

  

S = A (x ) * A (x ) * A (x )

  1

  1

  1

  2

  2

  3

  3 S = B (x ) * B (x ) * A (x ) (4.1)

  2

  1

  1

  2

  2

  3

  3 S = B (x ) * B (x ) * B (x )

  3

  1

  1

  2

  2

  3

  3 onde: “*” representa o operador t-norma.

  Camada 3: Esta camada realiza uma normalização nos níveis de disparo das regras.

  

S = S / (S + S + S )

  1

  1

  

1

  2

  3

  (4.2)

  

S = S / (S + S + S )

  2

  2

  

1

  2

  3 S = S / (S + S + S )

  3

  3

  

1

  2

  3 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.

h = S . C

  1

  

1

  1

  (4.3)

  

h = S . C

  2

  

2

  2

h = S . C

  3

  

3

  3

  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 + h + h (4.4)

  1

  2

  3 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];

  

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 com 2 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 x 1 ε U i,1 and x 2 ε U i,2 then y = S i onde: x entrada da rede;

  j U conjuntos fuzzy. ij Camada C2: Está relacionado ao nível de disparo das regras.

  (x (x )} (4.5)

  α i = min {µ ui,1

  1 ), µ ui,2

  2 Camada C3: Normaliza os níveis de disparo das regras.

  (4.6) α ) e α )

  1 ’ = α 1 / (α 1 + α

  2 2 ' = α 2 / (α 1 + α

  2 Camada C4: Produto dos níveis de disparo normalizado pelo conseqüentes.

  (4.7)

  

H ' . S e H ' . S

1 = α

  1

  1 2 = α

  2

  2 onde: S correspondem aos conseqüentes das regras. j

Camada C5: Cálculo da defuzzificação, onde o método empregado é o da média ponderada.

m m

  (4.8)

  

y ( . S ) /( )

  = α α

  i i i

∑ ∑

i =

1 i =

  1

  onde: S são os singletons referentes à saída de cada regra;

  i

  são os níveis de disparo das regras; α i 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 auto-

  organizados 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

, de forma que a largura esquerda é

  constante ω = c ω Ld = c + ω .

  • Le , e a largura direita é

  

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.

  A descrição das camadas deste sistema neurofuzzy é semelhante às do sistema ANFIS, 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: , x , …, x ) belongs to i

  If x 1 ε µ 1 and x 2 ε µ 2 then pattern (x

  1 2 n e x para as entradas das funções de

  Camada de Entrada: Direcionar os valores x

  1

  2

  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 t- norma;

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 supervisionado GD (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.

  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

  4

  chegar a um total de 81 (3 ) 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.

  µ ( t )

  Princípio da Superposição: Considere um sistema que ao ser excitado pela entrada

  1

  produz a saída y ( t ) e quando excitado por µ ( t ) produz y ( t ) . Se tal sistema satisfizer o

  1

  

2

  2

  • princípio da superposição então, quando excitado por a . µ ( t ) b . µ ( t ) , sua saída será

  1

  2

  • a . y ( t ) b . y ( t ) , sendo a e b constantes reais. Por definição, um sistema é linear se ele

  1

  2 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

  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 Saída Real

  Sistema ou + Processo -

  • + Erro

  Controlador da Planta -

  Referência

Figura 5.1 – Sistema de controle 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

  desejado obtido

  parâmetros tal que a saída do sistema (y ) e a saída do modelo (y ) estejam próximas

  desejado obtido

  segundo algum critério adotado, por exemplo: y y ε . 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).

  Saída Real

  Sistema ou Processo - Entradas

  Erro

  • + Modelo de Identificação

  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].

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

  desejado

  por pares de entrada e saída (x, y ), sendo caracterizada previamente a saída desejada

  desejado

(y ) para um determinado vetor de entrada x. O ajuste de pesos deve modificar a saída

obtida obtida desejado

y de forma que a diferença entre y e y , 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, pode- se 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 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 para x [-2, 2].

  4

  2

  (5.1) 3 . x − 15 . x − 3 . x + f ( x ) =

  6

  Função Escalar

f(x) = 3.(x^4) - 15.(x^2) - 3.x + 6

  40

  30 da Mínimo Local Mínimo Global

20 Saí e l d

  10 iáve ar

  V -10 -20 -3 -2 -1

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

  

Fuzzy-Neuron (NFN), proposto por Yamakawa [96] e a modificação é pelo uso do mapa auto-

  organizá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 Saída Desejada Processo Não-Linear -

  Erro

  Entradas

  • + Rede NFN-MK

  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)

  Saída

  • + Entrada

  = NFN Redes Neurais Artificiais (Técnica 2)

  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.

  Saída

  Rede Neurofuzzy NFN (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 Saída Desejada Processo Não-Linear -

  Erro

  Rede NFN-MK

  • + Rede Neurofuzzy

  Entrada

  S

  2 NFN

  Saída Obtida

  Ajuste dos Pesos Método de Kohonen

  S

  1 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 “S

  2 ” 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 “S

  2 ” 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 f (x ) é indicado em detalhe na figura 6.6, representando um neurônio fuzzy. i i

  

Figura 6.6– Estrutura do neurônio fuzzy [96]

  onde: x : entrada da rede;

  i f : universo de discurso da entrada x ; i i

  µ ij (x i ): subconjunto fuzzy da entrada x i ; w : peso da conexão da entrada “i” e subconjunto fuzzy “j”; ij

y i : soma dos termos µ ij (x i ) . w ij (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 y

  1 a y n (processo de defuzzificação).

  As características de cada sinapse são representadas por uma função não linear f (x ),

  i i

  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

  é A

  1

  ) ( ) ( 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 y i são determinados a partir de um conjunto de regras fuzzy do tipo “Se-

  

Então”. Considerando que o universo de discurso da entrada x i é dividido em subconjuntos

  fuzzy, descritos por funções de pertinência do tipo triangular (ver figura 6.7), as regras são do tipo: R

  i

  1

  : Se x

  i

  i1 Então y i

  n i n i i i i i x f x y y

  é w

  i1

  R i

  2

  : Se x i é A i2

  Então y i é w i2 ................

  R i

  p

  : Se x i é A ip

  1

  = =

  Modelo Entrada x

  11 ,...,w ji

  1 , x

  2 , x

  3 ,..., x n x

  1 ,...,x i

  ,...,x n

  Saída y y Pesos w

  1 , w

  2 , w

  3 ,..., w n w

  ,...,w np

  ∑ ∑ = =

  Efeito de uma Sinapse

  ∑ =

  =

  n i i i w x s

  1 .

  ∑ ∑ = = = p j i ij p j ij i ij i i x w x x f 1 1

  ) ( ). ( ) ( µ

  µ

  Recodificação do Sinal Função de Transferência

  (geralmente logística e/ou tangente hiperbólica)

  Então y i é w ip

  94 Para este conjunto de regras, as variáveis x e y , são determinísticas e Aij são conjuntos i i

  (x ). Isto exige etapas de fuzzificação para x e defuzzificação para

  fuzzy, definidos por µ ij i

  i

  determinar os valores de y i . 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 x

  i , no máximo duas das p regras são ativadas, sendo indexadas por k i e k i+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 f (x ) podem ser determinados da seguinte forma: i

  1 p

  ( x ). w µ

  ij i ijj =

  1 f ( x ) = i i p

  µ ( x )

  ij i

  =

  1

  (6.1)

  j

  • µ ( x ). w µ ( x ). w
  • i i i i i + ik ik ik 1 i ik 1 +

      f ( x )

      =

      i i

      x

      µ µ i i + ik i ik 1 i Como as funções de pertinência vizinhas são complementares, a soma de

    • ( ) ( x )

      ) µ ( x ) 1 , então 6.1 se simplifica em: =

    • µ ( x

      ik i + ik i i 1 i

      (6.2)

      f x

      ( ) ( x ). w ( x ). w = µ µ +

      i i ik i ik ik i i i i 1 i ik

      1 Para o caso de um sistema com duas entradas (x , x ), a equação 6.2 pode se reescrita

      1

      2

      com um “relaxamento” da notação matemática em:

      f ( x , x ) ( x ). w ( x ). ( ). ( ). (6.3) w x w x w

      = + + + µ µ µ µ

      1 2 m 1 m m

      1 1 + m +

    1 n

    + 2 n n +

      1 2 n

      1

      onde m e m + 1 são os índices das curvas de pertinência, as quais são complementares na fuzzificação de x

      

    1 . Analogamente, tem-se as curvas n e n + 1 para a entrada x

    2 .

      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 w , conseqüentes das regras fuzzy, chamados de pesos (ver figura 6.9).

      ij

      96 Saída Desejada Sistema ou Processo -

      Erro Entradas

    • + Rede Neo-Fuzzy-Neuron

      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 = (x , x , ..., x ,...x ) o padrão

      1 2 i n d

      aplicado à entrada do Neo-Fuzzy-Neuron, y a saída calculada e y seu respectivo valor desejado. O erro quadrático para o padrão de entrada é definido como:

      1

      2

      1 (6.4)

      d

      

    2

      ε y y . e ε ( W ) = − = =

      ( )

      2

      2 Onde: w = (w , w , ... w , ..., w ).

      11 12 ij np

      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:

      ( W ) min ε  

      ij

       

      W

      ∈ ℜ

      ij

        (6.5)

       

      i

      1 ,..., n ; j 1 ,..., p ∀ = =

        Para cada coordenada de entrada x dentre as entradas apresentadas ao NFN, somente

      i (x ) são diferentes de zero. Assim, pode-se reescrever a equação 6.5

      as funções µ iki (xi) e µ i(k+i) i como: min ( W )

      ε  

      ij

       

      W ∈ ℜ ij

        (6.6)

       

      1 ,..., n ; j k , k

      1 ∀ = =

    • i

      

    i i

       

      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].

      ij ) é não-linear e a equação 6.6 é um problema de programação não-linear

      A função ε(w 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:

      (6.7)

      j j h ε ( w )

      = −∇

      j j onde: ( w ) é o vetor gradiente de ( w ) .

      − ∇ ε ε Portanto, uma componente w iki é atualizada da seguinte forma:

      

    j

      (6.8) ( w )

      ∂ ε

      

    ik

    j

    • 1 j j

      i

      w = w − α .

      ik ik i i j

      ( w ) ∂

      ik

    i

      (6.9)

    • j 1 j j j d

      w = w − α .( yy ). µ ( x ) ik ik t t ik ti i i i

      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 d

      Dado um padrão de entrada X = (x , x ,..., x ,..., x ), e y , o valor desejado para o

      1 2 i n

      mapeamento y = f (X), é possível determinar uma expressão fechada para a taxa de

      99 Demonstração:

      Dado w o objetivo é obter α tal que o erro:

      1

      1 (6.10)

      1 1 d

      2

      1

      2

      ε = .( yy ) = .( e ) =

      2

      2 (6.11)

      n

         

      1

      1 1 d

    • e = µ ( x ). w µ ( x ). wy

       

      k i ik k i i i i + 1 i ik

       ∑ 

      i =

      1

         

      Para,

      1

      (6.12)

      w = w − α . e . µ ( x ) ik ik ik i i i i

      1 w w . e . ( x )

      = − α µ

      ik i i i 1 ik 1 ik 1 i

      (6.13)

      1

      1 Multiplicando os dois lados da equação 6.12 por µ ( x ) e 6.13 por µ ( x ) , obtém-se: 1 ik i ik i i 2 + 1 i

      (6.14)

      w . µ ( x ) = w . µ ( x ) − α . e .[ µ ( x )] ik ik i ik ik i ik i 1 i i i i i 2 = − w . µ ( x ) w . µ ( x ) α . e .[ µ ( x )] ik i i i i i 1 ik 1 i ik 1 ik 1 i ik 1 i

      (6.15) Para i =1, 2,...,n, somando as 2n equações, tem-se:

      n n n  

      1

      1

      2

      2

    • = −

      

    w . µ ( x ) w . µ ( x ) w . µ ( x ) w . µ ( x ) α . e . µ ( x ) µ ( x )

    [ 1 ik 1 i ] [ ik ik i ik 1 ik 1 i ] ik i ik + + + + ik ik + i ik

      1 i  

      ∑ i i i ii i i ii i = 1 = 1 =

      1

    i ii

      Logo, a taxa de aprendizagem que proporciona erro de aproximação nulo é dada por:

      1 (6.16)

      α =

      n

      2

      2

      (

      x ) ( x ) ∑

    • µ µ
    • +

      ik i ik i i

      1 i i =

    1 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

      (6.17)

      y .( x ). w .( x ). w

      = + µ µ

      l ik i ik l ik i i i i 1 i i ( k + 1 ) l + ∑ i =

    1 Rede Neural:

      3

      2

      

    1

      (6.18)

      Y W W W

      = Γ Γ Γ Χ

      [ [ [ ] ] ]

      1

      2

      3

      onde: Y (m), X (n), W (n, p), W (p,q) e W (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 Operações de Multiplicação Operações de + e/ou - Cálculos de Funções

      RNA n.p + p.q + q.m n.p + p.q + q.m p + q + m [n,p,q,m]

      (função sigmóide) NFN 2.n.m n.m + n n

      [n,p,m] (função linear)

      Como pode ser constatado, o número de operações e cálculo de funções no Neo-

      Fuzzy-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. i (x i ) [48]

    Figura 6.10 – a) Diagrama de blocos do NFNG b) Bloco F

      102

      De maneira análoga ao Neo-Fuzzy-Neuron, as saídas y e y do NFNG são dados por:

      l il ( j ) ( j ) ( j )

      (6.19)

      f

      ( x ) ( x ). w ( x ). w = µ µ + i i i i

    + il i ik i ik + l i ( k

    1 ) i i ( k 1 ) l

      I I

      (6.20)

      ( j ) ( j ) ( j ) y y f ( x )

      = =

      l il il i ∑ ∑ i = 1 i =

      1 d

      Se y i é saída calculada e y l é 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:

      2

      1 (6.21)

      ( j ) ( j ) d ( j ) y y ( W )

      ε = − = ε

      ( ) l l l l ip l i

      2 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.

      ( j 1 ) ( j ) ( j ) ( j ) d ( j )

      (6.22)

    • W W .( y y ). ( x )

      = − α − µ

      ik l ik l l l ik i i i i

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

      

    Sugeno [70, 77, 82, 84, 91]. Por simplicidade, somente uma entrada e uma saída serão

      consideradas:

      p

      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.

      (6.23)

    • y = . p x r

      i

      No caso em que p = 0, tem-se y = r (fuzzy singleton), ou seja, a variável r pode ser o peso (w i ) 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.

      (6.24) ( x LE )

      − 

      , SLxC

      C LE

      −  

      ( xLD ) 

      , C x LD ≤ ≤

       ( )

      µ x =

      CLD

        

      , outros    

      µ ( x = ) w (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

      µ ( x ). w

      

    ij i ij

    j =

      1 f ( x )

      = (6.26)

      i i p

      µ ( x )

      

    ij i

    j =

      1 onde: f i (x i ) é a saída do processo de defuzzificação para a entrada x i . p é o número de regras fuzzy;

      µ é o nível de disparo da regra i; w é o valor do singleton (peso).

      ij

      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. Utiliza- se, 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.

    • 1

      i: índice do neurônio; j: índice das entradas e dos pesos; n: número de entradas; x j

      Camada de Processamento Cálculo da distância Euclidiana (d) Aprendizado Não- Supervisionado

      2 j n d 1 d 2 d j d n x i w i2 w ij w in

      Camada de Entrada

      

    ij

    ) em “off”, ou seja, contém valores aleatórios e um sinal de entrada x i (p) é provido para a rede sem que se especifique a saída desejada. w i1

      A rede inicia com os pesos sinápticos (w

      (p): entrada j; w ij (p): peso j do neurônio i.

      )) ( ) ( ( ) ( (6.27) onde: d: é a distância do neurônio;

      108

      2

      1

      n j ij j j p w p x p d

      − =

      ∑ =

      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:

    Figura 6.11 – Topologia da rede de Kohonen

      Ajuste dos Pesos d vencedor

      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.

      

    • w ( p ) η ( p ).( x ( p ) − w ( p )), se

      ij ij i Vi

      ∈

      

      w

      ( p

    • 1 )

      =

      ij

      (6.28) 

      w ( p ), se ij

       iVi 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].

      (6.29)

      p

        ( t ) ( ).

      1 η = η −

       

      

    T

        Neste trabalho o ganho de adaptação η(p) é determinado com base nos estudos de [19], conforme a equação 6.30.

      ( t ) ( p 1 ). . 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 x imin e x imax . O centro da função de pertinência indexada por “r” é a , que corresponde ao ponto onde a função possui o valor máximo.

      ir 1 r Np F F F i i i

      1 x pi a = x a a = x i1 imin ir iNp imax

      ∆ i

    Figura 6.12 – Funções de pertinência tipo 1

      Da figura 6.12, tem-se que:

      XX (6.31) i max i min i

      ∆ =

      p

      1 −

      Com isto, define-se uma função de pertinência r da seguinte forma:

      111

      ( xa ) 

    • i ir

      1 , axa

      ir − 1 i ir

      

      i

      ∆    ( xa )

      i ir

      (6.32)

    • − 1 , axa

       ir i ir µ ( x ) =

      i ij i  ∆

       

      , outros    

      Definida a equação 6.32, pode-se implementar as funções de pertinência uniformemente distribuídas, conhecendo-se apenas o limite inferior (x min ) e o superior (x max ).

    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

      5

      10 µ(x)

      1 (b) Inicialização das

      Funções de Pertinência (uniformemente distribuídas)

      5

      10 REDE DE KOHONEN µ(x)

      1 (c) Após treinamento

      (não uniformemente distribuídas)

      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.

      Camada de Entrada Camada de Processamento

      113

    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 a ir

      

    min

    , x max

      ]; a ir = x imin , limite inferior;

      min max

      − −

      = ∆

      p

      X X i i i

      , passo para gerar novas funções de pertinência;

      a ir = a i(r-1)

      i , para r =2,3,...,p (p representa o número de funções);

      Intervalo de análise: [x

      1

    • +
      • Í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: (6.33)

      a p

      1 ) a p ( ) ( p ).[ x a ( p )] = + η −

    • (

      iL iL i iL

      onde: L é o índice do neurônio vencedor, que é aquele cujo peso da conexão possui o valor mais próximo de x , ou seja:

      i

      (6.34)

      L arg min x a

      = − }

      { i ir

      2.2 Reduzir o passo η(p);

      2.3 Atualizar o índice de desempenho do neurônio vencedor, fazendo:

      (6.35)

      Id ( L ) d ( L )

      1

    • =

      i i ij (t) – a ij

      

    2.4 Verificar o teste de parada (a (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 (a ir ei dir ), onde:

      , α e α

      (6.36)

      1 α =

      eir a a

      −

      ir ir

      

    1

      1 α

      =

      dir aa

      (6.37)

    • + ir ir

      

    1

    As equações 6.36 e 6.37 são as derivadas da curva de pertinência à esquerda e direita

      de a ir . 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.

      1

    • − −

      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.

      

    Neuron (NFN), com o seu respectivo algoritmo de aprendizagem e o algoritmo de

      Neste capítulo foram mostradas as estruturas dos sistemas: neurofuzzy Neo-Fuzzy-

      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.38)

      α α

      1

      1

      115

      .( 1 ) ) (

      .( 1 ) ,

      , ,

      

    outros

    a x a a x

    a x a a x

    x

    ir i ir ir i dir

    ir i ir ir i eir

    i ij

      =

      ≤ ⟨ + − ≤ ≤ + −

              

    6.6 Conclusão

      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 (x , x ), com

      1

      2 base em uma distribuição uniforme em um intervalo [x , x ]. mín max

      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 de IA.

      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:

    • 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;

      , x ), conhecida como “chapéu mexicano”, ilustra um fenômeno

    • A curva sinc(x

      1

      2

      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 uma RNA clássica.

      

    Estudo de Caso 1:

      0.0

      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 F un çã o de S da Função sen(x)

    • -1.2 -0.8 -0.4

    Figura 7.1 – Função

      ( ) ) x x f sen ( = 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:

      ( ) x sen é dada na figura 7.2. A mesma será

      A estrutura do NFN-MK para a função

      O modelo mescla as técnicas fuzzy, redes neurais e a rede de Kohonen. A lógica das chaves S

      1

      e S

      2

      esta descrita no capítulo 6, seção 6.2. No treinamento da rede neurofuzzy com rede de Kohonen (chaves S

      1

      fechada e S

      2

      aberta), novas curvas triangulares são obtidas, as quais representam uma maior precisão e conhecimento sobre o sistema em estudo [64].

      aproximada com sete funções de pertinência do tipo triangular, uniformemente distribuídas no intervalo de discurso [0, 6.3].

      Modelo 1 F 1 NFN-MK 2 w

    11

    F w 1

    12

    • S

      2

      y

      ∑ ∑

    • 6
    • F w
    • 1 7

      16

      F w 1

      17

      Rede NFN x a 11 d 1

        1 a 12 d 2

        2

      • Geração dos novos
      • centros das funções de
      • pertinências
      • S

        1

        a 16 d 6

        6 a 17 d 7

      7 Rede de Kohonen

        sen x

      Figura 7.2 – Rede NFN-MK usada na aproximação da função ( )

        Na figura 7.2: x é a entrada da rede NFN-MK;

        p F a função de pertinência da etapa NFN; i w os pesos da etapa NFN; ip p a centro das funções de pertinência F ; ip i d é a distância Euclidiana, entre a entrada e o centro da curva de pertinência; p

      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. 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 de 5 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 ). . 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âmetros N (número

        s , x , e x , para i = 1 (número de entradas). Da tabela 7.1

        de funções de pertinência), ∆ i imin imax pode-se extrair os valores de x = 0 e x = 6.3. Com isto, tem-se:

        imin imax

        05 .

        5.25

        1.2

        0.00

        1.05

        2.10

        3.15

        4.20

        6.30 Variável de Entrada F un çõ es d e P er ti nc ia s Negativo Grande (NB) Negativo Médio (NM) Negativo Pequeno (NS) Zero (ZE) Positivo Pequeno (PS) Positivo Médio (PM) Positivo Grande (PB)

        0.8

      Figura 7.3 – Funções triangulares eqüidistantes para ( )

        ) x x f sen ( =

        Após a geração das curvas triangulares é aplicada a rede Kohonen 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

        0.2 0.4 0.6 0.8 1 1.2 0.00 1.00 2.00 3.00 4.00 5.00 6.00 Variável de Entrada F un çõ es d e P er ti nc ia s Negativo Grande (NB) Negativo Médio (NM) Negativo Pequeno (NS) Zero (ZE) Positivo Pequeno (PS) Positivo Médio (PM) Positivo Grande (PB)

      Figura 7.4 – Funções triangulares não uniformemente distribuídas para ( )

        1

        0.6

        1

        1

        1

        7 3 .

        6

        1

        min 1 max

        1

        = −

        0.4

        − =

        − −

        = ∆

        s N x x

        (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.

        Curvas Iniciais do Sistema

        0.2

        ) x x f sen ( = Em resumo, os vértices das curvas triangulares são encontrados via rede de Kohonen, com as chaves S fechada e S aberta. As sete funções iniciadas pelo modelo foram ajustadas

        1

        2

        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 ( w ) e finais

        inicial

      ( w ) da rede NFN. No treinamento do NFN-MK, os valores de entrada (x) foram gerados

      final aleatoriamente no intervalo [0, 6.3]. f ( = x ) sen x

      Tabela 7.2 – Parâmetros da modelagem da função ( ) Parâmetros Iniciais Novos Parâmetros

        Curvas LE C LD w inicial LE C LD w final

        1.05 -0.29

        NB

        1.05

        2.10

        1.80

        0.29 NM

        1.05

        2.10

        3.15

        1.80

        2.80

        1.13 NS

        2.10

        3.15

        4.20

        1.80

        2.80

        3.80

        0.30 ZE

        1

        3.15

        4.20

        5.25

        2.80

        3.80 4.80 -0.60

        PS

        4.20

        5.25

        6.30

        3.80

        4.80 6.30 -1.19

        PM

        5.25

        6.30

        6.30

        4.80

        6.30 6.30 -0.28

        PB

        A atualização dos pesos (w ) é realizada para cada padrão de entrada (x ), conforme

        i i

        é o grau de pertinência de um subconjunto fuzzy. No capítulo 6 são equação 7.2, onde, µ i evidenciados os procedimentos de atualização dos pesos e a obtenção da taxa de aprendizado.

        j 1 j j j d

        (7.2)

      • w w α .( y y ). µ ( x )

        = − −

        ik ik t t ik ti i i i

        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.

        (7.3)

        1 α =

        n

        2

        2

        (

        

      x ) ( x )

      • µ µ

        ik i ik i i + 1 ii =

        1 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.

        Influência da Taxa de Aprendizado

        0.15 io éd

      0.12 M o

        Taxa Dinâmica ic

        0.09 át Taxa = 0.5 dr

        Taxa = 0.2

        0.06 ua Q Taxa = 0.8 o

        0.03 rr E

        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 [ , 6 . 3 ] .

      Tabela 7.3 – EQM final

        Erro Quadrático Médio (EQM)

        Taxas de Aprendizagem

        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 rede NFN-MK é submetida a um teste com 33 amostras (ver figura 7.6).

        Fase de Teste da Rede NFN-MK

        1.2

        0.8 te

        0.4 es Sen(x)

         T de Fase de Teste o çã -0.4 un F -0.8 -1.2

        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 mapeamento NFN-MK com relação ao tipo de entrada do sistema. A tabela 7.4 apresenta análise dos valores analíticos (função ( = ) sen ) e valores obtidos pelo teste do modelo NFN-MK.

        f x x ( ) f ( = x ) sen x

      Tabela 7.4 – Análise de resultados da função ( )

        Erro

        Entradas Saída Real Saída do Modelo

        (Valor Absoluto)

        Arbitrárias (Valor Analítico) (NFN-MK)

        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ência PS e PM da figura 7.4, resultando nas pertinências µ = . 6 e µ = . 4 .

      PS PM

        A partir da definição das curvas de pertinência PS 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,

        (7.4)

        =

      • f ( x ) µ ( x ). w µ ( x ). w

        i i ik i ik ik i i i i + 1 + i ik

        1 tem-se:

        f ( x 4 .

        2 ) ( . 6 ).( . 60 ) ( . 4 ).( 1 . 19 ) . 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 computacional NFN-MK, que usa sete funções de pertinência para modelar a função f ( = x ) sen x .

        

      ( )

        Variáveis de Camada Escondida Neurônio de Saída Variável Entradas de Saída

        1 w

        11

        2 w

        18 w

        12

        3 w

        28 w

        13 w

        38

        8 f(x)

        4 w 14 w

        48 x w w

        15

        58

        5 w

        68 w

        16 w

        78

        6 w

        17

      7 Figura 7.7 – RNA utilizada na aproximação da função sen(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). β . x − β . x

        (7.6)

        ee

      f ( x ) tanh . x

        = = ( ) β

        e e β . x − β . x + f ( x ) δ . x (7.7)

        = onde: β é o ganho da função tangente hiperbólica; δ é o ganhos da função linear; x é a variável de entrada. 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.

        2

        (7.8)

        f ( x )' .(

        1 f ( x ) ) = β −

        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,

        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 (β *).

        

      Função Tangente Hiperbólica

      1,5

        1 da 0,5 Saí e Ganho aleatório l d

        Ganho obtido pelo método AG iáve -0,5 ar

        V -1 -1,5 -5 -4 -3 -2 -1

        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 (algoritmo backpropagation).

        

      Derivada da Função Tangente Hiperbólica

        2 da 1,5 Saí Ganho aleatório e

        1 l d 0,5 Ganho obtido pela técnica AG iáve ar

        V -0,5 -5 -4 -3 -2 -1

        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 usados 64 pontos de treinamento (pares de entradas/saídas desejadas).

        Fase de Treinamento

        1.2 )

      0.8 Sen(x) (x

        0.4 en S Ganhos Arbitrários

        0.0 o çã -0.4 Ganhos Obtidos por un -0.8

        AG F

      • -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.

        ( ) d obtida

        A comparação entre a saída desejada (y ) e a saída da rede (y ) é realizada pela função do Erro Quadrático Médio (EQM), ver equação 7.9.

        N

        (7.9)

        1

        d obtido

        2 EQM . ( y ( t ) y ( t ))

        = −

        ∑ N t =

        1 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.

        

      Comparação dos EQM

      io

        0.14 éd

        0.12 M o Ganhos Arbitrários

        0.1 ) ic

        0.08 át M Q dr

        0.06 Ganhos Obtidos (E ua por AG

        0.04 Q o

        0.02 rr E

        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.

      • -1.5 -1.0 -0.5

        0.06

      Figura 7.13 – Comparação entre os erro quadrático médio

        10.0 Épocas E rr o Q ua dr át ic o M éd io RNA RNA + AG NFN-MK

        7.0

        4.0

        1.0

        0.14

        0.12

        0.1

        0.08

        0.04

        

      Fase de Teste da Rede Neural

        0.02

        

      Evolução do EQM

        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 foi plotado até a décima época.

      Figura 7.12 – Fase de teste da rede neural

        Sen(x) Fase de Teste

        1.5 0.0 0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4 Variável de Entrada F un çã o de T es te

        1.0

        0.5

        0.0

        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 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 rede NFN-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).

        f ( = x ) sen x

      Tabela 7.7 – Comparação entre a RNA e o NFN-MK para a função ( ) 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 p + m = 8 [n,p,m] = [1,7,1] (funções tangente hiperbólica e linear)

        NFN-MK 2.n.m = 2 n.m + n = 2 n = 1 [n,p,m] = [1,6,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 treinamento on-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.

        (7.10)

        sen ( x ) sen ( x )

        1

        2 f ( x , x ) . sin c ( x , x )

        = =

        1

        2

        1

        2 x x

        1

        2 Neste estudo de caso as entradas (x , x ) variaram dentro da área delimitada pelo

        1

        2

        quadrado [-10, 10] x [-10, 10] e a saída f ( x , x ) sin c ( x , x ) variou no intervalo [-0.21, 1] =

        1

        

      2

        1

        2

        (ver figura 7.14). Este intervalo de análise foi escolhido para se poder comparar com os resultados obtidos por [84].

        Estudo de Caso 2: )

        2 , x

        1 x f( o çã un F Variável x

      1 Variável x

        2 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 ( x , x ) = sin c ( x , x ) foi inicialmente aproximada pelo sistema

        1

        2

        1

        

      2

      NFN-MK da figura 7.15.

      Figura 7.15 – Rede NFN-MK usada na aproximação do chapéu mexicano

        2

        1 f(x 2 ) = y

        (saída do modelo) E nt ra da s f(x 1 ) = y

        2 ∑ ∑ f(x 1 , x 2 ) = y

        1 x

        x

        Rede NFN-MK da Figura 7.2 Rede NFN-MK da Figura 7.2

        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.

        1 = x x c x x f

        1

        Na fuzzificação das entradas (x

        2

        ) , ( sin ) , (

      Figura 7.16 – Funções triangulares para

        1 1,2 -10,00 -6,67 -3,33 0,00 3,33 6,67 10,00 Variável de Entrada F un çõ es d e P er ti nc ias Negativo Grande (NB) Negativo Médio (NM) Negativo Pequeno (NS) Zero (ZE) Positivo Pequeno (PS) Positivo Médio (PM) Positivo Grande (PB)

        

      Curvas Iniciais do Sistema

      0,2 0,4 0,6 0,8

        triangulares, uniformemente distribuídas no intervalo de discurso [-10, 10] x [-10, 10], conforme figura 7.16.

        2 ), foram usadas sete funções de pertinência do tipo

        1 , x

        2

        Curvas Obtidas pelo Sistema NFN-MK 0,2 0,4 0,6 0,8 1 1,2 -10,0 -8,0 -6,0 -4,0 -2,0 0,0 2,0 4,0 6,0 8,0 10,0 Variável de Entrada F un çõ es d e P er ti nc ias Negativo Grande (NB) Negativo Médio (NM) Negativo Pequeno (NS) Zero (ZE) Positivo Pequeno (PS) Positivo Médio (PM) Positivo Grande (PB)

      Figura 7.17 – Funções triangulares não uniformes para ) , ( sin ) , (

        2

        1

        2

        1 = x x c x x f

        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 (x

        1 , x

        2 ) 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: 9999 . ). ) 1 ( ( − = p p η η ; 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).

        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 ( w ) são

        1 inicial ,

        2 ajustados pela rede NFN, onde w representa os pesos finais para as entradas x e x .

        1

        2 final f ( x , x ) sin c ( x , x )

      Tabela 7.9 – Parâmetros da modelagem da função =

        1

        2

        1

        2 Parâmetros Iniciais Novos Parâmetros Curvas LE C LD w 1,2 inicial LE C LD w w

        1

        2 final final

      • 10 -10 -6.67 -10 -10 -3.5 0.0715 -0.0643

        NB

      • 10 -6.67 -3.33 -10 -3.5 -0.2 -0.1414 0.0103

        NM

      • 6.67 -3.33 -3.5 -0.2 3.2 0.5154 0.4973

        NS

      • 3.33 3.33 -0.2

        3.2 6.5 -0.0824 0.0321

        ZE

        1

        3.33

        6.67

        3.2

        6.5 10 0.0143 0.1714

      PS PM

        3.33

        6.67

        10

        6.5

        10 10 0.0739 -0.0463

        6.67

        10

        10

        10

        10 10 0.0358

        PB

        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.

      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

        1 te

        0.8 es Função Chapéu

         T

      0.6 Mexicano de o

        Fase de Teste

        0.4 çã

        0.2 un F -0.2 -10 -8 -6 -4 -2

        

      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 ( x , x ) sin c ( x , x ) ) e =

        1

        2

        1

        2 valores obtidos pelo teste do modelo computacional NFN-MK.

      Tabela 7.10 – Análise de resultados função f ( x , x ) = sin c ( x , x )

        1

        2

        1

        2 Erro Entradas Arbitrárias Saída Real Saída do Modelo

        (Valor Absoluto)

        

      (Valor Analítico) (NFN-MK)

      x x

        1

        2

      • 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 x = -0.1 e x = 0.1, no modelo computacional NFN-MK, onde o valor a ser

        1

        2

        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 x = -0.1, resultando nas

        1

        pertinências µ = . 0294 e µ = . 9706 . Já para a entrada x = 0.1, tem-se as

        2 ZE NS

        pertinências µ = . 0882 e µ = . 9118 . O gráfico 7.17 mostra as funções de pertinência

        ZE NS em questão.

        A partir da definição das curvas de pertinência ZE 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:

        f ( x = − + .

        1 ) = ( . 0294 ).( − . 0824 ) ( . 9706 ).( . 5154 ) = . 4978

        1

        1 f = + ( x .

        1 ) = ( . 0882 ).( . 0321 ) ( . 9118 ).( . 4973 ) = . 4562

        2

        1

        (7.11)

        1 ) f ( x . 1 ) . 9540 = = − = =

      • f f ( x .

        1

        1

        2

        2 ∑

        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 ( x , x ) sin c ( x , x ) satisfatoriamente na =

        1

        2

        1

        2 fase de teste; na etapa de treinamento foram usadas 10 épocas e 225 pares de entradas/saídas.

      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 de 225 amostras. O modelo NFHQ começou com uma célula e sua estrutura foi crescendo para minimizar o EQM. 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.

        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 utilizados 225 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 ( x , x ) sin c ( x , x ) é a =

        1

        2

        1

        2

        mesma da figura 7.22, com duas entradas ( x , x ) , sete neurônios na camada escondida e um

        1

        

      2

        na camada de saída. A definição da arquitetura é em analogia com o modelo computacional NFN-MK.

      Figura 7.22 – RNA utilizada na aproximação da função

        26 w

        12 w

        13 w

        14 w

        24 w

        15 w

        25 w

        16 w

        27 w

        22 w

        17 w

        58 w

        28 w

        38 w

        48 w

        18 w

        68 w

        23 w

        21 w

        ) , ( sin ) , (

        2

        2

        1

        2

        1 x x c x x f

        = 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).

        1

        3

        11 w

        4

        5

        8 x

        1 x

        2 f(x 1 , x 2 ) Variáveis de Entradas Camada Escondida Neurônio de Saída Variável de Saída

        6

        7 w

        78

      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) e 10 épocas.

      Figura 7.23 – Fase de treinamento da RN para a curva chapéu mexicano

        A quantidades de operações matemáticas envolvidas na RNA da figura 7.22 é superior ao modelo NFN – MK (detalhes encontram-se na tabela 7.12).

      Tabela 7.12 – Comparação entre a RNA e o NFN-MK para f ( x , x ) = sin c ( x , x )

        1

        2

        1

        2 Modelos Operações de Operações de Cálculos de Avaliados Multiplicação + e/ou - Funções

        RNA n.p + p.m = 21 n.p + p.m = 21 p + m = 8 [n,p,m] = [2,7,1] (funções tangente hiperbólica e linear)

        NFN-MK 2.n.m = 4 n.m + n = 4 n = 2 [n,p,m] = [2,6,1]

        (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. f ( x , x ) sin c ( x , x )

      Tabela 7.13 – Comparação dos resultados para a função =

        1

        2

        1

        2 Modelos Testados Número de Padrões Erro Quadrático Médio (EQM)

        NFN-MK 0.0426

        NFHQ 0.0150

        225 FSOM

        0.0314 RNA´s

        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 (x , x ) deste trabalho são analisadas no intervalo [0, 1] x [0, 1], com base

        1

        2 no trabalho de Lima (2000).

        2

        2

        2

        2

        2

        (7.12)

        24 , 234 . r .( , 75 − r ) , onde r = ( x − , 5 ) ( x − , 5 )

      • f ( x , x ) =

        1 2 [ ]

        1

        2 Estudo de Caso ) 2 , x 1 x f( o çã un F Variável x 1 Variável

      Figura 7.24 – Curva radial [50]

        2

        2 A função f ( x , x ) =

        24 , 234 . r .( , 75 − r ) é aproximada pelo modelo NFN-MK. e

        1 2 [ ] pela técnica das redes neurais artificiais.

      a) Modelo NFN-MK:

        A função radial é inicialmente aproximada pelo modelo NFN-MK da figura 7.15. As entradas (x , x ) foram fuzzificadas em sete subconjuntos fuzzy uniformemente distribuídos

        1

        2 no intervalo de [0, 1] x [0, 1], conforme a figura 7.25.

        

      Curvas Iniciais do Sistema

      0,2 0,4 0,6 0,8

        1 1,2 0,00 0,17 0,33 0,50 0,67 0,83 1,00 Variável de Entrada F un çõ es d e P er ti nc ias Negativo Grande (NB) Negativo Médio (NM) Negativo Pequeno (NS) Zero (ZE) Positivo Pequeno (PS) Positivo Médio (PM) Positivo Grande (PB)

      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.

        Curvas Obtidas pelo Sistema NFN-MK 0,2 0,4 0,6 0,8 1 1,2 0,00 0,20 0,40 0,60 0,80 1,00 Variável de Entrada F un çõ es d e P er ti nc ias Negativo Grande (NB) Negativo Médio (NM) Negativo Pequeno (NS) Zero (ZE) Positivo Pequeno (PS) Positivo Médio (PM) Positivo Grande (PB)

      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 (x

        1 , x

        2 ) do modelo computacional são idênticos. A taxa de aprendizado da etapa NFN é dada pela equação 7.3.

      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 ). . 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 ( w ) das entradas x e x são ajustados pela rede de NFN, onde w representa os pesos

        1

        2 1 inicial ,

        2 final

        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 x e x são idênticos, logo os valores dos pesos finais

        1

        

      2

      também são iguais.

      Tabela 7.15 – Parâmetros da modelagem da função radial Parâmetros Iniciais Novos Parâmetros

        Curvas LE C LD w 1,2 inicial LE C LD w w

        1 final 2 final

        0.17

      • 0.66

        NB

        0.17

        0.33

        0.25

        2.11 NM

        0.17

        0.33

        0.50

        0.25

        0.45

        0.92 NS

        0.33

        0.50

        0.67

        0.25

        0.45 0.6 -0.02

        ZE

        1

        0.50

        0.67

        0.83

        0.45

        0.6

        0.75

        0.08 PS

        0.67

        0.83

        1

        0.6

        0.75

        1

        1.09 PM

        0.83

        1

        1

        0.75

        1

        1

        1.82 PB 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

      3.5 X Fase de Treinamento

        )

        3

        2 ,x x1

        2.5 f( l ia

        2 d a R o

        1.5 ã ç n u

      1 F

        0.5

        1

        0.2

        0.5

        0.4

        0.6

        0.8

        1 x2 x1

      Figura 7.27 – Fase de teste em 3D da função radial

      • -0.2

        x 1 x

        µ , para ambas as entradas. O gráfico 7.26 mostra as funções de pertinência em questão.

        PM

        µ e 3335 . =

        PS

        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 6664 . =

        2 = 0.65, no modelo computacional NFN-MK, que o valor a ser

        1 = 0.65 e x

        Após a apresentação de alguns valores, será ilustrado manualmente o cálculo para as entradas x

        0.65 0.768824 0.838629 0.0698 0.9 3.334598 3.055852 0.2787

        0.15 2.998352 2.790945 0.2074 0.3 1.298942 1.370146 0.0712

        Erro (Valor Absoluto)

      Tabela 7.16 – Análise de resultados função radial Entradas Arbitrárias

        O gráfico da figura 7.28 é mostrado em 2D, para uma melhor visualização dos resultados.

        A tabela 7.16 apresenta análise de valores analíticos (função radial) e valores obtidos pelo teste do modelo NFN-MK.

      Figura 7.28 – Fase de teste em 2D da função radial

        1 Entradas F un çã o de T es te Função Radial Fase de Teste

        0.8

        

      0.6

        0.4

        0.2

        3.8

        2.8

        1.8

        0.8

        

      Teste Comparativo

      2 Saída Real (Valor Analítico) Saída do Modelo (NFN-MK)

        A partir da definição das curvas de pertinência PS e PM, os pesos são obtidos pela última coluna da tabela 7.15. Assim, aplicando-se a equação 6.3, tem-se: 65 ) = ( . 6664 ).( − . 08 ) ( . 3335 ).( + f ( x = . 1 . 09 ) = . 4169

        1

        1 f ( x .

        65 ) ( . 6664 ).( . 08 ) ( . 3335 ).( 1 . 09 ) . 4169 = = − = +

        2

        2

        (7.13)

        f ( f x .

        65 ) f ( x . 65 ) . 8338

      • = = = =

        1

        1

        2

        2 ∑

        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, com 100 é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 ( x , x ) , sete neurônios na camada escondida e um de saída. A

        1

        2

        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 rede RNA (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.

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

        Evolução do EQM

        0.5

        1

        1.5

        2

        2.5

        3 1 14 27 40 53 66 79 92 Épocas E rr o Q ua dr át ic o M éd io 101 padrões de entrada 21 padrões de entrada

      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

        

      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

        Estudo de Caso 4:

        0.5

        1

        1.5

        2

        2.5

        2

        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ão- linear 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.

        6

        8

        

      10

        12

        14 Variável de Entrada F un çã o de S da Função Não-Linear

      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.

        4

      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 Pertinência Identificação Prévia das Método de Distribuição Método Auto-Organizavel de Funções de Pertinência Uniforme Kohonen Aprendizados

        Não-Supervisionado (ajuste das Supervisionado curvas de pertinência) e

        (ajuste dos pesos) 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 no NFN-MK as mesmas

      serão reajustadas.

        Curvas Iniciais do Sistema s ia

      1.2 Negativo Grande (NB) nc

      1 Negativo Médio (NM) nê ti

      0.8 Negativo Pequeno (NS) er P

        Zero (ZE)

        0.6 e Positivo Pequeno (PS) d

        0.4 es Positivo Médio (PM)

        0.2 çõ Positivo Grande (PB) un F 0.00 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 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

        1.2 s Negativo Grande (NB) ia

        1 nc Negativo Médio (NM)

        0.8 ti Negativo Pequeno (NS) er P

      0.6 Zero (ZE) e d

        Positivo Pequeno (PS)

        0.4 es Positivo Médio (PM)

        çõ

        0.2 un Positivo Grande (PB)

        F

        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 N° Padrões: 141 N° Padrões: 1401

        Curvas Parâmetros Iniciais Novos Parâmetros Novos Parâmetros LE C LD LE C LD LE C LD

        2.33

        0.01

        0.02 NB

        NM

        2.33

        4.67

        0.01

        6.8

        0.02

        6.99

        2.33

        4.67

        7

        0.01

        6.8

        9.2

        0.02

        6.99

        9.32 NS

        4.67

        7

        9.33

        6.8

        9.2

        11.5

        6.99

        9.32

        11.65 ZE

        7

        9.33

        11.67

        9.2

        11.5

        14

        9.32

        11.65

        14 PS 9.33 11.67

        14

        11.5

        14

        14

        11.65

        14

        14 PM

        11.67

        14

        14

        14

        14

        14

        14

        14

        14 PB 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 (x ),

        i

        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

      2.5 Função Não-Linear

        2.0 da Modelo NFN-MK S

        1.5 de o

        1.0 Épocas = 10

        çã Padrões = 141 un

        EQM = 0.197 F

        0.5

        0.0

        2

        4

        6

        8

        10

        

      12

        14 Variável de Entrada

        (a)

        Fase de Teste

      2.5 Função Não-Linear

        2.0 da Modelo NFN-MK S

        1.5 de o Épocas = 10

        1.0 çã Padrões = 1401 un

        EQM = 0.017 F

        0.5

        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

        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. 1 F 1 2 w 11 F w 1 12

        y

        x ∑ ∑

      • 6
      • F w
      • 1 7 16 F w 1 17 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.

          Fase de Teste

          0.5

          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.

        Figura 7.37 – Fase de teste do NFN: (a) Padrões = 141 e (b) Padrões = 1401

          (b)

          14 Variável de Entrada F un çã o de S da Função Não-Linear Rede NFN

          12

          

        10

          8

          6

          4

          2

          2.5

          2.0

          1.5

          1.0

          0.0

          0.0

          Fase de Teste

          (a)

          14 Variável de Entrada F un çã o de S da Função Não-Linear Rede NFN

          12

          

        10

          8

          6

          4

          2

          2.5

          2.0

          1.5

          1.0

          0.5

          Épocas = 10 Padrões = 1401 EQM = 0.202 Épocas = 10 Padrões = 1401 EQM = 0.020

        Tabela 7.20 – Resultados dos EQM Dados da Simulação Erro Quadrático Médio (EQM)

          Padrões Épocas NFN-MK NFN

          10 141 100 0.197 0.202

          10 1401

          0.017 0.020 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 de 141 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 . 197 e EQM . 202 , ou seja, uma diferença de 0.005. No caso de 1401

          = =

          NFNMK NFN

          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 das Redes 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.

          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 de Kohonen 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):

          (8.1)

          f ( = x ) sen x ( )

          (8.2)

          sen ( x ) sen ( x )

          1

          2 f ( x , x ) . sin c ( x , x )

          = =

          1

          2

          1

          2 x x

          1

          2

          2

          2

          2

          2

          2

          (8.3)

          24 , 234 . r .( , 75 − r ) , onde: r = ( x − , 5 ) ( x − , 5 )

        • f ( x , x ) =

          1 2 [ ]

          1

          2 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 (NFN-

          MK):

        • Uma melhor convergência quando comparado às redes neurais e ao NFN original.

          O treinamento NFN-MK não usa derivadas, a exemplo das RNA´s com algoritmo

          backpropagation;

        • Uma precisão aceitável, quando analisado o Erro 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 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);

        • 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, 1

          a Edição, 1999.

          [3] AGUIRRE, L. A.; Introdução a Identificação de Sistemas – Técnicas Lineares e Não-

          Lineares Aplicadas a Sistemas Reais; Editora UFMG, 1 a 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, 1 a 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 N

          o 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.

          [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 & o Automação/ vol.4 n 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

          o

        e Lógica Difusa; SBA Controle & Automação/ vol.4 n 3/ Setembro - Outubro 1994.

          [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 n

          o 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, n o 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, n o 4, 1998.

          [40] KASABOV, N. K.; Evolving Fuzzy Neural Networks for Supervised/Unsupervised On-

          Line Knowledge – Based Learning; IEEE, Vol. 31, n o 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. 2

          a

          . edição, 1996

          [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

          o Projeto de Controladores Nebulosos; SBA Controle & Automação/ vol.8 n 2/ mai., jun., Julho e Agosto 1997.

          [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;

          a Livros Técnicos e Científicos Editora S.A. – 2 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

          a Ltda, 1 Edição, 2003.

          [71] REZENDE, J.A .D.; MATITELLI, A .L. Um Estudo Comparativo entre Diferentes

          a Técnicas de Otimização do Treinamento de Neurocontroladores. 4 . 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.

          [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 n o

          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.puc- rio/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.

          [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 n

          o 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, n

          o 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, n

          o 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

        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.

          

        Figura AI.1 – 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).

          ... ... ...

          Camada de Entrada Camada de Intermediária Camada de Saída x1 xn y1 ym x2 y2

        a) Treinamento de uma Rede Multicamadas:

        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 ( n ) d ( n ) y ( n )

          = −

          

        j j j

          onde: d (n) é a saída desejada;

          j y (n) é a saída da rede. j

          Define-se o Erro Quadrático Instantâneo como: (AI.2)

          1

          2

          ( n ) e ( n ) Ε =

          

        j j

          2 Somando-se os E (n) da camada de saída, tem-se:

          j

          1 (AI.3)

          2

          ( n ) e ( n ) Ε =

          j

          2

          jC

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

          (AI.4)

          1 ( n )

          Ε = Ε

          av

          

        N

        n =

          1 Seja o trecho de rede (ver figura AI.2):

          y

          i

          y

          j i j

          w

          ji

        Figura AI.2 – Rede neural com suas respectivas conexões

          Seja a correção de pesos dada por: ( n ) (AI.5)

          ∂ Ε ∆ w ( n ) = − η

          ji w ( n )

          ∂

          ji onde: η é a taxa de aprendizado. Desejamos achar: (AI.6)

          ( n ) ∂ Ε

          ∂ w ( n )

          

        ji

          Logo, segundo a regra da cadeia pode-se escrever: (AI.7)

          ∂ e ( n ) ∂ y ( n ) ∂ v ( n ) ∂ Ε ( n ) ∂ Ε ( n ) j j j

          =

          

        w ( n ) e ( n ) y ( n ) v ( n ) w ( n )

          ∂ ∂ ∂ ∂ ∂

          

        ji j j j ji

          Diferenciando (AI.3), temos: (AI.8)

          ( n ) ∂ Ε

          e ( n )

          =

          j

          ∂ e ( n )

          j

          Diferenciando (AI.1), teremos: (AI.9)

          e ( n )

          ∂

          j

          = −

          1

          y ( n )

          ∂

          j

          Como: (AI.10)

          

        y ( n ) ( v )

          = ϕ

          

        j j j

          então, (AI.11)

          y ( n )

          ∂

          j

          ' ( v ) = ϕ

          j j

          ∂ v ( n )

          j

          Como, (AI.12)

          

        v ( n ) = w ( n ). y ( n )

        j ji i

          ∑ j

          assim, (AI.13)

          v ( n )

          ∂

          j y ( n )

          =

          i

          ∂ w ( n )

          ji

          Substituindo (AI.8), (AI.9), (AI.11) e (AI.13) em (AI.7), obtêm-se: ( n )

          (AI.14) ∂ Ε

          e ( n ). ϕ ' ( v ( n )). y ( n )

          = −

          j j i w ( n )

          ∂

          ji

          Logo, (AI.15)

          w ( n ) η . e ( n ). ϕ ' ( v ( n )). y ( n )

          ∆ =

          

        ji j j i

          Define-se gradiente local δ (n) como:

          j

          (AI.16) δ ( n ) = e ( n ). ϕ ' ( v ( n ))

          i j j então, (AI.17)

          ∆ w ( n ) = η . δ ( n ). y ( n )

          

        ji j i

          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.

          (AI.18)

          w ( n ) w ( n 1 ) . ( n ). y ( n )

          ∆ = α ∆ − η δ +

          

        ji ji j i

        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).

          Figura AI.3 – Propagação dos sinais de entrada

          ϕ Σ v

          k

          y

          kj

          w

          j k

          y

          ji

          w

          i

          y

          1 x 2 e 6 =d 6 -y 6 e 7 =d 7 -y 7 i j

          1

          

        5

        y 1 x 1 y 1 y 1 y 2 y 2 y 2 y 3 y 3 y 4 y 5 y 4 y 5 y 6 y 7 w 13 .y 1 w 23 .y 2 w 14 .y 1 w 24 .y 2 w 15 .y 1 w 25 .y 2 w 13 w 14 w 15 w 23 w 24 w 25 w 36 w 37 w 46 w 47 w 56 w 57 w 36 .y 3 w 46 .y 4 w 56 .y 5 w 37 .y 3 w 47 .y 4 w 57 .y 5

          

        3

          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, onde

          ϕ Σ v

          7

          ϕ Σ v

          6

          ϕ Σ v

          

        4

          ϕ Σ v

          2

          ϕ Σ v

          1

        e) Retropropagação do erro:

          Mostra-se, entretanto que para a camada anterior à de saída, tem-se: ϕ Σ v

          Figura AI.4 – Rede com três camadas.

          k é um neurônio da camada de saída e j um neurônio de uma camada anterior.

          (AI.19) δ ( n ) = ϕ ' ( v ( n )) δ ( n ). w ( n )

          i j k kjk

          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 pode-se, através das equações AI.17 ou AI.18, calcular as correções dos

          δ i . De posse dos δ i pesos. v

          3

          ϕ Σ

          δ 3 * w 13 w 36

          δ 3

          v v

          1

          6

          ϕ ϕ

          δ 6

          1 e 6 =d 6 -y 6

          Σ

          w Σ w 23 37 δ 6

          w 14 w 46

          v δ 6

          4

          ϕ

          δ 4 w 56

          Σ

        • w
        • 47 w 24 δ 4 δ 7

            v v

            2

            7

            ϕ ϕ

            1 e 7 =d 7 -y 7 δ 7 w 15

            Σ Σ

            δ 5 w 25 w δ 7

            v 57

            5

            ϕ Σ

            δ 5 *

          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;

          • 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)

            

          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]. O LVQ é 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: (AII.1)

            w ( t

            1 ) w ( t ) ( t ).( e ( t ) w ( t )) = η − + +

            ij ij j ij

            para todo j classificado corretamente. E a equação AII.2: (AII.2)

          • w ( t 1 ) = w ( t ) − η ( t ).( e ( t ) − w ( t ))

            ij ij j ij para todo j classificado incorretamente. onde: η é a taxa de aprendizado; w pesos dos neurônios selecionados.

            ij

            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.

Novo documento

Tags

Documento similar

UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE MESTRADO EM ENGENHARIA ELÉTRICA SUZANA RIBAS DE ALMEIDA
0
1
116
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGIAS – CCT DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA – PPGEEL
0
0
137
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 ENGENHARIA ELÉTRICA
1
2
140
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 ENGENHARIA ELÉTRICA - PPGEEL
0
1
133
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 ENGENHARIA ELÉTRICA - PPGEEL
0
0
65
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 ENGENHARIA ELÉTRICA - PPGEEL
0
0
160
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 ENGENHARIA ELÉTRICA
0
1
302
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA – PPGEEL MESTRADO PROFISSIONAL EM ENGENHARIA ELÉTRICA
0
1
113
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE COORDENAÇÃO DO PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA – PPGEEL Formação: Mestrado Profissional em Engenharia Elétric
0
0
147
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 ENGENHARIA ELÉTRICA - PPGEEL
0
0
156
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 ENGENHARIA ELÉTRICA - PPGEEL HORÁCIO BECKERT POLLI
0
1
111
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT CURSO DE ENGENHARIA ELÉTRICA
0
0
146
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 ENGENHARIA ELÉTRICA - PPGEE
0
1
190
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE MESTRADO PROFISSIONAL EM ENGENHARIA ELÉTRICA
0
0
152
UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE MESTRADO EM ENGENHARIA ELÉTRICA DIOGO LUIZ LEMES DA CRUZ
0
0
101
Show more