95
INSTITUTO MILITAR DE ENGENHARIA PAULO CESAR CARNEIRO PADILHA DESENVOLVIMENTO DE UMA METODOLOGIA DE SINTONIA DE CONTROLADORES “FUZZY” UTILIZANDO REDES NEURAIS. APLICAÇÕES EM PROCESSOS PETROQUÍMICOS Dissertação de mestrado apresentada ao Curso de Mestrado em Engenharia Elétrica do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Ciências em Engenharia Elétrica. Orientador: Mário Cesar M. M. de Campos - Dr. ECP Co-orientador: Geraldo M. Pinheiro Gomes - Dr.ENSAE Rio de Janeiro 2001

- 13º Paulo_padilha

  • Upload
    ju11

  • View
    43

  • Download
    0

Embed Size (px)

Citation preview

Page 1: - 13º Paulo_padilha

INSTITUTO MILITAR DE ENGENHARIA

PAULO CESAR CARNEIRO PADILHA

DESENVOLVIMENTO DE UMA METODOLOGIA DE SINTONIA DE

CONTROLADORES “FUZZY” UTILIZANDO REDES NEURAIS.

APLICAÇÕES EM PROCESSOS PETROQUÍMICOS

Dissertação de mestrado apresentada ao Curso de Mestrado em Engenharia Elétrica do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Ciências em Engenharia Elétrica.

Orientador: Mário Cesar M. M. de Campos - Dr. ECP

Co-orientador: Geraldo M. Pinheiro Gomes - Dr.ENSAE

Rio de Janeiro

2001

Page 2: - 13º Paulo_padilha

2

C2001

INSTITUTO MILITAR DE ENGENHARIA

Praça General Tibúrcio, 80 – Praia Vermelha

Rio de janeiro – RJ CEP: 22290-270

Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá inclui-

lo em base de dados, armazenar em computador, microfilmar ou adotar qualquer

forma de arquivamento.

É permitida a menção, reprodução parcial ou integral e a transmissão entre

bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que

esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações,

desde que sem finalidade comercial e que seja feita a referência bibliográfica

completa.

Os conceitos expressos neste trabalho são de responsabilidade do autor e do

orientador.

P123 Padilha, Paulo Cesar Carneiro. Desenvolvimento de uma metodologia de sintonia de controladores “fuzzy” utilizando redes neurais: aplicações em processos petroquímicos / Paulo Cesar Carneiro Padilha. – Rio de Janeiro : Instituto Militar de Engenharia, 2001. 95 p. : il., graf., tab. Dissertação (mestrado) – Instituto Militar de Engenharia – Rio de Janeiro, 2001.

1. Sintonia de controladores “fuzzy”. 2. Controle robusto. 3. Processo petroquímico. 4. Rede neural “fuzzy”. I. Instituto Militar de Engenharia. II. Título. CDD 629.83

Page 3: - 13º Paulo_padilha

3

INSTITUTO MILITAR DE ENGENHARIA

PAULO CESAR CARNEIRO PADILHA

DESENVOLVIMENTO DE UMA METODOLOGIA DE SINTONIA DE

CONTROLADORES “FUZZY” UTILIZANDO REDES NEURAIS.

APLICAÇÕES EM PROCESSOS PETROQUÍMICOS

Dissertação de mestrado apresentada ao Curso de Mestrado em Engenharia Elétrica do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Ciências em Engenharia Elétrica.

Orientador: Mário Cesar Mello Massa de Campos – Dr. ECP

Co-orientador: Geraldo Magela Pinheiro Gomes – Dr.ENSAE

Aprovada em 03 de maio de 2001 pela seguinte Banca Examinadora:

Prof. Mário César Mello Massa de Campos – Dr. ECP, do IME - Presidente

Prof. Geraldo Magela Pinheiro Gomes – Dr.ENSAE, do IME

Prof. Roberto Ades – Dr. PUC – Rio, do IME

Prof. Maurício Bezerra de Souza Júnior – D.Sc., da UFRJ

Rio de Janeiro

2001

Page 4: - 13º Paulo_padilha

4

A minha esposa pelo incentivo, apoio e paciência.

Page 5: - 13º Paulo_padilha

5

AGRADECIMENTOS

A Deus.

Ao Instituto Militar de Engenharia pela oportunidade da minha participação neste

curso.

A CAPES pelo apoio material.

Aos professores Cel. Pinheiro, Cap. Ades, Leonardo, Luiz Antônio, Maj. Decílio,

Nunes e Carla do Departamento de Engenharia Elétrica do IME, bem como aos

professores João Carlos Basílio e Afonso Celso da COPPE.

Aos colegas de mestrado Edilmar, Maurício e Cap. Rebello pela camaradagem e

integração.

Especial ao professor orientador Mário César Mello Massa de Campos pelo

apoio integral, dedicação, interesse e paciência.

Page 6: - 13º Paulo_padilha

6

SUMÁRIO

LISTA DE ILUSTRAÇÕES...........................................................................................9

LISTA DE TABELAS..................................................................................................12

LISTA DE ABREVIATURAS E SÍMBOLOS................................................................13

1 INTRODUÇÃO.............................................................................................17

1.1 Introdução.....................................................................................................17

1.2 Objetivos do Trabalho..................................................................................18

1.3 Desenvolvimento do Trabalho......................................................................18

2 CONTROLE “FUZZY”.................................................................................19

2.1 Introdução....................................................................................................19

2.2 Introdução à lógica “Fuzzy”..........................................................................19

2.2.1 Subconjuntos “Fuzzy”...................................................................................19

2.2.2 Grau de Pertinência......................................................................................20

2.2.3 Tipos de Funções de Pertinência.................................................................21

2.2.4 Operação entre Subconjuntos “Fuzzy”.........................................................23

2.2.5 Relações “Fuzzy”..........................................................................................24

2.2.6 Raciocínio “Fuzzy”........................................................................................25

2.3 Controle de Processo “Fuzzy”......................................................................26

2.3.1 Modelo Básico do Controlador “Fuzzy”........................................................26

2.3.1.1 Exemplo de um controlador “Fuzzy”.............................................................28

2.3.1.2 Exemplo de CLF para um Processo simples (SISO)...................................30

3 REDES NEURAIS ARTIFICIAIS...................................................................38

3.1 Introdução.....................................................................................................38

Page 7: - 13º Paulo_padilha

7

3.2 Redes Neurais Artificiais..............................................................................38

3.3 Redes Neurais Artificiais Multicamada.........................................................38

3.4 Propriedade de Aproximação Universal das Redes Neurais.......................41

3.5 Generalidades sobre o Processo de Aprendizagem....................................41

3.6 Rede Neural com Base Radial (RNBR)........................................................44

3.7 Aproximação de Funções através de RNBR................................................45

4 REDES NEURAIS FUZZY............................................................................54

4.1 Introdução.....................................................................................................54

4.2 Redes Neurais “Fuzzy” (RNF)......................................................................54

4.3 Estrutura de RNF..........................................................................................56

4.4 Algoritmo de Aprendizagem.........................................................................59

4.4.1 Aprendizagem da Estrutura..........................................................................59

4.4.2 Aprendizagem Paramétrica..........................................................................63

4.5 Exemplo de Aplicação do Algoritmo de Aprendizagem...............................66

4.6 Exemplo de Aplicação: Coluna Desbutanizadora........................................73

4.6.1 Controlador “Fuzzy”......................................................................................74

4.6.2 Controlador Neuro “Fuzzy”...........................................................................75

5 CONCLUSÕES E PERSPECTIVAS............................................................79

5.1 Conclusões...................................................................................................79

5.2 Perspectivas.................................................................................................80

6 REFERÊNCIAS BIBLIOGRÁFICAS............................................................82

7 APÊNDICES.................................................................................................85

7.1 APÊNDICE 1: Fluxograma do algoritmo.de aprendizagem.da RNF...........85

Page 8: - 13º Paulo_padilha

8

7.2 APÊNDICE 2: Diagrama do controlador Neuro “Fuzzy” do exemplo 4.5....86

7.3 APÊNDICE 3: Controle “Fuzzy” duplo para a Coluna Desbutanizadora.....87

7.4 APÊNDICE 4: Diagrama do Controlador “Fuzzy” (parte 4.6.1)...................92

7.5 APÊNDICE 5: Diagrama do “Mod. Desbutanizador” do Controlador “Fuzzy”

(parte 4.6.1)..........................................................................93

7.6 APÊNDICE 6: Diagramas dos erros normalizados de tp e tf (parte 4.6.1)..94

7.7 APÊNDICE 7: Diagrama que atualiza os valores iniciais para as funções de

transferência (parte 4.6.2).....................................................95

Page 9: - 13º Paulo_padilha

9

LISTA DE ILUSTRAÇÕES

FIG. 2.1 Funções de pertinência............................................................................20

FIG. 2.2 Funções de pertinência da variável temperatura....................................21

FIG. 2.3 A, B e C Funções de pertinência triangular, trapezoidal e gaussiana....21

FIG. 2.4 União........................................................................................................23

FIG. 2.5 Interseção.................................................................................................24

FIG. 2.6 Complemento...........................................................................................24

FIG. 2.7 Controlador “Fuzzy”..................................................................................27

FIG. 2.8 Controlador convencional.........................................................................27

FIG. 2.9 Inferência “Fuzzy”.....................................................................................29

FIG. 2.10 Funções de pertinência das 3 variáveis...................................................31

FIG. 2.11 Evolução das variáveis E e DE para definição das regras “Fuzzy”..........32

FIG. 2.12 Controlador “Fuzzy” (diagrama)...............................................................34

FIG. 2.13 Erro normalizado (diagrama)....................................................................34

FIG. 2.14 Ponto de Operação / saída do processo (controlador “Fuzzy”)................35

FIG. 2.15 Controlador PID........................................................................................36

FIG. 2.16 Ponto de operação / saída do processo (controlador PID)......................36

FIG. 3.1 Modelo de rede neural multicamada........................................................39

FIG. 3.2 Arquitetura do neurôneo artificial i............................................................39

FIG. 3.3 Rede neural com retroalimentação..........................................................40

FIG. 3.4 Diagrama de aprendizagem.....................................................................43

FIG. 3.5 Modelo da rede nerual com Base Radial.................................................44

FIG. 3.6 Função para aproximação (1o exemplo de 3.7).......................................46

FIG. 3.7 Aproximação da função (1o exemplo de 3.7)...........................................47

FIG. 3.8 Evolução da soma do erro quadrático Função para aproximação

(1oexemplo de 3.7)..................................................................................48

FIG. 3.9 Teste de aprendizagem Função para aproximação (1o exemplo de 3.7).48

Page 10: - 13º Paulo_padilha

10

FIG. 3.10 Superfície da função (2o exemplo de 3.7)................................................49

FIG. 3.11 Evolução do erro (2o exemplo de 3.7)......................................................50

FIG. 3.12 Superfície de erro (2o exemplo de 3.7).....................................................51

FIG. 3.13 Diagrama para simulação do processo no MATLAB / SIMULINK

(3oexemplo de 3.7)...................................................................................52

FIG. 3.14 Padrões de entrada e saída.....................................................................52

FIG. 3.15 Aproximação do processo (3o exemplo de 3.7)........................................53

FIG. 3.16 Evolução do erro (3o exemplo de 3.7)......................................................53

FIG. 4.1 Estrutura da RNF......................................................................................58

FIG. 4.2 Fluxograma de Aprendizagem da Estrutura............................................63

FIG. 4.3 PO / saída do processo sem atualização ( exemplo de 4.5)....................67

FIG. 4.4 PO / curvas de referência ( exemplo de 4.5)............................................67

FIG. 4.5 Diagrama do Bloco REFERÊNCIA ( exemplo de 4.5)..............................68

FIG. 4.6 PO / limites de referência / saída do processo após 130 iterações

(exemplo de 4.5).......................................................................................68

FIG. 4.7 FPs iniciais das variáveis de entrada ( exemplo de 4.5)..........................69

FIG. 4.8 FPs da variável erro ( exemplo de 4.5)....................................................69

FIG. 4.9 FPs da variável variação do erro ( exemplo de 4.5)...............................70

FIG. 4.10 Número de regras X Iterações ( exemplo de 4.5)..................................70

FIG. 4.11 FPs da variável erro X Iterações ( exemplo de 4.5).................................71

FIG. 4.12 FPs da variável variação do erro X Iterações ( exemplo de 4.5)............71

FIG. 4.13 EEMQ X Iterações....................................................................................72

FIG. 4.14 Controle dual para a Coluna Desbutanizadora.........................................73

FIG. 4.15 Temperatura de topo (tp) e de fundo (tf) / POs (exemplo de 4.6.1)..........75

FIG. 4.16 Regiões de referência de tp / POtp e tf / POtf (exemplo de 4.6.2)............76

FIG. 4.17 POs / saída do processo (tp e tf) sem aprendizagem

(exemplo de 4.6.2).....................................................................................77

FIG. 4.18 Desempenho do Controlador Neuro “Fuzzy” (exemplo de 4.6.2)..............77

FIG. 4.19 Evolução do desempenho do Controlador Neuro “Fuzzy”........................78

Page 11: - 13º Paulo_padilha

11

FIG. 7.1 Fluxograma do algoritmo de aprendizagem da RNF...............................85

FIG. 7.2 Diagrama do Controlador Neuro “Fuzzy”.................................................86

FIG. 7.3.1 Sistema Fuzzy (parte 4.6.1).....................................................................87

FIG. 7.3.2 Função de pertinência da variável Erro (parte 4.6.1)..............................88

FIG. 7.3.3 Função de pertinência da variável dErro (parte 4.6.1)............................89

FIG. 7.3.4 Função de pertinência da variável de saída dU (parte 4.6.1)..................90

FIG. 7.3.5 Conjunto de regras “Fuzzy” (parte 4.6.1)..................................................91

FIG. 7.4 Diagrama do Controlador “Fuzzy” p/ Coluna Desbutanizadoa de

composição dupla.....................................................................................92

FIG. 7.5 Diagrama do “Mod. Desbutanizador” do Controlador “Fuzzy”...................93

FIG. 7.6 Diagramas dos erros normalizados de tp e tf............................................94

FIG. 7.7 Diagrama que atualiza os valores iniciais ................................................95

Page 12: - 13º Paulo_padilha

12

LISTA DE TABELAS

TAB. 2.1 Regras da base de conhecimento do Controlador “Fuzzy”.......................33

TAB. 4.1 Funções de transferência da Desbutanizadora.........................................74

Page 13: - 13º Paulo_padilha

13

LISTA DE ABREVIATURAS E SÍMBOLOS

ABREVIATURAS

CNF - Controlador Neuro “Fuzzy”

EMQ - Erro Médio Quadrático

EMQtf - Erro Médio Quadrático da temperatura de fundo

EMQtp - Erro Médio Quadrático da temperatura de topo

FP - Função de Pertinência

MIMO - “Multiple Input Multiple Output”

PID - Controlador Proporcional Integral Derivativo

RNBR - Rede Neural com Base Radial

RNF - Rede Neural “Fuzzy”

SISO - “Single Input Single Output”

PO - Ponto de Operação

SÍMBOLOS

loge Logaritmo base natural

exp Base do logaritmo natural (2,718...)

µA(x) Função de pertinência

bj(x) Função de pertinência gaussiana

δ Parâmetro de sintonia da RNF para decisão de criar uma nova FP

m Centro da função de pertinência gaussiana

σ Desvio padrão da função de pertinência gaussiana

Page 14: - 13º Paulo_padilha

14

w Pesos das regras

Ek Erro quadrático

ηm Taxa de aprendizagem dos centros das FPs gaussianas

ησ Taxa de aprendizagem dos desvios padrões das FPs gaussianas

ηw Taxa de aprendizagem dos pesos das regras

Page 15: - 13º Paulo_padilha

15

RESUMO

Os sistemas de controle “Fuzzy” são atualmente ferramentas importantes para a solução de problemas complexos de controle em plantas industriais. O controlador “Fuzzy” tem como característica a capacidade de incorporar o conhecimento de operadores e engenheiros especialistas na estratégia de controle valorizando desta forma estas informações. O objetivo deste trabalho é o desenvolvimento de uma metodologia para sintonia de controladores “Fuzzy” utilizando uma arquitetura de Rede Neural. A associação da teoria de subconjuntos “Fuzzy” com a Rede Neural combina a capacidade de raciocínio dos Sistemas “Fuzzy” com a capacidade de aprendizagem das Redes Neurais. Neste trabalho apresenta-se inicialmente conceitos introdutórios da teoria da lógica de subconjuntos “Fuzzy” bem como o modelo básico de um controlador “Fuzzy”, seguido de aplicações ilustrativas. Apresenta-se, em seguida, uma introdução às Redes Neurais com alguns exemplos de aplicações. Finalmente mostra-se a possibilidade de interpretar um sistema “Fuzzy” através de uma rede especial utilizando os algoritmos de aprendizagem desta última para a obtenção dos parâmetros de sintonia do controlador “Fuzzy”. Esta metodologia é aplicada para a sintonia (obtenção dos parâmetros e da estrutura) de um controlador “Fuzzy” em um exemplo de processo petroquímico.

Page 16: - 13º Paulo_padilha

16

ABSTRACT

The Fuzzy Control Systems are nowadays an important instruments for solution of complex problems in industrial plants. The Fuzzy controller has as a characteristic the capacity to incorporate the knowledge of specialized operators and engineers in control strategy in order to give value on these information. The purpose of this work is the development of a methodology for tuning the Fuzzy controllers using a Neural Network architecture. The association of the Fuzzy Subsets Theory with the Neural Network combines the capacity of reasoning of Fuzzy System with the learning capacity of the Neural Networks. In this work it is presented , initially , introductory concepts of Fuzzy Subsets Logic Theory, as well as the basic model of a Fuzzy controller followed by illustrative applications. After that it is presented an introduction to the Neural Network with some examples of applications. Finally, it is shown the possibility of interpreting a Fuzzy System through a special network and to use the learning algorithms of this last one to obtain the tuning parameters of the Fuzzy controller. This methodology is applied for the tuning (obtaining the parameters and the structure) of the Fuzzy controller in an example of a petrochemical process.

Page 17: - 13º Paulo_padilha

17

1 INTRODUÇÃO

1.1 INTRODUÇÃO

Em sistemas complexos, tais como veículos aéreos não tripulados e processos

industriais petroquímicos, o uso de sistemas de controle inteligentes visa melhorar o

desempenho face a variações das condições ambientais, interações entre variáveis,

não-linearidades e variações de parâmetros ao longo do tempo. Normalmente estes

sistemas são solicitados a operar em vários pontos de operação necessitando

portanto de robustez, estabilidade e transições suaves entre estes possíveis pontos

de operação. Um sistema de controle que fosse capaz de melhorar o desempenho,

se adaptando de certa forma a novos pontos operacionais, continua sendo uma área

de pesquisa promissora (HARRIS et al, 1993).

O objetivo básico do controle adaptativo é manter o desempenho do sistema na

presença de incertezas ou variações desconhecidas dos parâmetros da planta

adaptando o controlador. Tipicamente, os controles adaptativos são desenvolvidos

para sistemas lineares MIMO, sistemas não lineares SISO e para certas classes de

sistemas não lineares MIMO (JAGANNATHAN, 1998) e (ZHANG et al,1997).

Atualmente, as Redes Neurais “Fuzzy” (RNFs) são usadas para implementar

sistemas lógicos “fuzzy”. As RNFs combinam capacidade de aprendizagem das

Redes Neurais com o alto poder de raciocínio e de decisão obtidos pelos sistemas

“fuzzy” (THEOCHARIS e VACHTSEVANOS, 1996). Existem diversas maneiras de

se implementar uma RNF (LEITÃO, 2000), (CAMPOS,1997). A obtenção de um

modelo de RNF para uma relação entrada-saída desejada requer a aprendizagem

paramétrica e também a aprendizagem da estrutura da rede. A aprendizagem da

estrutura é efetuada, por exemplo, modificando o número de partições do espaço de

entrada e expandindo o conjunto de regras-base “fuzzy” enquanto a aprendizagem

paramétrica atua ajustando os pesos da rede. A construção de uma RNF pode ser

classificada em duas categorias : 1) estrutura neural “fuzzy” baseada no método de

inferência Takagi e Sugeno (TAKAGI e SUGENO,1985) com função conseqüente

linear (JANG,1992,1993) e 2) estrutura neural “fuzzy” e conseqüentes “fuzzy”

[JANG, 1993].

Page 18: - 13º Paulo_padilha

18

A estrutura neural “fuzzy” proposta em (MINGZHONG e FULI, 1997) é

considerada neste trabalho. Esta estrutura de RNF consiste em uma base de regras

“fuzzy” Takagi e Sugeno cujas partes conseqüentes são polinômios lineares das

variáveis de entrada (premissa). Ela contempla os dois tipos de aprendizagem: a da

estrutura e a dos parâmetros que são usados para o desenvolvimento ”adaptativo”

da RNF (THEOCHARIS e VACHTSEVANOS, 1996). A aprendizagem da estrutura

insere novas funções de pertinência criando novas regras “fuzzy” e determina os

parâmetros das novas regras baseadas nos dados de saída desejados. A

aprendizagem dos parâmetros atualiza a média, o desvio padrão das funções de

pertinência gaussianas e os pesos dos conseqüentes das regras através do

algoritmo de retro-propagação.

1.2 OBJETIVO DO TRABALHO

A motivação deste trabalho é estudar a possibilidade de usar conceitos de

Redes Neurais “Fuzzy” (RNF) para o desenvolvimento de uma metodologia de

sintonia de Controladores “Fuzzy” aplicada a um processo petroquímico

multivariável.

1.3 DESENVOLVIMENTO DO TRABALHO

No capítulo 2 apresenta-se de forma sucinta alguns conceitos da lógica “fuzzy”;

mostra-se o modelo básico do controlador “fuzzy” e a aplicação deste tipo de

controlador em exemplos simples de processo.

No capítulo 3 apresenta-se informações básicas sobre redes “Neurais Artificiais”,

sua aplicação na aproximação de funções e alguns outros exemplos de aplicações

de redes.

No capítulo 4 apresenta-se um modelo de Rede Neural “Fuzzy” (RNF), os

métodos de aprendizagem paramétrica e estrutural da mesma. Em seguida mostra-

se como a RNF pode ser usada para a sintonia de controladores “Fuzzy”. A

aplicação deste método é feita inicialmente em um modelo SISO simples e em

seguida a um processo petroquímico MIMO.

No capítulo 5 apresenta-se alguns comentários, análises, conclusões e

perspectivas.

Page 19: - 13º Paulo_padilha

19

2 CONTROLE “FUZZY”

2.1 INTRODUÇÃO Neste capítulo apresenta-se de forma sucinta alguns conceitos da lógica ”fuzzy”;

mostra-se o modelo básico do Controlador ”Fuzzy”, bem como aplicações deste tipo

de controlador em exemplos simples de Processos, comparando o desempenho

com o de controladores PID convencionais.

2.2 INTRODUÇÃO À LÓGICA “FUZZY”

A teoria dos subconjuntos “fuzzy” foi proposta pelo Prof. Lotfi Zadeh em 1965

(ZADEH,1965). Fuzzy em inglês significa: difuso, nebuloso. A matemática nebulosa

(fuzzy) realiza operações com subconjuntos (nebulosos).

A teoria de subconjuntos “fuzzy” objetiva criar um sistema ou um ambiente que

permita representar conhecimentos complexos, incertos, contraditórios e

incompletos de maneira sistemática e lógica (BOUCHON-MEUNIER, 1995). O

sistema ”fuzzy” alia a flexibilidade do tipo simbólico de representação dos

conhecimentos (normais nos sistemas especialistas convencionais) com o poder dos

cálculos numéricos das técnicas baseadas em redes neurais (CAMPOS,1997).

2.2.1 SUBCONJUNTOS “FUZZY”

O subconjunto ”fuzzy” A é caracterizado pelo par (X , µµµµA(X)), onde X é a

variável (discreta ou contínua) do universo em estudo e µµµµA(X) é uma função função

de pertinência cuja imagem pertence ao intervalo [0 , 1] , em que 1 representa o

conceito de pertinência total e 0, o de não pertinência, definida por:

µµµµA : X [0 ,1]

A FIG. 2.1 mostra um exemplo de definição de funções de pertinência que

caracterizam a variável com valores próximos de zero (conjunto A1) e próximos de

4 (conjunto A2).

Page 20: - 13º Paulo_padilha

20

µµµµA(X)

1 A1

A2

0 4 8 variável x

FIG. 2.1: Funções de pertinência µA1(x) e µA2(x).

2.2.2 GRAU DE PERTINÊNCIA

Um elemento x pertence a um subconjunto “fuzzy” X={x} ,discreto ou contínuo,

se existe um grau de pertinência normalizado µµµµA(x) entre zero e um. Isto é, µµµµA(x)

associa cada elemento de X um grau de pertinência entre zero e um com o qual x

pertence a A.

Exemplificando:

Ao observar um objeto xi pode-se decidir se ele é grande, médio ou pequeno e

atribuir graus de pertinência a estes subconjuntos “fuzzy”. Grande pode ser uma

pertinência 0,8 (µGRANDE(xi)=0,8), pequeno pode ser uma pertinência 0,2

(µPEQUENO(xi)=0,2).

Os subconjuntos (“fuzzy”) grande e médio, por exemplo, podem não ter

fronteira bem definida ,ou seja, têm fronteira nebulosa, pois podem existir vários

elementos comuns aos dois subconjuntos, com graus de pertinência diferentes .

Uma variável lingüística é definida pelo trio V, X e TV, onde V é uma variável

definida sobre um conjunto de referência (domínio) X. O conjunto TV = {A1, A2,...},

finito ou infinito, contem os subconjuntos “fuzzy” normalizados de X que servem para

caracterizar V. Por simplicidade, usa-se a mesma notação para representar os

valores lingüísticos Ai (baixa, alta, etc.) e os subconjuntos “fuzzy” associados.

Page 21: - 13º Paulo_padilha

21

Um exemplo: dentro do intervalo [0 , 100] , pode-se definir a variável

temperatura com três valores lingüísticos : A1=baixa ,A2=média e A3=alta. Estes

valores caracterizam subconjuntos “fuzzy” com as funções pertinência (FP)

representadas na FIG. 2.2 cuja variável conjunto TV é:

T Temperatura={baixa, média, alta}

FP

1 baixa média alta

0 10 50 90 100 Temperatura (0C)

FIG. 2. 2 Funções de pertinência da variável “temperatura”.

2.2.3 TIPOS DE FUNÇÃO DE PERTINÊNCIA

Existem diversas formas de funções de pertinência (FP) para representar

adequadamente os subconjuntos “fuzzy”. Algumas das mais utilizadas são a

triangular, trapezoidal e gaussiana que são mostradas nas FIG. 2.3 A, B e C.

FIG. 2.3A Função de pertinência triangular.

0 2 4 6 8 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

FP TRIÂNGULAR

Page 22: - 13º Paulo_padilha

22

FIG. 2.3B Função de pertinência trapezoidal.

FIG. 2.3C Função de pertinência gaussiana.

0 2 4 6 8 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

FP GAUSSIANA

0 2 4 6 8 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

FP TRAPEZOIDAL

Page 23: - 13º Paulo_padilha

23

2.2.4 OPERAÇÃO ENTRE SUBCONJUNTOS “FUZZY”

Pode-se definir várias operações com subconjuntos “fuzzy” (união, interseção,

complemento,...). A seguir são analisadas algumas destas operações.

União:

Sejam A e B, subconjuntos “fuzzy” com funções de pertinência µµµµA e µµµµB. A união

entre os dois subconjuntos é um subconjunto “fuzzy” C, tal que sua função de

pertinência é definida como:

µC=µA ∪ µB

µC(xi) =max{µA(xi) , µB(xi)} (∀ xi ∈ X)

µ µC(X)

A B C=A ∪ B

x x

FIG. 2.4 União entre subconjuntos “fuzzy”.

Interseção:

Sejam A e B os subconjuntos “fuzzy” definidos anteriormente. A interseção entre

os dois subconjuntos é um outro subconjunto “fuzzy” C, tal que:

µC=µA ∩ µB

µC=min{µA (Xi ), µB(Xi)} (∀ xi ∈ X)

Page 24: - 13º Paulo_padilha

24

µ µC(X)

A B C=A ∩ B

x x

FIG. 2.5 Interseção entre subconjuntos “fuzzy”.

O operador min pode ser usado para realizar a interseção entre subconjuntos

”fuzzy” (CAMPOS, 1997).

Complemento:

Seja A o subconjunto “fuzzy” anterior. O complemento do subconjunto é também um

subconjunto “fuzzy” Ã, tal que:

µÃ(xi)={1-µA(xi)}

µ µÃ(X)

A Ã=1 - A

x x

FIG. 2.6 Complemento entre subconjuntos “fuzzy”.

2.2.5 RELAÇÕES “FUZZY”

A relação entre subconjuntos “fuzzy” mostra as ligações imprecisas ou graduais

entre os elementos destes subconjuntos (ZADEH,1973).

Um sistema dinâmico pode ser interpretado como uma transformação entre

entradas e saídas . No caso de um sistema “fuzzy”, estas transformações são

Page 25: - 13º Paulo_padilha

25

definidas entre os subconjuntos “fuzzy” dos diferentes domínios das variáveis de

entradas e saídas através de uma implicação lingüística, do tipo:

A ⇒ B, isto é, SE {A(u)} ENTÃO {B(v)}

Um algoritmo “fuzzy” é composto de N regras lingüísticas:

R1: [SE {A1(u)} ENTÃO {B1(v)}]

R2: [SE {A2(u)} ENTÃO {B2(v)}]

:

RN: [SE {AN(u)} ENTÃO {BN(v)}]

A relação “fuzzy” R para este algoritmo tem função de pertinência µR(u,v) ,

definida, por exemplo, utilizando operadores “min” e “max” em um subconjunto

“fuzzy” do produto cartesiano {Ai x Bi} de função de pertinência igual a:

µR(u,v)=∪i=1,...N {min(µAi(u) , µBi(v))}

µR(u,v)=maxi=1,...N {min(µAi(u) , µBi(v))}

A composição de duas relações “fuzzy” R1 entre X e Y (XxY) e R2 entre Y e Z

(YxZ) é uma relação “fuzzy” R=R1 o R2 entre X e Z (XxZ) com função de

pertinência definida utilizando operadores “min” e “max” como:

µR(x,z)=sup {min(µR1(x,y) , µR2(y,z))} => (x,z) ∈ XxZ e y∈Y

µR(x,z)=max {min(µR1(x,y) , µR2(y,z))}

2.2.6 RACIOCÍNIO “FUZZY”

A lógica “fuzzy” permite um tratamento mais flexível dos conhecimentos do que a

lógica clássica .

Page 26: - 13º Paulo_padilha

26

Por exemplo, se existir uma regra da forma “SE {V é A} ENTÂO {W é B}”; e se

uma medida ou sensor indicar que V está próximo de A , isto é, V é A’ ; o

raciocínio fuzzy conclui que W também deve estar próximo de B , ou seja, W é B’.

Após esta breve introdução aos principais conceitos da lógica “fuzzy”, será

descrito o controle de processo “fuzzy”.

2.3 CONTROLE DE PROCESSO ‘’FUZZY”

Os métodos de controle de processos clássicos são geralmente baseados na

hipótese de que os sistemas são lineares e estacionários, e raramente consideram

as incertezas e as imprecisões da planta (HARRIS, 1993). O regulador “fuzzy” não

precisa de um modelo analítico completo do processo. Ele calcula suas ações em

função de uma base heurística de conhecimentos do processo, e esta pode ser

complexa, mal conhecida (modelo impreciso) e incerta (BERENJI,1993). O controle

“fuzzy” opera com uma função não linear entre as variáveis de entrada e de saída, e

reflete os conhecimentos que os operadores e/ou engenheiros possuem do

processo.

Um sistema especialista clássico tem uma regra para cada situação. Um sistema

baseado na lógica “fuzzy” permite generalizar e inferir dentro do universo de

referência de cada variável controlada. Assim, o controle “fuzzy” pode considerar

vários critérios de desempenho ao mesmo tempo, que podem ser colocados de uma

forma matemática ou lingüística. São os seguintes os objetivos de um controlador

“fuzzy”:

• Controlar e operar automaticamente processos complexos, não lineares e

multivariáveis, com desempenho pelo menos igual ao manualmente obtidos pelos

operadores;

• Respeitar as especificações e restrições operacionais;

• Ser simples, robusto e operar em tempo real.

2.3.1 MODELO BÁSICO DO CONTROLADOR “FUZZY” Uma das diferenças entre um sistema de controle “fuzzy” e um sistema de

controle convencional é que no primeiro existe o elemento fuzzificador ou

codificador que converte as entradas em suas respectivas representações difusas

Page 27: - 13º Paulo_padilha

27

(subconjuntos “fuzzy”). No controlador, os subconjuntos “fuzzy” (caracterizados por

seus respectivos valores lingüísticos, do tipo do mostrado na figura 2.2) são

submetidos ao conjunto de regras que ativa o decodificador. O codificador converte

a saída difusa inferida, que é também composta por subconjuntos “fuzzy”, em um

valor numérico e preciso (ação de controle). As FIG. 2.7 e 2.8 mostram os diagramas

de blocos dos dois tipos de controlador.

FIG. 2.7 Controlador “FUZZY”.

FIG. 2.8 Controlador Convencional.

Defuzzificador

Controlador

Fuzzificador

PROCESSO

Entrada

Conhecimento

Codificado

REGRAS

Subconjuntos

“Fuzzy”

Interface de

Saída

PROCESSO

Entrada

Controlador

Entrada

Saída

Page 28: - 13º Paulo_padilha

28

2.3.1.1 EXEMPLO DE UM CONTROLADOR “FUZZY”.

Seja um sistema que é controlado ajustando uma válvula de vapor de acordo

com a temperatura e a pressão. Este sistema será tomado como exemplo (TORRES

e SILVA, 1995). A FIG. 2.9 mostra as funções de pertinência que representam os

valores das variáveis “fuzzy” de entrada e de saída. São 7 os subconjuntos “fuzzy”

para ação da válvula:

NG (negativo grande), NM (negativo médio), Z (zero), PP (positivo pequeno),etc. Por

simplicidade vamos usar apenas 4 regras “fuzzy” que combinam as funções de

pertinência das variáveis de entrada do processo (parte premissa) com as ações de

controle sobre a válvula (parte conseqüente). As regras são as seguintes:

R1- SE Temperatura é Fria E Pressão é Muito Baixa

ENTÃO Ação da válvula é PG.

R2- SE Temperatura é Fria E Pressão é Baixa

ENTÃO Ação da válvula é PM.

R3- SE Temperatura é Fria E Pressão é Correta

ENTÃO Ação da válvula é Z.

R4- SE Temperatura é Fria E Pressão é Alta

ENTÃO Ação da válvula é NM.

A inferência “fuzzy” converte o conhecimento contido nas regras em um valor

preciso do posicionamento da válvula de vapor.

Tendo como base apenas as 4 regras apresentadas, se em um determinado

instante to os sensores do Processo indicarem uma temperatura T(to) e uma

pressão P(to) como na FIG. 2.9. Então a variável T, neste instante, ativaria apenas

a função de pertinência Fria com grau de pertinência 0,5. Por outro lado a variável P

tem grau de pertinência em dois subconjuntos “fuzzy”: Baixa (com grau de

pertinência 0,6) e Correta (com grau de pertinência 0,25). A atividade de atribuir os

graus de pertinência é chamada de codificação ou fuzzificação. Assim estas duas

entradas ativam, no tempo to, as regras 2 e 3 como mostra a FIG. 2.9.

Para cada conexão E entre as funções de pertinência da premissa usa-se, por

exemplo, o operador mínimo para se obter o resultado que ativa as funções de

pertinência do domínio de saída: 0,5 (mínimo entre 0,5 e 0,6) para a 2a regra e 0,25

Page 29: - 13º Paulo_padilha

29

(mínimo entre 0,25 e 0,5) para a 3a. Por estas duas regras, as funções de

pertinência da saída ativadas são: a PM ( assumindo o grau de pertinência 0,5) e Z

(assumindo o grau de pertinência 0,25). A seguir serão combinadas as duas regras.

Esta combinação produz uma função de pertinência para o domínio da saída que é,

então inferida, através de umas das técnicas de defuzzificação ou decodificação,

por exemplo, Centroíde (centro de gravidade) isto é:

Ação da válvula=( ) ( )0,25 0 / 0,5 360 /

240 /0,25 0,5

mm s mm smm s

× + ×=

+

Onde: centro da função PM=360 mm/s

centro da função Z=0 mm/s

A cada instante os sensores cáptam outros pares de valores (T e P) e o

controlador, então, recalcula as novas ações de saída.

µ Muito Muito

Fria Fria Morna Quente Quente

1

0,5 Ativação das Regras 2 e 3

0 T µ

110 T(to) 220 330 1 NG NM NP Z PP PM PG

Temperatura em graus Celsius

0,5

µ Muito Muito 0,25

Baixa Baixa Correta Alta Alta

1 -600 0 240 360 +600

Ação da Válvula em mm/s

0,6 0,25

0

100 P(to) 1200 2300

Pressão em Pascal

FIG.2.9. Inferência “FUZZY”

Page 30: - 13º Paulo_padilha

30

2.3.1.2 EXEMPLO DE UM CONTROLADOR “FUZZY” PARA UM PROCESSO

SIMPLES (SISO)

A dinâmica do processo é representada pela função de transferência Gp abaixo:

( ) 2

5

1p sG

s s=

+ +

Deseja-se construir um controlador “fuzzy” para este processo. Os passos para

elaboração do controlador “Fuzzy” são:

1o Passo: Definição do domínio das variáveis do controlador.

2o Passo: Normalização, por exemplo, no intervalo [-1 , 1].

3o Passo: Definição das funções de pertinência das variáveis do controlador.

4o Passo: Elaboração das regras.

VARIÁVEIS DO CONTROLADOR:

ENTRADAS: Erro � E(t)=(Ponto de Operação)-(saída do processo)=PO-y(t)

Variação do erro� DE(t)=E(t)-E(t-1)

SAÍDA: �∆U

AÇÃO DE CONTROLE:

Variável manipulada� U

Que irá , por exemplo, abrir ou fechar uma válvula.

FUNÇÕES DE PERTINÊNCIA.

Cada variável terá 7 valores lingüísticos (para as 3 variáveis), sendo cada um

destes valores representado por uma função de pertinência:

{NG, NM, NP, Z, PP, PM, PG}

conforme mostra a FIG. 2.10.

Page 31: - 13º Paulo_padilha

31

FP

1 NG NM NP Z PP PM PG

0

-1 -0,66 -0,33 0 0,33 0,66 1

FIG.2.10 Funções de pertinência das 3 variáveis.

Como cada variável tem 7 valores lingüísticos, pode-se obter até 49 regras

(número de valores lingüísticos elevado à dimensão do espaço de entrada 72). Estas

regras são criadas em função dos conhecimentos de um especialista em controle e

de um especialista do processo a ser controlado, a partir de uma resposta dinâmica

desejada para o sistema. A FIG. 2.11 mostra a resposta dinâmica do processo, que

será usada para a definição das regras “fuzzy”.

A TAB. 2.1 mostra as 17 regras de controle obtidas pela análise do pontos de a

até q da FIG. 2.11, considerando o comportamento aceitável, segundo a análise

qualitativa de um especialista do sistema, da variável de saída para cada um destes

pontos. Por exemplo, no ponto b o erro entre a variável de saída e o seu valor

desejado (Ponto de Operação) está próximo de zero (Z), mas a variação do erro é

negativa e grande (NG), assim espera-se que saída se afaste do seu Ponto de

Operação, logo o controlador deve se antecipar e variar a saída de um forma

negativa e grande (NG) (Regra 2 da TAB. 2.1).

Page 32: - 13º Paulo_padilha

32

E(t)=(PO)-y(t)

DE(t)=E(t)-E(t-1)

ERRO ���� E + - - + + - - + + - - + + - - +

VAR.ERRO���� DE - - + + - - + + - - + + - - + +

FIG. 2.11 Evolução das variáveis “E” e “DE” para definição das regras “Fuzzy”.

0 1 2 3 4 5 6 7-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

PO

a

b

c

d

e

f

g

h

i

jk

l mn o

p

a

b

c

d

e

f

g

h jk

l mn o

p q

i

y(t)

Page 33: - 13º Paulo_padilha

33

TAB. 2.1 Regras da base de conhecimento do controlador “Fuzzy”.

E DE NG NM NP Z PP PM PG

NG NG3 NM16 PM17

NM NM15 NM7

NP NP11

Z NG2 NM6 NP10 Z 13 PP12 PM8 PG4

PP PP9

PM PM5

PG PG1 PM14

A FIG. 2.12 mostra o diagrama de simulação para o controlador “fuzzy” no

MATLAB / SIMULINK no qual destacam-se os blocos controlador “fuzzy” (com 17

regras) e Erro normalizado (FIG. 2.13). A variação do erro normalizado é obtida

através dos blocos retardo 1 e sum 1. A saída do Controlador (∆U) é processada

pelos blocos sum 2 e retardo 2 que compõem a ação de controle (U).

Na saída do controlador existe um ganho (kc=3) que que pode ser usado para a

sintonia fina do controlador “fuzzy”.

Page 34: - 13º Paulo_padilha

34

FIG. 2.12 Controlador “FUZZY”.

Para obter um melhor desempenho foi colocado um amplificador para cada

variável de entrada do controlador, cujo efeito é o de sintonia , isto é, ajuste dos

fatores de escala. O ajuste destes ganhos foram obtidos por tentativa e erro.

FIG. 2.13 Erro normalizado.

t

tempo

sp

set-point

saida

saída

z

1

retardo 2, st=1seg1

z

1

retardo 1, st=1seg

ex_contr_fuzzy

E En

erro normalizado

E

erro

Sum2Sum1Sum

Step

Scope4

Scope3

Scope2

Scope1

Scope

s +s+12

5

PROCESSO

Mux

Mux

3

Gain

1.3

Fator deescala /dE

1

Fator deescala /E

Clock

En= (2*(E-Emin)/(Emax-Emin))-1ERRO NORMALIZADO

1

En-20

erro mín.Emin

20

erro máx.Emax

Sum2

Sum1

SumProduct

2

Gain

1

Constant2

1

E

Page 35: - 13º Paulo_padilha

35

A FIG. 2.14 mostra a resposta do Processo (saída) a uma variação de 5 para 25

do Ponto de Operação (PO).

FIG. 2.14 Ponto de Operação / Saída do Processo

Para efeito de comparação, o mesmo processo é controlado por um PID. O

controlador foi ajustado, através de um processo de tentativa e erro, com parâmetros

kP =0,15, kI =0,11 e kD =0,18 ( para obtenção do desempenho considerado

aceitável em função de uma análise visual dos resultados da simulação). O

diagrama em blocos do sistema com controlador PID é mostrado na FIG. 2.15.

A FIG. 2.16 apresenta a resposta do processo como controlador PID.

0 20 40 60 80 1000

5

10

15

20

25

30

tempo(segundo)

PO

(ve

rde)

/ sa

ída

(ver

mel

ho)

Page 36: - 13º Paulo_padilha

36

FIG. 2.15 : Controlador PID.

FIG. 2.16 Ponto de Operação / Saída do Processo

PROCESSO

t

tempo

sp

set-point

saida

saída

s +s+12

5

SumStep

Scope2

Scope1Scope

PID

PID Controllerkp=0.15 ,ki=0.11, kd=0.18

Clock

0 20 40 60 80 1000

5

10

15

20

25

30

tempo(segundo)

PO

(ver

de)

/ saí

da(v

erm

elho

)

Page 37: - 13º Paulo_padilha

37

A comparação entre as FIG. 2.14 (desempenho do controlador “FUZZY”) e 2.16

(desempenho do controlador PID) indica que a resposta do controlador PID é

apenas mais rápida do que a do “FUZZY”.

O desempenho do controlador “FUZZY” pode ser melhorado utilizando-se um

método de sintonia dos seus parâmetros, por exemplo:

• redefinir o número de funções de pertinência das variáveis, posicionar

adequadamente seus centros e ajustar as respectivas larguras.

• incluir novas regras, etc.

Este exemplo mostra que a sintonia de um controlador baseado na lógica

“Fuzzy” (CLF) necessita da definição de um número maior de parâmetros, o que na

prática só se justifica em problemas complexos, pois nos casos simples, algoritmos

do tipo PID podem apresentar um desempenho satisfatório, com um custo bem

menor em termos de parâmetros a serem sintonizados.

CONCLUSÃO

Neste capítulo apresentou-se uma introdução aos CLFs, mostrando os diversos

passos para a construção do algoritmo:

• Definição das variáveis;

• Definição das FPs;

• Definição das regras.

Page 38: - 13º Paulo_padilha

38

3 REDES NEURAIS ARTIFICIAIS

3.1 INTRODUÇÃO

Neste capítulo apresenta-se conceitos básicos sobre redes Neurais Artificiais, e

sua aplicação na aproximação de funções. Por último apresenta-se alguns exemplos

dessa aplicação.

3.2 REDES NEURAIS ARTIFICIAIS

As redes neurais artificiais são construídas a partir de vários elementos simples

de processamento que são geralmente implementados usando componentes

eletrônicos ou através de simulação em computadores digitais.

As redes neurais artificiais são inspiradas no sistema nervoso biológico. Elas

tentam modelar a maneira com que o cérebro humano executa uma determinada

tarefa. Com esse objetivo as redes neurais são formadas usando uma alta

interconexão de células, que operam em paralelo, chamadas de neurônios artificiais.

As redes neurais artificiais têm sido utilizadas para solucionar problemas

complexos de controle, difíceis de serem resolvidos pelos métodos convencionais.

3.3 REDE NEURAL ARTIFICIAL MULTICAMADA

A rede neural multicamada é um sistema artificial (ROSENBLANTT, 1962)

composto de células elementares, chamadas de neurônios, e organizada em

camadas sucessivas que são conectadas entre si. A FIG. 3.1 mostra um modelo de

rede neural multicamada.

Page 39: - 13º Paulo_padilha

39

Camada de Camada

Entrada de Saída

Recepção Decisão

do Sinal

Camada

Intermediária

FIG. 3.1 Modelo de rede neural multicamada.

O NEURÔNIO ARTIFICIAL

O elemento base de toda rede neural é o neurônio artificial. Ele é um

processador não linear (geralmente simulado no computador, e algumas vezes

implementado com circuitos eletrônicos) que a cada instante discreto k, calcula o

seu potencial vi(k) e a sua ativação zi(k) da seguinte maneira:

zi(k) =fi(vi(k)) onde vi(k)=∑∑∑∑j∈∈∈∈Pi(wij x zj(k))

“Pi” é o conjunto dos neurônios da rede conectados ao neurônio i. A ativação vi(k) é

uma soma dos valores das atividades destas unidades ponderadas pelos

coeficientes de ponderação das conexões wij. A função de ativação do neurônio fi é

geralmente não linear. Ela pode ser uma função de distribuição sigmoidal, radial, etc

(RIVALS et al.,1995). Um “neurônio linear” é um simples somador, cuja função de

ativação é a identidade. A FIG. 3.2 ilustra um neurônio artificial.

Z1(k) Wi1

Z2(k) Wi2 Zi(k)=fi(vi(k))

Zj(k) Wij vi(k)=j Pi∈∑ (Wij x

Zj(k))

FIG. 3.2 Arquitetura do neurônio artificial i.

j Pi∈∑ ( ).if

Page 40: - 13º Paulo_padilha

40

Os neurônios artificiais são geralmente organizados em camadas. Cada uma

destas camadas é totalmente conectada à camada seguinte e a anterior. O sinal que

chega à camada de entrada se propaga até a camada de saída. Todos os neurônios

de uma camada calculam suas saídas simultaneamente (paralelismo da rede neural

multi-camadas) (MINSKY e PAPERT, 1969 ). Desta forma, os parâmetros que

caracterizam uma rede neural multicamada são:

• número de camadas;

• número de neurônios por camada;

• escolha das conexões;

• tipos de funções de ativação dos neurônios;

• peso de cada uma das conexões.

Uma rede neural pode ter ou não uma retroalimentação. Uma rede em malha

aberta ou sem retroalimentação (estática) se caracteriza por não possuir uma malha

fechada ou ciclo, e representa geralmente uma relação algébrica não linear entre

suas entradas e saídas. Uma rede fechada ou com retroalimentação (dinâmica)

possui pelo menos uma malha fechada ou ciclo (RIVALS et al.,1995). Um exemplo

deste tipo é mostrado na FIG. 3.3.

Saídas Variáveis de estado

...... .......

Atraso

........ ........ Unitário

Entradas

FIG. 3.3 Rede neural com retroalimentação.

REDE NEURAL

MULTI-CAMADAS

Page 41: - 13º Paulo_padilha

41

Resumindo, uma rede neural é uma estrutura paralelamente distribuída de

processamento de informações, consistindo de uma série de neurônios artificiais

interconectados.

3.4 PROPRIEDADE DE APROXIMAÇÃO UNIVERSAL DAS REDES NEURAIS

A propriedade de aproximação universal das redes neurais pode ser formulada

da seguinte forma:

Para qualquer função determinística suficientemente regular, existe pelo menos uma

rede neural artificial sem retroalimentação, possuindo uma camada intermediária,

além das camadas de entrada e de saída (neurônio linear), que aproxima esta

função e suas derivadas sucessivas, no sentido dos mínimos quadrados, com uma

precisão arbitrária (RIVALS et al.,1995). Este teorema só se aplica quando as

funções de ativação dos neurônios das camadas intermediárias possuem certas

propriedades particulares que não serão desenvolvidas neste trabalho (as funções

sigmoidais satisfazem a esta condições).

Esta propriedade de aproximação universal não é específica das redes neurais:

os polinômios e as séries de Fourier, por exemplo, possuem esta mesma

característica. O que diferencia as redes neurais dos outros aproximadores

universais é sua economia ou parcimônia, isto é, para obter um determinado nível

de aproximação a rede neural utiliza menos parâmetros que os outros

aproximadores (HORNIK et al.,1994). Esta vantagem reduz o tempo de cálculo, e a

quantidade informações necessárias à estimação dos coeficientes da rede. Outra

vantagem das redes é a sua capacidade de lidar com problemas de grandes

dimensões.

3.5 GENERALIDADES SOBRE O PROCESSO DE APRENDIZAGEM

A implementação de uma rede neural multicamadas passa geralmente por três

etapas:

• a definição das entradas e saídas da rede;

Page 42: - 13º Paulo_padilha

42

• a escolha da arquitetura da rede (número de camadas, número de neurônios por

camada e escolha das conexões);

• o ajuste dos pesos das conexões ou aprendizagem da rede.

Uma arquitetura muito simples corre o risco de subestimar a complexidade do

problema. E inversamente, a escolha de uma arquitetura muito complexa para o

problema, pode levar a uma rede extremamente boa para os pontos fornecidos para

treinamento, mas com péssimo desempenho para os novos pontos, isto é, com uma

péssima capacidade de extrapolação. Este problema ligado a concepção de uma

rede neural é conhecido como dilema da aprendizagem (DEFFUANT, 1992].

O ajuste dos pesos das conexões é chamado de aprendizagem da rede e no

caso de uma aprendizagem supervisionada, consiste no seguinte procedimento :

• Apresentar à rede um conjunto de pontos (entradas e saídas desejadas);

• Minimizar uma função Custo (por exemplo, o desvio entre a saída da rede e o

valor desejado).

É importante que o conjunto de dados (pontos) fornecidos à rede durante o

processo de aprendizagem seja suficientemente rico de forma a cobrir, tanto quanto

possível, todo o domínio esperado de funcionamento da rede. O número de pontos

pontos usados durante a aprendizagem também deve ser suficientemente grande

em relação ao número de coeficientes da rede. É interessante observar que a

necessidade de se possuir um número suficiente de pontos representativos do

problema em questão, não é uma limitação das redes neurais, mas uma limitação de

todos os métodos estatísticos. Entretanto, como já foi mencionado, esta limitação é

mais fácil de ser atendida, com o uso das redes neurais.

A aprendizagem de uma rede neural é portanto, definida como um problema de

otimização, que consiste em obter os coeficientes da rede que minimizam uma

função custo J. Por exemplo, pode-se definir uma função custo J na iteração i

pela equação:

( )( ) ( ) ( ) ( )

1

, ,

,

TN

k

D k O k i Q D k O k i

J W iN

=

− × × −

=∑

Page 43: - 13º Paulo_padilha

43

onde w representa os coeficientes ou pesos da rede na iteração i, Q é uma matriz

definida positiva, D(k) é o vetor de saídas desejado para o ponto k, O(k,i) é o vetor

de saídas da rede para o ponto k na iteração i, e N é o número de pontos do

conjunto de aprendizagem. A FIG. 3.4 mostra o diagrama de aprendizagem para

uma rede.

Saída - +

Erro

FIG. 3.4 Diagrama de aprendizagem.

A aprendizagem consiste em determinar as conexões que são responsáveis por

um erro da rede, e modificá-los de forma a diminuir este erro. Este problema pode

ser resolvido pelo algoritmo da retro-propagação do gradiente (RUMELHART et

al.,1986), (MULLER e REINHARDT,1991), (CONDAMIN, 1995), que executa uma

busca guiada pelo gradiente para uma rede multicamadas. A cada iteração, isto é,

uma passagem por todos os pontos ou dados do conjunto de aprendizagem, o

algoritmo modifica as conexões ou pesos da rede segundo a fórmula:

W

J

∂∆ = −

A convergência deste método é assegurada, em função da escolha da taxa de

aprendizagem λλλλ, mas o mínimo obtido é local. Este mínimo local depende

fortemente das condições iniciais dos pesos da rede. Desta forma, utilizando-se este

algoritmo não se pode garantir que se tem a melhor rede após a aprendizagem.

Resumindo, a maioria das redes aprende modificando os pesos das conexões. O

desafio é desenvolver uma lei que guie efetivamente o vetor de pesos na direção do

melhor desempenho da rede.

A seguir é descrita, brevemente, a Rede Neural com Base Radial e alguns

exemplos de aplicações em aproximações de funções e identificação de modelos.

DADOS REDE VALOR

ESPERADO

ALGORITMO DE

APRENDIZAGEM

Page 44: - 13º Paulo_padilha

44

3.6 REDE NEURAL COM BASE RADIAL (RNBR)

A Rede Neural com Base Radial é uma rede de três camadas: a camada de entrada, a camada intermediária e a de saída.

Cada nó da camada intermediária é composto por funções de base radial, cuja

forma mais usada é a gaussiana (com seu centro e variância). Cada nó desta

camada está associado a uma região do espaço (domínio) de entrada, desta forma a

saída do nó corresponde ao grau de pertinência da variável de entrada dentro dos

limites da função radial do nó.

Os nós de saída constituem uma combinação linear das saídas de cada nó da

camada intermediária, isto é, uma soma ponderada das saídas destes nós. A FIG.

3.5 mostra um modelo de Rede com Base Radial (sem polarização).

b1(x)

x1 . w1

. . .

. . y

. . .

xN . wj

bj(x)

FIG. 3.5 Modelo da Rede Neural com Base Radial.

A função com base radial Gaussiana é da forma:

( )

2

2exp

2*

j

jj

x mb x

σ

−= −

Page 45: - 13º Paulo_padilha

45

onde:

x : vetor de entrada x=[x1,x2,...,xN]T

σj : desvio padrão do j-ésimo nó ;

mj : vetor centro da função Gaussiana do j-ésimo nó ;

bj(xI) : saída do j-ésimo nó da camada intermediária ;

O valor de cada saída dos nós bj (x) pertence ao intervalo [0,1] de tal forma que

quanto mais próximo do centro da função Gaussiana cj, estiver a entrada x, maior

será a saída do nó. Uma função com base radial tem curva radialmente simétrica em

relação ao seu centro, como a função Gaussiana. Desta forma a saída de cada nó

da camada intermediária fornece o mesmo valor para valores de entrada com

distâncias simétricas com relação ao seu centro. A saída y da rede é obtida por:

1

NR

j jj

y w b=

=∑

onde :

y : saída da rede;

wj : peso associado ao j-ésimo nó;

bj : saída do j-ésimo nó da camada intermediária;

NR : número de nós da camada intermediária.

3.7 APROXIMAÇÃO DE FUNÇÕES ATRAVÉS DE RNBR

1o Exemplo: Como ilustração mostra-se a seguir o projeto de uma RNBR para

aproximar a função abaixo cujo gráfico é mostrado na FIG. 3.6.

y= exp(-x/10) seno(1,5ππππx)

Page 46: - 13º Paulo_padilha

46

FIG. 3.6 Função para aproximação.

O domínio da variável x para treinamento é [-3,3], a distância entre os pontos é

de 0,1, assim o número total de pontos apresentados para treinamento é 61.

A ferramenta utilizada para a aproximação da função, isto é, para o treinamento

da RNBR, é a função solverb do MATLAB da forma:

[W1,B1,W2,B2,NR,TR]=solverb (X,Y,dp) onde: X - matriz NxQ das N entradas de comprimento Q (N é o número de entradas) (Q é o número de dados para treinamento de cada entrada).

Y - matriz SxQ (S é o número de saídas).

dp – conjunto de parâmetros de projeto:

dp(1) - número iterações entre cada apresentação da evolução dos resultados.

dp(2) - número máximo de neurônios.

dp(3) - máxima soma do erro quadrático.

dp(4) – largura inicial da função base radial (BR).

Após o treinamento, a função apresenta os seguintes resultados:

W1 - matriz dos centros (NRxN) da camada das funções BR (NR=no de neurônios).

B1 - vetor das larguras ou variâncias (NRx1) para a camada das funções BR

W2 - matriz de pesos (SxNR) da camada linear (S=no de saídas)

B2 - vetor de polarização (Sx1) para camada linear.

-3 -2 -1 0 1 2 3-1.5

-1

-0.5

0

0.5

1

1.5

x

Y

y= exp(-x/10) seno(1,5πx)

Page 47: - 13º Paulo_padilha

47

NR - número de neurônios com base radial usados.

TR - vetor dos erros durante o treinamento.

O algoritmo solverb treina uma rede representada por uma topologia

semelhante à da figura 3.3 acrescida das entradas B2 (polarizações) à camada de

saída y, assim B2 é somado a y. O algoritmo a cada iteração, minimiza a soma do

erro quadrático. A rede, desta forma, evolui pelo aumento do número de neurôneos

e pelas alterações das Bases Radiais (de seus pesos, centros e larguras) e

polarizações da camada de saída.

A matriz dos parâmetros da função utilizada foi a seguinte:

dp=[20, 100, 0.1, 1 ]

Os resultados para a função da figura 3.4 são os seguintes:

Número de neurôneos : NR=15

W1=[-3, -2.9, -2.8, -2.7, -0.8, -2.6, -2.2, 0.3, -2.5, -0.1, 1.8, -2.4, 3, -0.6, 2.9]T;

B1=[0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326, 0.8326,

0.8326, 0.8326, 0.8326, 0.8326, 0.8326]T;

W2=[-0.0 518, 0.3432, -0.9858, 1.5822, 0, -1.5170, 0.0097, 0, 0.8441, 0, 0, -0.2248,

0, 0, 0]10+9; B2=-84.6771.

As FIG. 3.7 e 3.8 mostram o desempenho da rede na aproximação da função

teste (FIG. 3.6) e a evolução da soma do erro quadrático respectivamente.

FIG. 3.7 Aproximação da função.

-3 -2 -1 0 1 2 3-1.5

-1

-0.5

0

0.5

1

1.5APROXIMAÇÃO DE y=exp(-x/10) seno(1,5πx)

x

SA

ÍDA

:(-)

, O

BJE

TIV

O:(

+)

Page 48: - 13º Paulo_padilha

48

FIG.3.8 Evolução da soma do erro quadrático.

Para teste da rede aumenta-se o domínio da função para o intervalo X ∈[-3.5,

3.5]. O ensaio é realizado com a função simurb do MATLAB. O resultado é

mostrado na FIG. 3.9 em que Y é a resposta da rede e Y1 é a resposta da função.

FIG. 3.9 Teste da aprendizagem da rede.

0 5 10 1510

-20

10-15

10-10

10-5

100

105

NÚMERO DE ITERAÇÕES (NEURÔNIOS)

SO

MA

DO

S E

RR

OS

AO

QU

AD

RA

DO

EVOLUÇÃO

-4 -3 -2 -1 0 1 2 3 4-25

-20

-15

-10

-5

0

5

X

Y(-)

e

Y

1

TESTE DE APRENDIZAGEM

Page 49: - 13º Paulo_padilha

49

A análise do resultado apresentado na FIG. 3.9 indica que a rede só apresenta

uma saída válida para os pontos de entrada localizados no intervalo [-3,3]. Isto é, a

rede não é capaz de extrapolar além da região dos dados usados para treinamento.

Este resultado era esperado pois a RNBR é composta de neurônios que só

apresentam saída válida (≈1) em torno de seu respectivo centro.

2o Exemplo: para aumentar o grau de complexidade, mostra-se a seguir o projeto

de uma RNBR com objetivo de aproximar a função abaixo (com duas variáveis) cujo

gráfico (superfície) é mostrado na FIG. 3.10.

y=10(x13) - x2

4

FIG. 3.10 Superfície da função.

O domínio das variáveis x1 e x2 para treinamento é [-5, 5]. A ferramenta utilizada

para a aproximação da função, isto é para o treinamento da RNBR, é a

mesma função solverb do MATLAB usada e descrita no exemplo anterior. O vetor

de parâmetros utilizado foi o seguinte:

dp=[10, 200, 0.1, 11.5 ]

Page 50: - 13º Paulo_padilha

50

Os resultados são os seguintes:

Número de neurônios : NR=54.

Os primeiros 5 termos da matriz (54x2) dos centros das BRs das variáveis são :

W1=[-4.5 5; 5 3.5; 1.5 4; -1.5 4.5; 5 5;...................................]

As larguras de todas as 54 BRs são iguais formando o seguinte vetor:

B1=[0,0724 ,.........................., 0,0724]T.

Os 5 primeiros termos da matriz (54x1) de pesos da camada linear são:

W2=[0.292; -0.3934; -0.4484; -0.0430; -0.1657;...........................]10+11

A polarização da camada linear é:

B2=-7,8628x10+3.

A FIG. 3.11 mostra a evolução da soma do erro quadrático durante o

treinamento da rede.

FIG. 3.11 Evolução do erro.

Para teste da rede aumenta-se o domínio de ambas as variáveis x1 e x2, para o

intervalo [-5.5, 5.5]. O ensaio é realizado com a função simurb do MATLAB. O

resultado gera uma superfície de erro (Y-Y1) mostrada na FIG. 3.12 em que Y1 é a

resposta da rede e Y é resposta da função.

0 10 20 30 40 5010

-20

10-15

10-10

10-5

100

105

1010

NÚMERO DE ITERAÇÕES (NEURÔNIOS)

SO

MA

DO

S E

RR

OS

AO

QU

AD

RA

DO

EVOLUÇÃO

Page 51: - 13º Paulo_padilha

51

FIG. 3.12 Superfície de erro.

A análise do resultado apresentado na FIG. 3.12 indica, tal como no exemplo

anterior, que a saída da rede só é válida para uma região de pontos que foi

contemplada durante o treinamento, isto é, no intervalo [-5, 5].

3o Exemplo: mostra-se o projeto de uma RNBR para o processo (SISO) mostrado

na FIG. 3.13, e cuja função de transferência é:

2

5( )1

pG ss s

=+ +

A FIG. 3.14 mostra o padrão de entrada para o treinamento da RNBR e a saída

do processo para esta entrada.

Page 52: - 13º Paulo_padilha

52

FIG. 3.13 Diagrama para simulação do Processo no MATLAB / SIMULINK

FIG. 3.14 Padrões de entrada e saída.

A variável u para treinamento foi trocada pela variável t ∈[0, 60]com distância 1

entre os pontos. A ferramenta utilizada para a aproximação da função, isto é para o

treinamento da RNBR, é a função solverb do MATLAB usada e descrita no 1o

exemplo. Para a simulação do modelo Simulink foi usada a função sim do

MATLAB.

A matriz dos parâmetros de projeto é:

t

To Workspace2

u

To Workspace1

saida

To WorkspaceSum

Step2

Step1

Step

Scope1

Scope

s +s+12

5

PROCESSO

Clock

0 10 20 30 40 50 600

10

20

30

U(v

erm

elho

)

0 10 20 30 40 50 600

50

100

150

tempo (segundo)

SA

ÌDA

(azu

l)

Page 53: - 13º Paulo_padilha

53

dp=[20, 200, 0.1, 1]

O número de neurônios resultante foi: NR=76.

A FIG. 3.15 mostra a aproximação do processo.

FIG.3.15 Aproximação do Processo.

A FIG. 3.16 mostra a evolução do erro.

FIG. 3.16 Evolução do erro.

0 10 20 30 40 50 60-20

0

20

40

60

80

100

120

140

160 APROXIMAÇÃO do PROCESSO5/S

ENTRADA

SA

ÍDA

:(-)

, O

BJE

TIV

O:(

+)

0 10 20 30 40 50 60 7010

-20

10-15

10-10

10-5

100

105

1010

NÚMERO DE ITERAÇÕES (NEURÔNIOS)

SO

MA

DO

S E

RR

OS

AO

QU

AD

RA

DO

EVOLUÇÃO

Page 54: - 13º Paulo_padilha

54

4 REDES NEURAIS “FUZZY”

4.1 INTRODUÇÃO

Neste capítulo apresenta-se um modelo de Rede Neural “Fuzzy”, o método de

sua aprendizagem, a aplicação deste método ao processo usado como exemplo nos

capítulos anteriores e finalizando, a validação do método em um processo

petroquímico.

4.2 REDES NEURAIS “FUZZY” (RNF)

A lógica “fuzzy” permite que o comportamento de um sistema possa ser descrito

com relações do tipo se-então. Na área de sistema de controle, soluções “fuzzy”

simples podem ser obtidas de forma direta e em menor tempo de projeto para as

tarefas de modelagem e controle de processos (CAMPOS et al., 2000). Além disso,

a estrutura dos sistemas baseados na lógica “fuzzy” permite utilizar todo o

conhecimento especialista do processo para otimização do seu desempenho de uma

maneira rápida e direta.

Em muitas aplicações o conhecimento disponível para descrição do

comportamento do sistema está restrito a um conjunto de dados experimentais.

Neste caso, o projetista tem que obter as regras “fuzzy” diretamente destes dados, o

que representa um esforço proporcional ao tamanho do conjunto de dados

fornecidos.

Quando um conjunto de dados experimentais contendo as informações

necessárias para descrição de um sistema está disponível, a implementação de

redes neurais surge como uma solução suficiente para a tarefa de modelagem e

controle, devido a sua capacidade de auto-aprendizagem a partir de dados de

treinamento.

Pode-se definir um sistema neuro-“fuzzy” como um sistema “fuzzy” que utiliza um

algoritmo de aprendizado derivado ou inspirado na teoria de redes neurais para

Page 55: - 13º Paulo_padilha

55

determinar seus parâmetros (subconjuntos e regras “fuzzy”) através do

processamento das amostras de dados.

Sistemas neuro-“fuzzy” são usualmente representados como redes neurais de

múltiplas camadas (JANG,1993), (JANG e SUN, 1995) e (BERENJI e KHEDAR,

1992). Entretanto, outras arquiteturas de redes neurais também são utilizadas, tais

como em (VUORIAMAA, 1994) onde os pesos das conexões e as funções de

ativação e propagação diferem das redes neurais mais comuns.

Embora existam várias abordagens diferentes, normalmente utiliza-se o termo

neuro-“fuzzy” para as implementações que apresentam as seguintes características

(NAUCK et al.,1997):

i) Uma estrutura neuro-“fuzzy” é baseada em um sistema “fuzzy”

treinado por um algoritmo de aprendizado derivado da teoria de

redes neurais. O procedimento de aprendizado atua sobre regiões

“fuzzy” restritas, baseando-se apenas em informações locais.

ii) Um sistema neuro-“fuzzy” pode ser visto como uma rede neural de

3 camadas. A primeira camada representa as variáveis de entrada,

a camada intermediária representa as regras “fuzzy” e a terceira

camada representa a camada de saída. Os subconjuntos “fuzzy”

são codificados como pesos das conexões entre os nós da rede.

Embora não seja estritamente necessário representar um sistema

“fuzzy” desta forma, para se aplicar um algoritmo de aprendizagem,

ela apresenta a vantagem da representação explícita do

processamento dos dados no interior do modelo. Também são

comuns arquiteturas de redes com 5 camadas, onde os

subconjuntos “fuzzy” são representados na segunda e na quarta

camada.

iii) Um sistema neuro-“fuzzy” sempre pode ser interpretado como um

conjunto de regras “fuzzy”, isto é, antes, durante e depois da

aprendizagem. Também é possível iniciar o sistema neuro-“fuzzy”

sob a forma de regras “fuzzy” através do conhecimento a priori das

características do processo (CAMPOS, 1997).

Page 56: - 13º Paulo_padilha

56

iv) Um sistema neuro-“fuzzy” aproxima uma função n-dimensional que

é parcialmente definida por seus dados de treinamento. As regras

“fuzzy” codificadas dentro do sistema representam amostras que

podem ser vistas como protótipos dos dados de treinamento.

Assim as RNFs combinam a capacidade de aprendizagem das redes neurais

com a capacidade de raciocínio dos sistemas “fuzzy”. Desta forma, elas formam uma

estrutura que atualiza seus parâmetros em função de uma relação entrada-saída

desejada.

4.3 ESTRUTURA DA RNF

A estrutura da RNF usada neste trabalho é similar a apresentada por Rufus

(RUFUS et al., 1999) e é mostrada na FIG. 4.1. Ela é dividida em três partes:

premissa, conseqüente e de decodificação (defuzzificação). A estrutura consiste em

conjunto de regras “fuzzy” baseadas nas regras Takagi e Sugeno (TAKAGI e

SUGENO,1985) cuja parte conseqüente é formada por polinômios lineares das

variáveis de entrada (premissa).

A parte premissa desta rede consiste das seguintes camadas:

Camada 1: cada nó representa uma variável lingüistica do espaço de

entrada com função de pertinência (FP) gaussiana; cuja saída é um possível

antecedente de uma das regras “fuzzy”.

Camada 2: cada nó representa uma regra “fuzzy”, tendo como saída, a

ativação da regra para uma determinada entrada 1[ ,..., ]mx x x= .

A parte conseqüente desta rede consiste das seguintes camadas:

Camada 3: cada nó representa um polinômio linear das variáveis de entrada

cujos coeficientes são os pesos dos seus termos. A saída de um nó desta

camada é o peso de uma regra “fuzzy” associada, por

exemplo 1 01 11 1 1. ... .k k k kmm

f w w x w x= + + + é o peso associado a 1µ da

camada 2.

A parte de decodificação desta rede consiste das seguintes camadas:

Page 57: - 13º Paulo_padilha

57

Camada 4: a saída de cada nó é o produto da saída da camada 2 (ativação

da regra) pela respectiva saída da camada 3 (peso da regra).

Camada 5: a saída de cada nó é o somatório das saídas da camada 2

(ativação das regras).

Camada 6: a saída de cada nó é o somatório das saídas da camada 4.

Camada 7: cada nó representa uma saída do Sistema que é razão entre as

as camadas 6 e 5, por exemplo: 1

1

.N

kv v

vN

vv

k

f

µ

=

=

=∑

O vetor de entrada da RNF é x=[x1,......,xm]T e o de saída é y=[y1,.......,yp]T.

A base de regras “fuzzy” da RNF é um conjunto de regras da forma Takagi e

Sugeno (TAKAGI e SUGENO,1985), por exemplo:

R(j): SE x1 é A1j E x2 é A2j E.......E xm é Amj ENTÃO

fj1=w1

oj+w11jx1+....+w1

mjxm E.......E fjp=wp

oj+wp1jx1+....wp

mjxm

onde:

l

jf é a saída da j-ésima regra associada ao l-ésimo componente de saída yl.

,..., ,...,l l l

oj ij mjw w w são os coeficientes polinomiais (pesos) que conectam linearmente

as variáveis de entrada à função conseqüente l

jf .

A1j,...,Aij,...,Amj são os termos lingüisticos dos subconjuntos “fuzzy” no espaço das

premissas associado à j-èsima regra R(j). Cada termo Aij é associado a uma função

de pertinência gaussiana µAij(xi) que determina o grau de pertinência com que um

dado xi satisfaz a Aij.

2

2

( )exp

2( )ij

i ijA

ij

x mµ

σ

−= −

onde mij e σσσσij são a média e o desvio padrão da função de pertinência gaussiana

respectivamente.

Page 58: - 13º Paulo_padilha

58

CAMADA 1 CAMADA 2 X1 A11(X1) µ1

• • • CAMADA 5 • •

• A1Q(X1) • 1

N

v

v

µ=

• • • * • • • • CAMADA 7

yk • • CAMADA 4 • Am1(Xm) • µ1.f1

k

Xm • µN CAMADA 6 •

AmR(Xm) • 1

Nk

v v

v

fµ=

• Wk

01

f1k

Wk11

X1 Wkm1

• µN.fNk

• • • Wk

1N Wk0N

fNk

Xm WkmN

CAMADA 3 * OPERADOR DA INVERSA

FIG. 4.1 Estrutura da RNF.

Π

1

INV

Π

Π

PREMISSA

DECODIFICAÇÃO

CONSEQÜENTE

Page 59: - 13º Paulo_padilha

59

A ativação de cada regra R(j) é obtida pelo operador produto, isto é:

( )1 1,..., ( ) ... ( )ij mj

m mj A Ax x x xµ µ µ= × ×

Dado um vetor de entrada x, o k-ésimo componente de saída (yk) do sistema

“fuzzy” é inferido como:

1

1

.N

kj j

jk N

jj

f

y

µ

µ

=

=

=∑

( ) ( ) ( )1 ,...,T

pk k ky t y t y t

=

A saída yk acima é obtida pelo método da média ponderada de defuzzificação

pela estrutura da rede mostrada anteriormente, pode-se observar que a mesma

implementa um algoritmo “fuzzy”, ou melhor, que os parâmetros da rede podem ser

interpretados como parâmetros de um modelo “fuzzy”. Desta forma ao se utilizar um

algoritmo de aprendizagem para a rede pode-se gerar automaticamente o sistema

“fuzzy” desejado, como será discutido a seguir.

4.4 ALGORITMO DE APRENDIZAGEM

O objetivo do processo de treinamento é determinar a estrutura e os parâmetros

adequados das partes premissa e conseqüente da rede. Portanto, a aprendizagem

deve ajustar a estrutura neuro-“fuzzy” pelo acréscimo de novas funções de

pertinência assim como de novas regras (em função do desempenho da RNF) a

partir de um conjunto inicial de regras. A aprendizagem também deve atualizar os

parâmetros (médias e desvios padrões) das funções de pertinência gaussianas bem

como os pesos das regras através de um algoritmo equivalente ao da retro

propagação, para cada ponto de treinamento.

A seguir será detalhado este algoritmo. Inicialmente será discutida a

aprendizagem da estrutura da rede e a seguir a dos parâmetros da mesma.

Page 60: - 13º Paulo_padilha

60

4.4.1 APRENDIZAGEM DA ESTRUTURA

Seja Si o conjunto de termos lingüisticos “fuzzy” associado à i-ésima entrada (xi)

tendo Qi termos (no de subconjuntos “fuzzy”) e N o número de regras no k-ésimo

ponto de treinamento (tempo discretizado). Cada regra é descrita em termos de m

coordenadas cada uma associada a uma entrada xm.

R(j):{A1j,...,Amj}, j=1,...,N onde Aij ∈ Si.

As coordenadas Aij podem ser substituídas (traduzidas) por seus respectivos

números de ordem dentro do subconjunto “fuzzy” de cada variável (xm). Desta forma,

o conjunto de regras do sistema pode ser representado por uma matriz REGRAS

(Nxm), por exemplo: REGRAS=[2 4 ; 1 3]. A primeira linha da matriz (2 4)

representa os antecedentes:

SE (x1 é A12) E (x2 é A24)

Seja x(tk+1) o vetor de entrada no tempo discretizado tk+1. O vetor de entrada

alimenta a RNF que calcula os níveis de ativação de todos os termos da camada 1.

Assim para cada entrada xi a RNF calcula:

**,

max1 1,

max ( ( )), 1,..., ,ivi i vi i

i i i iA Ak ki vx t v Q x tµ µ µ

+ += = = 1,...,i m=

O termo *max, ii v

µ representa o valor máximo de pertinência para a entrada xi(tk+1)

do conjunto de termos “fuzzy” Si. Sendo que este máximo grau de pertinência

ocorre na *iv -ésima pertinência *, ii v

A . Considerando o parâmetro de sintonia δ

como o mais baixo nível admissível para *max, ii v

µ , que se não for atingido deve-se

criar uma nova função de pertinência, o algoritmo de aprendizagem da RNF pode

ser resumido nos seguintes passos:

1) Verifique se os termos *max, ii v

µ são menores ou maiores do que δ .

Se *, ii vµ δ≥ o conjunto Si deve permanecer inalterado (com seus Qi termos).

Page 61: - 13º Paulo_padilha

61

Se *, ii vµ δ< uma nova função de pertinência deve ser adicionada ao conjunto e

seus parâmetros determinados da seguinte forma:

, 1i novo i km x t

+

=

( )

, ,, 2 log

i prox i novo

i novoe

m mσ

α

+ −=

− × , 0<α<1

onde: ,i novom é o centro da nova função de pertinência;

,i novoσ é o desvio padrão da nova função de pertinência;

,i proxm + é o centro da função de pertinência mais próxima de xi(tk+1) que

pertence a Si ;

αααα é um parâmetro que determina o nível de superposição da nova função de

pertinência ,i novaA em relação à mais próxima ,i proxA + .

O desvio padrão ,i novoσ é limitado em

( )

,max 2 loge

ii i

i

R R

α

+ −−=

− ×

onde iR− e iR

+ são os limites inferior e superior do espaço (domínio) de i

x , isto é,

,i i i

x R R

− += .

2) Se nenhuma função de pertinência foi inserida, usar os números de ordem

(posição *iv ) do máximo de cada entrada xi em relação ao seu subconjunto para

formar uma possível nova regra, arranjados da seguinte forma:

REGRA=[ * *1 ,..., mv v ].

Caso esta nova regra ainda não pertença ao conjunto N regras, ela deve ser

inserida na camada 2 da RNF (na última linha da matriz REGRAS que passará a ter

dimensão N+1 x m).

Page 62: - 13º Paulo_padilha

62

3) Se pelo menos uma função de pertinência foi criada (com parâmetros ,i novom e

,i novoσ ) uma nova regra deve ser adicionada na última linha da matriz REGRAS da

seguinte forma:

=> acrescentar o par de novos parâmetros à matriz formada pelos centros e desvios

padrões do algoritmo de aprendizagem, reordená-la pelos centros. Assim o índice

(posição) da nova função de pertinência é restabelecido. A nova regra é obtida

através da combinação deste índice com os índices dos máximos ( )*iv das outras

variáveis e REGRA= * *1 ,.., ,.., mNOVO

v v v

.

4) Se várias funções de pertinência foram criadas, e não somente uma, o

procedimento é mesmo que o anterior e

REGRA= * *1 1 2 ,..,,.., ,.., mNOVO NOVO

v v v v− −

. Assim uma nova regra deve ser

adicionada na última linha da matriz REGRAS.

OBS: Para que não seja criada mais de uma regra para um mesmo ponto de

aprendizagem x(tk+1) foram estabelecidos graus de prioridade, desta forma o último

critério sempre prevalece sobre os anteriores e assim sucessivamente.• O valor

inicial dos pesos (parte conseqüente) para nova regra (N+1) é o seguinte:

0,( 1) 1

,( 1)

( ),

0

l dN l k

li N

w y t

w

+ +

+

=

=

1,...,i m= ; 1,...,l p=

Onde 1( )dl k

y t+

denota a saída desejada da RNF para o ponto de treinamento

k+1 (tempo discretizado tk+1).

A FIG. 4.2 mostra o fluxograma de Aprendizagem da Estrutura.

Page 63: - 13º Paulo_padilha

63

FIG. 4.2 Fluxograma de Aprendizagem da Estrutura.

4.4.2 APRENDIZAGEM PARAMÉTRICA

A aprendizagem da RNF passa também pelo ajuste dos seus parâmetros

(centros e desvios das funções de pertinência gaussianas bem como dos pesos das

regras).

Seja ST o conjunto de dados de treinamento e T um número inteiro de pares

saída-entrada, da forma:

, , 1,...,dT k k

S x t y t k T

= =

R(j):{A1j,...,Amj}, j=1,...,N => matriz REGRAS (N x m)

*max

1,max ( ( )), 1,...,

ivi ii i iA ki v

x t v Qµ µ+

= =

Nova FP:

,i novom e ,i novoσ

Nova REGRA

= * *1,.., ,.., mNOVO

v v v

Possível nova REGRA=

[* *1,..., mv v ]

[* *1,..., mv v ] =>

matriz REGRASagora (N+1 x m)

Nova REGRA =>matriz REGRAS agora(N+1 x m) Matriz REGRAS

Inalterada

*,i

i vµ δ≥

N S

[* *1,..., mv v ] ∈ REGRAS

N S

Page 64: - 13º Paulo_padilha

64

onde 1 ,...,T

d dmy

dk k k

t t y ty

= é o vetor de saída e

1 ,...,T

mk k kx t x t x t

= é o vetor de entrada da RNF.

Pode-se definir:

o erro da RNF no k -ésimo ponto: dk k k

e y t y t

= −

o erro quadrático no k -ésimo ponto: 12

T

k k kE e e

=

o erro de referência: ( ) ( )dRRk k k

y t y te = −

onde dR

y é uma faixa admissível de valores em torno de dy .

Os parâmetros da RNF serão atualizados da seguinte forma:

( ) ( )1 kmij ij

ij

Em t m t t

∂+ = +

( ) ( )1 k

ijijji

Et t tσσ σ η

σ

∂+ = +

( ) ( )0 00

1k kj j k

j

kww

Et w t t

∂+ = +

( ) ( )1k kij ij k

ij

kww

Et w t t

∂+ = +

onde: 1,...,i m= ;

1,..., ij Q= ;

1,...,k p= ;

mη , ση , wη são as taxas de aprendizagem dos centros, desvios e pesos

(são também parâmetros de sintonia do algoritmo de aprendizagem).

Page 65: - 13º Paulo_padilha

65

Os gradientes de k

E em relação aos parâmetros são calculados, para cada

variável de entrada da seguinte forma:

( )( )

, 21

1

ij

p i ijkqlkqRk l l k N

ij l q I ijv

v

x t mEe f y t

m

µ

σµ= ∈

=

−∂= ⋅ − ⋅ ⋅

∂ ∑∑∑

( )( )

, 31

1

ij

p i ijkqlkqRk l l k N

ij l q I ijv

v

x t mEe f y t

µσ σ

µ= ∈

=

−∂= ⋅ − ⋅ ⋅

∂ ∑∑∑

,0

1

E jk eRk lNlw

j vv

µ

µ

∂= ⋅

∂∑=

,

1

E jk e x tiRk l kNlw

ij vv

µ

µ

∂= ⋅ ⋅

∂∑=

onde: 1,...,i m= ;

1,...,j N= ;

1,...,l p= ;

ijI é o conjunto de regras “fuzzy” no k-ésimo ponto de aprendizagem e l

qf é

o peso da regra q .O apêndice 1 mostra o fluxograma que descreve o

algoritmo de aprendizagem da RNF.

Page 66: - 13º Paulo_padilha

66

4.5 EXEMPLO DE APLICAÇÃO DO ALGORITMO DE APRENDIZAGEM

O algoritmo de aprendizagem da RNF será agora aplicado ao Processo que foi

usado como exemplo nos capítulos anteriores:

( ) 25

1pG ss s

=+ +

parâmetros iniciais: variável erro =>E=[-1,1]

7 funções de pertinência

centros => [-1,-0.67,-0.33,0,0.33,0.67,1]

desvios => [1/7,1/7,1/7,1/7,1/7,1/7,1/7]

variável variação do erro =>∆E=[-1,1]

7 funções de pertinência

centros => [-1,-0.67,-0.33,0,0.33,0.67,1]

desvios => [1/7,1/7,1/7,1/7,1/7,1/7,1/7]

Regras => 13 regras (matriz 13 x 2):

[7,4; 4,1; 1,4; 4,7; 6,4; 4,2; 2,4; 4,6; 5,4; 4,3; 3,4; 4,5; 4,4]

Pesos => matriz 13 x 3

[1,0,0; -1,0,0; -1,0,0; 1,0,0; 0.67,0,0; -0.67,0,0; -0.67,0,0;

0.67,0,0; 0.33,0,0; -0.33,0,0; -.033,0,0; 0.33,0,0; 0,0,0]

Estes parâmetros (iniciais) foram feitos, tanto quanto possível, iguais aos do

exemplo 2.3.1.2 onde as FPs são triangulares e com 17 regras. Neste exemplo as

FPs são gaussianas e com 13 regras que são um subconjunto daquelas 17.

A simulação é realizada no MATLAB/SIMULINK. Primeiro verifica-se o

desempenho da RNF sem a aprendizagem, isto é, só com os parâmetros iniciais.

São usados 100 pontos para a aprendizagem da RNF correspondentes a simulação

do tempo 1 ao tempo 100 (yd(t), u(t)).

A FIG. 4.3 apresenta o resultado da simulação apenas com os parâmetros

iniciais (sem aprendizagem) para a iteração dos 100 pontos que produziu erro

médio quadrático EMQ=0,086.

Page 67: - 13º Paulo_padilha

67

FIG. 4.3 PO / saída do processo. Sem atualização.

Para o processo de aprendizagem foram criadas regiões de trajetórias de

referência em torno do Ponto de Operação. Se a variável controlada y(t) estiver

nesta região o sistema para de alterar seus parâmetros. A FIG. 4.4 mostra o Ponto

de Operação e as curvas de referência que limitam a excursão da saída. Esta região

de referência é um parâmetro de sintonia do algoritmo.

O uso de regiões de referência aumenta a robustez do algoritmo de

aprendizagem pois diminui a tendência do processo instabilizar, em função de uma

escolha do objetivo yRd(tk) mais realista. Neste caso, a FIG. 4.5 mostra como foram

implementadas no MATLAB / SIMULINK estas curvas de referência. O apêndice 2

mostra o diagrama completo do simulador para este sistema.

FIG. 4.4 PO / Curvas de referência.

0 20 40 60 80 100-5

0

5

10

15

20

25

PO

(ve

rmel

ho)/

saíd

a(az

ul)

t(seg)

0 20 40 60 80 100-5

0

5

10

15

20

25

30

PO

(ve

rmel

ho)/

refe

rênc

ias(

mag

ent

a)

t(seg)

Page 68: - 13º Paulo_padilha

68

FIGURA 4.5 : Diagrama do Bloco REFERÊNCIA

Após 130 iterações do processo de aprendizagem os parâmetros da RNF

evoluíram de tal forma que o desempenho é o mostrado na FIG. 4.6. comparando-se

com o desempenho inicial (FIG 4.3) pode-se observar que o sistema foi capaz de

melhorar bastante o seu desempenho e respeitar as regiões de referência.

FIG. 4.6 PO / limites de referência / saída do processo após 130 iterações.

As funções de pertinência iniciais da RNF para as variáveis de entrada são

mostradas na FIG. 4.7.

0 20 40 60 80 100-5

0

5

10

15

20

25

30

PO

(ver

mel

ho)

/ saí

da(a

zul)/

refe

rênc

ia(m

agen

ta)

t(seg)

referência 1

2

ref1/ref2

1

E_U

1.0

s +1.5s+12

referência 2TransportDelay1

TransportDelay

1

1.5s+1

Scope

MATLABFunction

REFERÊNCIA

Mux

Mux1

Mux

Mux

Demux

Demux2

y

1

sp

1

1

1

1

11

1

1

11

11

1

1

111

2

2

2

33

33

11

Page 69: - 13º Paulo_padilha

69

FIG. 4.7 FPs iniciais das variáveis de entrada.

As FIG. 4.8 e 4.9 mostram as FPs das variáveis de entrada da rede após as 130

iterações de aprendizagem. Para a variável erro houve o acréscimo 3 FPs (total de

10) e para a variável variação do erro foi usada mais 1 FP (total de 8).

FIG. 4.8 FPs da variável erro.

-1.5 -1 -0.5 0 0.5 1 1.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Variáveis Erro / DErro

FP

-1.5 -1 -0.5 0 0.5 1 1.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Variável ERRO

FP

Page 70: - 13º Paulo_padilha

70

FIG. 4.9 FPs da variável variação do erro.

A FIG. 4.10 mostra a evolução do número de regras da RNF durante as 130

iterações. Como se pode observar a partir de 53 iterações o número de regras

permanece inalterado em 42. Este resultado mostra que não ocorre uma explosão

exponencial do número de regras ao longo das iterações com o uso desta estratégia

de aprendizagem.

FIG. 4.10 No de REGRAS x Iterações

As FIG. 4.11 e 4.12 mostram a evolução dos números de funções de pertinência

das duas variáveis de entrada com o número de iterações.

-1.5 -1 -0.5 0 0.5 1 1.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Variável DERRO

FP

0 20 40 60 80 100 120 14020

25

30

35

40

45

NÚMERO DE ITERAÇÕES

ME

RO

DE

RE

GR

AS

Page 71: - 13º Paulo_padilha

71

FIG. 4.11 FPs da variável erro x Iterações.

FIG. 4.12 FPs da variável variação do erro x Iterações.

A FIG. 4.13 mostra a evolução do erro médio quadrático (EMQ

E ) com número

de iterações.

0 20 40 60 80 100 120 1407

7.5

8

8.5

9

9.5

10

NÚMERO DE ITERAÇÕES

ME

RO

DE

FP

da

var.

ER

RO

0 20 40 60 80 100 120 1407

7.1

7.2

7.3

7.4

7.5

7.6

7.7

7.8

7.9

8

NÚMERO DE ITERAÇÕES

Núm

ero

de F

P’s

da

var.

DE

RR

O

Page 72: - 13º Paulo_padilha

72

FIG. 4.13 EMQ

E x Iterações.

Os parâmetros finais, isto é, após a sintonia do algoritmo de aprendizagem da

RNF, foram os seguintes:

- parâmetro 0,2δ = ;

- parâmetro mη =0,05;

- parâmetro ση =-0,05 ;

- parâmetro wη =0,01;

- número máximo de FP’s para cada variável: 12;

- critério de parada usado: número de iterações, 130.

O desempenho da RNF permanece praticamente inalterado após 90 iterações e

dentro dos limites de variação permissíveis adotados. Após 22 iterações os

números de FP’s das variáveis já eram os finais, 8 e 10.

Observando-se as FIG. 4.7 e 4.8 pode-se ver que para as duas variáveis há a

superposição de FP’s.

Uma das possíveis perspectivas para trabalhos futuros é melhorar a sintonia do

algoritmo na hora de definir a superposição entre as novas e antigas funções de

pertinências.

0 20 40 60 80 100 120 1400.08

0.082

0.084

0.086

0.088

0.09

0.092

0.094

0.096

NÚMERO DE ITERAÇÕES

VA

RIA

ÇÃ

O D

O E

RR

O A

O Q

UA

DR

AD

O

Page 73: - 13º Paulo_padilha

73

4.6 EXEMPLO DE APLICAÇÃO: COLUNA DESBUTANIZADORA

Para validação do método de sintonia do controlador “fuzzy” usa-se como

exemplo a Coluna Desbutanizadora.. A Coluna Desbutanizadora é usada para

separar a mistura de hidrocarbonos em duas correntes: gás liqüefeito de petróleo

(GLP) e nafta (gasolina). Os produtos de topo da torre são o GLP e o gás

combustível, e o produto de fundo é a nafta.

A estratégia de controle é baseada numa estrutura onde o refluxo é usado para

controlar a temperatura de topo da torre, e um fluido de óleo quente (HCO – “Heavy

Cycle Oil”) é usado para controlar a temperatura de fundo. Esta estratégia é ilustrada

na FIG. 4.14.

FIG. 4.14 Controle dual para a Coluna Desbutanizadora.

O modelo (identificado ) está reportado em (FREITAS, CAMPOS, LIMA, 1993).

A TAB. 4.1 a seguir, mostra as funções de transferências identificadas.

FC

TC

FC

TC SP

SP

ALIMENTAÇÃO

NAFTA

GÁS

GLP

HCO

Page 74: - 13º Paulo_padilha

74

TAB 4.1 Funções de transferência da Desbutanizadora

FUNÇÕES DE TRANSFERÊNCIA MODELO DINÂMICO

Temp. topo / Refluxo 11

1,7719

71, 4 1G

s

−=

+

Temp. fundo / Refluxo 21

0,0401

25,1 1G

s

−=

+

Temp. topo / HCO 12

0,1172

7,6 1G

s=

+

Temp. fundo / HCO 22

0,1441

6,8 1G

s=

+

Temp. topo / Alimentação 1

0,3755

18,4 1FGs

−=

+

Temp. fundo / Alimentação 2

0,2731

19,1 1FGs

−=

+

O objetivo do controle é manter, as variáveis controladas (saídas) que são as

temperaturas de fundo (tf) e de topo (tp) nos valores desejados. As variáveis

manipuladas são o refluxo de topo (rt) e a vazão de HCO que é o fluido quente do

refervedor de fundo. A perturbação do processo é a vazão de alimentação (F).

4.6.1 CONTROLADOR “FUZZY”.

Em primeiro lugar, para efeito de comparação, o controle do processo é feito

através de um controlador “Fuzzy” duplo, isto é, um para controlar a temperatura de

fundo e outro para a de topo. Cada controlador possui 26 regras. As variáveis de

entrada de cada um são: o erro (E) e a variação do erro (dE) da variável controlada.

A variável de saída é a variação da ação de controle (dU), isto é, vazão de refluxo

para a temperatura de topo e vazão de HCO para a temperatura de fundo. O

apêndice 3 mostra o sistema “Fuzzy”, as funções de pertinência das variáveis de

Page 75: - 13º Paulo_padilha

75

entrada, a função de pertinência da variável de saída e o conjunto das 26 regras

respectivamente. Os diagramas de simulação (SIMULINK) do controlador, do

processo e do erro normalizado são mostrados nos apêndices 4, 5 e 6

respectivamente. A sintonia do controlador é realizada através dos ganhos dos

amplificadores das variáveis de entrada de cada um dos controladores “fuzzy”, de

uma forma heurística (tentativa e erro).

A FIG. 4.15 mostra o desempenho do controlador, isto é, as temperaturas de

topo e de fundo comparadas com os respectivos valores desejados (POs).

FIG. 4.15 Temperaturas de topo (tp) e de fundo (tf) x POs.

4.6.2 CONTROLADOR NEURO “FUZZY”.

Em seguida o processo da Coluna Desbutanizadora é submetido ao controle da

RNF (dupla / paralela) para que esta seja treinada. Existem também duas RNF,

sendo uma para a temperatura de topo e outra para a de fundo.

A RNF tem o mesmo conjunto de regras iniciais (26 regras) usado no controlador

Fuzzy; as funções de pertinência gaussianas usam os mesmos centros mas com

desvios equivalentes aos usados no controlador “Fuzzy” do item 4.6.1. Os valores

dos POs foram mantidos os mesmos da simulação no item 4.6.1 deste trabalho.

0 20 40 60 80 10080

82

84

86

88

tempo

PO

tp /

tp

DESEMPENHO DOCONTOLADOR. “FUZZY”

0 20 40 60 80 100125

130

135

140

145

tempo

PO

tf /

tf

Page 76: - 13º Paulo_padilha

76

Foram estabelecidas regiões de referência em torno de cada PO bem

conservadoras, apenas com a finalidade de testar o processo de aprendizagem da

rede. Quando as duas variáveis controladas (tp e tf) estiverem dentro das suas

respectivas regiões de referência o sistema de aprendizagem não mais altera os

parâmetros e regras do controlador “Fuzzy” (RNF). A FIG. 4.16 mostra as duas

regiões de referência e os respectivos POs.

FIG.4.16 Regiões de Referência de tp / POtp e tf / POtf

Para aumentar a velocidade de processamento, o Controlador Neuro Fuzzy

(CNF) é implementado através de um programa, que simula todo o controlador

multivariável, e está associado a um diagrama SIMULINK que, a cada ponto de

treinamento simula o processo. Isto é, o CNF atualiza as condições iniciais das 6

funções de transferência do processo e o SIMULIK fornece as tp e tj atuais. Este

diagrama é mostrado no apêndice 7.

A FIG. 4.17 apresenta o resultado da simulação apenas com os parâmetros

iniciais (sem aprendizagem) para a iteração dos 100 pontos que produziram erro

médio quadráticos de EMQtp=0,0012 e EMQtf=0,0012.

0 20 40 60 80 10075

80

85

90REFERÊNCIAS DE tp / POtp

RE

Ftp

(MG

)/P

Otp

(VM

)

0 20 40 60 80 100125

130

135

140

145REFERÊNCIAS DE tf / POtf

RE

Ftf

(MG

)/P

Otf

(VM

)

tempo

Page 77: - 13º Paulo_padilha

77

FIG. 4.17 POs / saídas do processo (tp e tf). Sem aprendizagem.

Após 11 iterações a rede se estabilizou (cessou sua aprendizagem), isto é, não

criou mais regras nem alterou os seus parâmetros, já que o desempenho do

controlador ficou dentro dos limites estabelecidos pelas referências como mostra a

FIG. 4.18. A FIG. 4.19 evidencia a evolução da aprendizagem do controlador.

FIG. 4.18 Desempenho do Controlador Neuro “Fuzzy”.

0 20 40 60 80 10075

80

85

90

RE

Ftp

/ P

Otp

/ tp

(oC

)

tp

0 20 40 60 80 100125

130

135

140

145tf

RE

Ftf

/ P

Otf

/ tf(

oC)

tempo

0 20 40 60 80 10075

80

85

90

95

RE

Ftp

/ P

Otp

/ tp

(oC

)

tp

0 20 40 60 80 100120

130

140

150tf

RE

Ftf

/ P

Otf

/ tf(

oC)

tempo

Page 78: - 13º Paulo_padilha

78

FIG. 4.19 Evolução do desempenho do Controlador Neuro “Fuzzy”.

Ao final das 11 iterações, os erros médios quadráticos das variáveis foram

EMQtp=0,000170 e MQtf=0,000279.

O número de regras correspondentes a ambas variáveis de saída passou de 26

(inicial) para 28.

Não houve aumento do número de FPs para todas 4 variáveis de entrada.

Os resultados mostrados nas FIG. 4.15 e 4.17 diferem pelo fato das funções de

pertinência do controlador “Fuzzy” serem triangulares (assimétricas) e no caso do

controlador Neuro “Fuzzy”, gaussianas equivalentes.

0 20 40 60 80 10075

80

85

90

95

RE

Ftp

/ P

Otp

/ tp

(oC

) tp

0 20 40 60 80 100120

130

140

150tf

RE

Ftf

/ PO

tf / t

f(oC

)

tempo

Page 79: - 13º Paulo_padilha

79

5 CONCLUSÕES E PERSPECTIVAS

5.1-CONCLUSÕES

Do capítulo 2, através do exemplo da parte 2.3.1.2, pode-se concluir que para

problemas simples (controle de sistemas SISO, linear e de ordem reduzida) uma

boa solução continua ainda sendo o uso de controladores clássicos do tipo PID. Isto

decorre do fato do desempenho ser razoável, e deste algoritmo ter um número de

reduzido parâmetros a serem ajustados.

No capítulo 3 constatou-se que as redes neurais são ferramentas eficazes para a

aproximação de funções e identificação de processos.

No capítulo 4 mostrou-se uma Rede Neural “Fuzzy” e seu algoritmo. Os

resultados obtidos tanto na parte 4.5 (processo SISO) quanto na parte 4.6 (processo

MIMO) demonstraram a evolução do desempenho e do aprendizado da RNF.

Para o sucesso do desempenho e aprendizagem da RNF é necessário

inicialmente uma adequada escolha dos domínios das variáveis de entrada, dos

parâmetros das funções de pertinência e do conjunto básico de regras.

Na RNF da parte 4.6.2 foram usados como parâmetros iniciais os mesmos

parâmetros utilizados no controlador “Fuzzy” da parte 4.6.1, isto é, os mesmos

centros, regras e pesos das regras. Os desvios das funções de pertinência da RNF

foram feitos, tanto quanto possível, equivalentes aos usados no controlador “Fuzzy”,

já que nos dois casos são utilizados tipos diferentes de funções de pertinência:

uma é do tipo gaussiana e a outra é do tipo triangular (assimétrica). Este fato

facilitou a sintonia da RNF.

Uma vez arbitrados os parâmetros iniciais da RNF, por tentativa / erro, é

conveniente que se estabeleça um procedimento para a sintonia. A metodologia

usada neste trabalho foi a seguinte:

1- Antes de iniciar a aprendizagem da RNF, ajustar os ganhos

correspondentes a todas as variáveis de entrada e de saída visando o

melhor desempenho.

Page 80: - 13º Paulo_padilha

80

2- Com os valores obtidos em 1 são liberados para a aprendizagem somente

os centros e desvios. Pela observação do desempenho das RNFs são

definidos os sinais de m

η e ση . Depois são ajustados os respectivos

valores absolutos.

3- Com os valores obtidos em 1 são liberados para a aprendizagem somente

os pesos das regras. Pela observação do desempenho das RNFs são

definidos os sinais de w

η e logo após os seus respectivos valores

absolutos.

4- Com os valores obtidos em 1, 2 e 3 são liberados para a aprendizagem os

centros, desvios, pesos das regras e o algoritmo de criação das regras

para a primeira iteração. As RNFs evoluem até que sejam satisfeitos os

seus limites de referências

Observou-se que as pré sintonias efetuadas em 1, 2 e 3 minimizam o

número de regras. A cada resultado considerado positivo eram redefinidos os

limites das referências. Isto é, os limites iam ficando progressivamente mais

rigorosos.

Os resultados apresentados pela RNF foram bons, e não houve uma explosão

exponencial do número de regras, nem do número de funções de pertinência, graças

a estratégia de usar limites ou regiões de referência para definir os objetivos.

5.2- PERSPECTIVAS

Pela observação dos resultados da parte 4.5 (FIG. 4.7 e 4.8) pode-se ver que

uma perspectiva para futuros trabalhos, consiste em melhorar a sintonia do

algoritmo quando da definição da superposição entre as novas e as antigas funções

de pertinência.

Os resultados das partes 4.6.1 e 4.6.2 indicam interações entre as variáveis de

saída (tp e tf). Para futuros trabalhos, em processos MIMO, sugere-se estudar o uso

de um método de desacoplamento como o apresentado, para o mesmo processo

(Desbutanizadora) em (FREITAS, CAMPOS, LIMA, 1993). Uma outra possibilidade

é estudar um controlador “Fuzzy” MIMO, ao invés dos dois controladores

independentes (um para a o topo e outro para o fundo) como os estudados neste

trabalho.

Page 81: - 13º Paulo_padilha

81

Como perspectiva de trabalhos futuros também sugere-se testar a metodologia

proposta em um caso real.

Page 82: - 13º Paulo_padilha

82

6 REFERÊNCIAS BIBLIOGRÁFICAS

BERENJI, H. R. e KHEDAR, P., “Learning and Tunning Fuzzy Logic Controllers through reinforcements”, IEEE Trans. Neural Network, vol. 3, 724 – 740, 1992.

BERENJI, H. R., “Fuzzy and Neural Control” dans Antasaklis, P. et Passino, K. , “An Introduction to Intelligent and Autonomous Control”, Kluwer Academic Publishers, 1993.

BOUCHON-MEUNIER, B., “La Logique Floue et ses Application”, Ed.Addison- Wesley, France, 1995.

CAMPOS, M. C., “La simulation Dynamique et L’ Intelligence Artificielle Delaboration de Strategies de Controle-Commande Multivariable Flou. Aplication a une Unite de Cracage Catalytique en Phase Fluide”, Tese de doutorado, Paris, 1997.

CAMPOS,M.C., “Sistemas Inteligentes para Controle e Automação de Processos”, Notas de Aula, IME, 2000.

CONDAMIN, L., “Extraction et Intégration des règles sur un réseau neuro- mimétique. Aplication à l’harmonisation de la cotation à la banque de France”, Tese de doutorado, Ecole Centrale Paris, février, 1995.

DEFFUANT,G., “Réseaux connexionnistes auto-construits”, Tese de doutorado de l’EHESS –Paris VI, juin, 1992.

FREITAS,M. S., CAMPOS, M, C. e LIMA, E. L., “Dual Composition Control of a Debutanizer Column”, ISA, Individual Paper Preprint, vol. 295, pp. 501 – 509, 1993.

HARRIS, C. J. , MOORE, C. G. e BROWN, M., “Intelligent Control – Aspects of Fuzzy Logic end Neural Nets”, World Scientific Publishing, 1993.

HORNIK, K., STINCHCOMBE, M., WHITE, H. e AVER, P., “Degree of approximation results for feedforward networks approximating unknown mappings and their derivatives”, Neural Computation, 6, 1262-1275, 1994.

JAGANNATHAN, S, “Adaptative Fuzzy Logic Control of Feedback Linearizablel Discrete-Time Dynamical Systems Under Persistence of Exitation”, Automatica, vol. 34 no.11,pp.1295 – 1310, 1998.

Page 83: - 13º Paulo_padilha

83

JANG, J, S, R, “Self Learning Fuzzy Controllers Based on Temporal Back Propagation”, IEEE Transactions on Neural Networks, vol. 3 no. 5, pp. 714 – 723, 1992.

JANG, J, S, R, “ANFIS: Adaptative-Network-Based Fuzzy Inference System”, IEEE Transactions on Systems, Man, and Cybernetics, vol. 23 no. 3, pp. 665 – 685, 1993.

JANG, J.R. e SUN, C.T., “Neuro-Fuzzy Modeling and Control”, Proc. IEEE, vol. 83, N.3, 1995.

LEITÃO, F,O, “Metodologia para Implementação de Controladores Fuzzy em Processos Petroquímicos Utilizando Redes Neurais”, Tese de Mestrado, IME, 2000.

MINGZHONG, L e FULI, W, “Adaptative Control of Black-Box Nonlinear Systems Using Recurrent Neural Networks”, Proceedings of the IEEE Conference on Decision and Control, San Diego, California, pp. 4165 – 4170, 1997.

MINSKY, M. e PAPERT, S., “Perceptrons”, MIT Press, MA, 1969.

MULLER, B. e REINHARDT, J., “Neural Networks: An introduction”, Springer- Verlag, NY, 1991.

NAUCK, D., KLAWONN, F. e KRUSE, R., “Foundations of Neuro-Fuzzy Systems”, Wiley, Chichester, 1997.

RIVALS, I., PERSONNAZ, P., DREYFUS, G. et PLOIX, J. L., “Modélisation, Classification et Commande par réseaux de neurones: Principes fondamentaux, methodologie de conception et illustrations industrialles”, dans CORRIOU, J. P., ”Réseaux de Neurones pour la modélisation et la conduite de procédés”, Recents Progress en Génie des Procédés, 9 , (37), 1-37, 1995.

ROSENBLATT, F., “Principles of Neurodynamics”, Spartan Books, NY, 1962.

RUFUS, F., VACHTSEVANOS, G. e HECK, B., “Real Time Adapation of Mode Transition Controllers”, AIAA, Journal of Guidance, Control and Dynamics, 1999.

RUMELHART, D. E., HINTON, G. E. et WILLIAMS, R. J., “Learning representations by back-propagation erros”, Nature, no 323, 533-536, 1986.

Page 84: - 13º Paulo_padilha

84

TAKAGI, T. e SUGENO, M., “Fuzzy Identification of Systems and its Aplication to Modeling and Control”, IEEE Trans. Systems, Man and Cybernetics, vol 15, pp 116 – 132, 1985.

THEOCHARIS e VACHTSEVANOS, G., “Adaptative Fuzzy Neural Networks as Identifiers of Discrete-Time Nonlinear Dynamic Systems”, Journal of Intelligent and Robotic Systems, vol. 17 pp. 119 – 168, 1996.

TORRES, G. L. e SILVA, L.E.B. “Estacionamento de um Veículo Utilizando Técnicas de Controle Difuzzo” Revista Unitau, 31-38, dezembro 1995.

VUOIRIMAA, P., “Fuzzy Self-Organizing Maps”, Fuzzy Sets and Systems, vol. 66, 223 – 238, 1994.

ZADEH, L. A., “Fuzzy Sets”, Information and Control, 8, 338-353, 1965.

ZADEH, L. A., “Outline of a New Approach to the analysis of Complex Systems and Decision Process”, IEEE Trans. Systems, Man and Cybernetics, 3, 28 – 44, 1973.

ZHANG, T.S.S. GE e HANG, C.C., “Neural-Based Direct Adaptive Control for a Class of General Nonlinear Systems”, International Journal of Systems Science, vol. 28 no 10, pp 1011 – 1020, 1997.

Page 85: - 13º Paulo_padilha

85

7 APÊNDICES

7.1 APÊNDICE 1: Fluxograma do algoritmo de aprendizagem da RNF. I=No de iterações F=No máximo de iterações t=N0 de pontos de aprendizagem tf= N0 total de pontos de aprendizagem ε=valor máximo do somatório do erro médio ao quadrado FIG. 7.1 Fluxograma do algoritmo de aprendizagem da RNF.

PROCESSO SIMULINK

VARIÁVEIS DE ENTRADA:

, , ,RE E E t∆

MATRIZES INICIAIS: , , ,Rem w grasσ

I=0 , F , tf , ε

CÁLC. ATIVAÇÕES

DAS FP’s : ( )mj mA x

CÁLC. ATIVAÇÕES

DAS REGRAS: jµ

CÁLC. PESO DAS

REGRAS: k

Nf

SOMATÓRIO ATIVAÇÕES

DAS REGRAS: 1

j

v

v

µ=

CÁLC. DEFUZIFICAÇÃO: ky

AÇÃO DE CONTROLE SIMULINK

N

S

S

ATUALIZAÇÃO MATRIZ: CENTROS

ATUALIZAÇÃO MATRIZ: DESVIOS

ATUALIZAÇÃO MATRIZ: PESOS

ATUALIZAÇÃO MATRIZ: REGRAS

SOMATÓRIO: ATIVAÇÕES x PESO

1

jk

v v

v

fµ=

⋅∑

FIM

t<tf tt0

t=0

eQ=0

N

N

N S

eQ= eQ+E2

EQ=eQ/tf , I=I+1

I=F

QE ε≤ S

Page 86: - 13º Paulo_padilha

86

7.2 APÊNDICE 2: Diagrama do Controlador Neuro “Fuzzy” do exemplo 4.5.

FIG. 7.2 Diagrama do Controlador Neuro “Fuzzy”.

ref

set-point1sp set-point

E En

erro normalizado

Zero-OrderHold3

Zero-OrderHold2

Zero-OrderHold1

Zero-OrderHold

z

1

Unit Delay1

z

1

Unit Delay

1

1Transfer Fcn1

s +s+12

5

Transfer Fcn

t

To Workspace2

saida

To Workspace

Sum3

Sum2

Sum1

Sum

Step2

Step1

Step

Scope6

Scope5

Scope4

Scope3

Scope2

Scope1

Scopesp

y

E_U

ref1/ref2

REFERÊNCIA

Mux

Mux

.2

Ganho do Errode Aprendizagem

1

Gain2 1

Gain1

1Gain

Clock

MATLABFunction

ex_fun_neuro_fuz_sintonizado9_1

Page 87: - 13º Paulo_padilha

87

7.3 APÊNDICE 3: Controle “Fuzzy” duplo para a coluna Desbutanizadora (parte

4.6.1).

FIG. 7.3.1 Sistema Fuzzy (parte 4.6.1).

.

Page 88: - 13º Paulo_padilha

88

FIG. 7.3.2 Função de pertinência da variável Erro (parte 4.6.1).

Page 89: - 13º Paulo_padilha

89

FIG. 7.3.3 Função de pertinência da variável dErro (parte 4.6.1).

Page 90: - 13º Paulo_padilha

90

FIG. 7.3.4 Função de pertinência da variável de saída dU (parte 4.6.1).

Page 91: - 13º Paulo_padilha

91

FIG. 7.3.5 Conjunto de regras “Fuzzy” (parte 4.6.1).

Page 92: - 13º Paulo_padilha

92

APÊNDICE 4. Diagrama do Controlador “Fuzzy” p/ Coluna Desbutanizadoa de

composição dupla (parte 4.6.1).

FIG. 7.4 Diagrama do Controlador “Fuzzy” p/ Coluna Desbutanizadoa de

composição dupla

-K-

válvularefluxok=-1500

-K-

válvulahco

k=1000

t

tempo

tf

t.fundoset-point1

set-point

erro Etp Entp

erro normalizado

erro Etf Entf

erro normalizado1

alimentação m3/min 7500/(24*60)

z

1

Unit Delay3

z

1

Unit Delay2

z

1

Unit Delay1

z

1

Unit Delaysptf

To Workspace3

sptpTo Workspace2

tp

To Workspace

Sum5

Sum4

Sum3

Sum2

Sum1

Sum

Scope8

Scope7

Scope6

Scope5

Scope4

Scope3

Scope2

Saturationde -1 até 1

Saturationde -1 a 1

Mux

Mux1

Mux

Mux

refluxo.

hco

alimentação

temperatura de topo

temperatura de fundo

Mod.Debutanizador

.01

Gain3

.03

Gain2

.01

Gain1

.03

Gain

Control Fuzzy26 regras 1

Control Fuzzy26 regras

Clock

Page 93: - 13º Paulo_padilha

93

APÊNDICE 5: Diagrama do “Mod. Desbutanizador” do Controlador Fuzzy (parte

4.1.6).

FIG. 7.5 Diagrama do “Mod. Desbutanizador” do Controlador Fuzzy

2

temperaturade fundo

1

temperaturade topo

Sum1

Sum80

PO da temp. detopo

140

PO da temp. de fundo

-0.2731

19.1s+1

Gf2

-0.3755

18.4s+1

Gf1

6.8s+1

0.1441

G22

-0.0401

25.1s+1

G21

7.6s+1

0.1172

G12

-1.7719

71.4s+1

G11

3

alimentação

2

hco

1

refluxo.

Page 94: - 13º Paulo_padilha

94

APÊNDICE 6: Diagramas dos erros normalizados de tp e tf (parte 4.6.1).

FIG. 7.6 Diagramas dos erros normalizados de tp e tf

1

EntfSum2

Sum1

SumProduct

2

Gain-10

Etfmin

10

Etfmax

1

Constant2

1

erroEtf

1

EntpSum2

Sum1

SumProduct

2

Gain-6

Etpmin

-110

6

Etpmax

1

Constant2

1

erro

Etp

Page 95: - 13º Paulo_padilha

95

APÊNDICE 7: Diagrama que atualiza os valores iniciais para as funções de

transferência (parte 4.6.2).

dy1_du1

d_tt_rt

dy1_du2

d_tt_rf

dy1_dd

d_tt_c

dy2_du1

d_tf_rt

dy2_du2

d_tf_rf

dy2_dd

d_tf_c

du1

Refluxo_topo

du2

Refervedor

Mux

Mux7

Mux

Mux6

Mux

Mux3

Mux

Mux2

Mux

Mux1

Mux

Mux

s

1

Integrator6

s

1

Integrator5

s

1

Integrator4

s

1

Integrator3

s

1

Integrator2

s

1

Integrator1

MATLABFunction

GF2

MATLABFunction

GF1

MATLABFunction

G22

MATLABFunction

G21

MATLABFunction

G12

MATLABFunction

G11

dy1_du2_ini

Constant8

dy2_du1_ini

Constant7

dy1_du1_ini

Constant6

dy1_dd_ini

Constant4

dy2_dd_ini

Constant11

dy2_du2_ini

Constant10

dd

Carga

FIG. 7.7 Diagrama que atualiza os valores iniciais