Universidade Federal do Ceará Centro de Tecnologia ... ALBERTO... · Centro de Tecnologia...
Transcript of Universidade Federal do Ceará Centro de Tecnologia ... ALBERTO... · Centro de Tecnologia...
Universidade Federal do Ceará
Centro de Tecnologia
Departamento Engenharia Elétrica
DESENVOLVIMENTO DE UM SENSOR VIRTUAL BASEADO EM
REDES NEURAIS ARTIFICIAIS PARA PREVISÃO DO OXIGÊNIO
CONSUMIDO NO PROCESSO DE TRATAMENTO DE ÁGUA
Carlos Alberto Araújo Lopes Júnior
Fortaleza
Dezembro de 2010
ii
Carlos Alberto Araújo Lopes Júnior
DESENVOLVIMENTO DE UM SENSOR VIRTUAL BASEADO EM
REDES NEURAIS ARTIFICIAIS PARA PREVISÃO DO OXIGÊNIO
CONSUMIDO NO PROCESSO DE TRATAMENTO DE ÁGUA
Monografia submetida à Universidade Federal
do Ceará como parte dos requisitos para
obtenção do grau de Graduado em Engenharia
Elétrica.
Orientador: Prof. Dr. Ricardo Silva Thé
Pontes.
Fortaleza
Dezembro de 2010
iii
Carlos Alberto Araújo Lopes Júnior
DESENVOLVIMENTO DE UM SENSOR VIRTUAL BASEADO EM
REDES NEURAIS ARTIFICIAIS PARA PREVISÃO DO OXIGÊNIO
CONSUMIDO NO PROCESSO DE TRATAMENTO DE ÁGUA
Esta monografia foi julgada adequada para obtenção do título de Graduado em
Engenharia Elétrica, e aprovada em sua forma final pelo Programa de Graduação em
Engenharia Elétrica da Universidade Federal do Ceará.
Fortaleza, Dezembro de 2010
iv
“Tudo quanto te vier à mão para fazer, faze-o conforme as tuas forças,
porque na sepultura, para onde tu vais, não há obra, nem projeto,
nem conhecimento, nem sabedoria alguma”
Eclesiastes 9:10
“Os dias prósperos não vêm por acaso.
Nascem de muito esforço e persistência”
Henry Ford
“O único lugar onde o sucesso vem antes do trabalho é no dicionário”
Albert Einstein
v
AGRADECIMENTOS
Primeiramente, a Deus pelas inúmeras bênçãos derramadas sobre minha vida, de
forma incondicional, todos os dias. Por nunca ter me abandonado durante toda minha vida, e
principalmente nesses cinco anos de lutas, me dando forças, e não deixando que fracassos ou
perdas me abalassem ao ponto de fazer desistir.
Ao professor Ricardo Silva Thé Pontes, orientador desse trabalho, por acreditar em
mim e no que é possível ser feito com coragem e dedicação.
Aos meus pais Carlos Alberto Araújo Lopes e Soneide Carlôto Lopes, grandes
exemplos para mim, pelo amor incondicional, carinho, dedicação e pela formação que me
deram, em fim, por tudo que eles são.
Àos professores do Departamento de Engenharia Elétrica da UFC: Arthur, Otacílio,
Laurinda, Paulo Praça, Almeida, Demercil, Fernando, Sérgio Daher, Ruth, José Carlos, Luiz
Henrique, pelo auxílio e por toda a disponibilidade durante o período de graduação.
Aos colegas e amigos de graduação, pelo companheirismo e por todas as etapas
vencidas juntos, Wellington, Dalton, Gean, Pedro André, Décio, Luiz Paulo, Luiz Fernando,
Levy, Rômulo Costa, Eduardo F. de Oliveira, Gilberto, Júlio César, Janaína, Igor Araújo.
A todas as equipes de trabalho das quais fiz parte, e aos colegas do GPAR,
Francisco Alexandre, Thiago Nogueira, Thiago Menezes, Leonaldo, Robério, Antônio
Barbosa, Éber, Sérgio, Brito, e todos os membros do Grupo de Monitoramento Ambiental,
pelo apoio, parceria e paciência.
Aos meus irmãos, familiares, amigos, pela amizade, companheirismo e por sempre
acreditarem em mim durante toda a minha trajetória acadêmica, também à minha namorada
Leidiane, pelo amor, confiança, carinho, e principalmente por sua paciência em minhas
ausências durante esse curso de graduação.
vi
RESUMO
Resumo da monografia apresentada à Universidade Federal do Ceará como parte dos
requisitos para obtenção do Grau de Graduado em Engenharia Elétrica.
DESENVOLVMENTO DE UM SENSOR VIRTUAL BASEADO EM
REDES NEURAIS ARTIFICIAIS PARA PREVISÃO DO OXIGÊNIO
CONSUMIDO NO PROCESSO DE TRATAMENTO DE ÁGUA
Carlos Alberto Araújo Lopes Júnior
Em Estações de Tratamento de Água com processo de pré-dosagem de oxidante, como
é o caso da ETA Gavião, o contato do cloro livre com compostos orgânicos presentes na água bruta provoca a formação de compostos indesejáveis, que prejudicam a qualidade da água.
Um método de avaliação deste potencial é a medição do parâmetro Oxigênio Consumido (OC) que é útil para indicar alterações de qualidade da água a ser tratada e avaliar a aplicabilidade de técnicas alternativas de pré-tratamento.
O procedimento de medição do OC é laboratorial e demorado, fornecendo sempre uma visão passada que não contribui com a tomada de decisões imediatas quanto ao processo de tratamento de água.
Assim, o objetivo deste trabalho é desenvolver um sensor virtual baseado aplicando modelos de inferência da quantidade de oxigênio consumido (OC) no processo de pré-dosagem de oxidantes de uma estação de tratamento de água (ETA) correspondendo a sensores de medição implementados em software, que possuem a capacidade de estimar, em tempo real, o oxigênio consumido, a partir de medidas de pH e turbidez da água em tratamento.
O sensor virtual será projetado com base em Redes Neurais Artificiais do tipo Perceptron de Múltiplas Camadas (MLP) e variações temporais da mesma, Redes alimentadas adiante focadas atrasadas no tempo (FTLFN). A idéia do desenvolvimento com duas topologias é a comparação de desempenho das redes.
Número de páginas: 64.
Palavras-Chave: Sensores Virtuais, Redes Neurais Artificiais, Redes MLP.
vii
ABSTRACT
Abstract of dissertation presented at Universidade Federal do Ceará as partial of
fulfillment of the requirements for the Graduation degree in Electrical Engineering.
DEVELOPMENT OF A SOFT-SENSOR BASED ON ARTIFICIAL
NEURAL NETWORK FOR PREDICTION OF OXYGEN CONSUMED
IN THE PROCESS OF WATER TREATMENT
In Water Treatment Plants (WTP) with the pre-dose of oxidant, such as WTP's Gavião, the contact of chlorine with organic compounds in raw water causes the formation of undesirable compounds that affect the water quality.
A method of assessing this potential is the parameter measuring the Oxygen Consumed (OC) that is useful to indicate changes in water quality to be treated and to evaluate the applicability of alternative techniques of pre-treatment.
The measurement procedure the OC is laboratory and time consuming, providing a vision always passed that does not contribute to make immediate decisions about the process of water treatment.
Thus, the objective is to develop a soft-sensor based inference models by applying the amount of oxygen consumed (OC) in the pre-dosing of oxidizing a water treatment plant (WTP) corresponding to measuring sensors implemented in software that have the ability to estimate, in real time, oxygen consumption, based on measurements of pH and turbidity of the water under treatment.
The soft-sensor is designed based on Artificial Neural Networks of the type Multilayer Perceptron (MLP) and temporal variations of it, Focused Time Lagged Feedforward Network (FTLFN). The idea of development of sensors with two different topologies is the comparison of network performance.
CARLOS ALBERTO ARAÚJO LOPES JÚNIOR
viii
SUMÁRIO
1 Introdução..........................................................................................................................1
1.1 Motivação ............................................................................................................................. 1
1.2 Objetivos............................................................................................................................... 2
1.3 Redes Neurais Artificiais..................................................................................................... 3
1.3.1 Introdução........................................................................................................................................ 3 1.3.2 Breve histórico................................................................................................................................. 3 1.3.3 Modelos de um neurônio ................................................................................................................. 5 1.3.4 Funções de ativação......................................................................................................................... 7
2 Sensores Virtuais .............................................................................................................10
2.1 Considerações Iniciais ....................................................................................................... 10
2.2 Importância ........................................................................................................................ 11
2.3 Estado da Arte.................................................................................................................... 12
2.4 Aplicações ........................................................................................................................... 15
2.5 Metodologias básicas de projeto....................................................................................... 16
2.6 Conclusão............................................................................................................................ 18
3 Modelo do sensor: Redes Neurais Artificiais .................................................................20
3.1 Introdução ................................................................................Erro! Indicador não definido.
3.2 Metodologia empregada.................................................................................................... 22
3.2.1 Seleção das variáveis ..................................................................................................................... 22 3.2.2 Estrutura da rede neural ................................................................................................................. 23 3.2.3 Treinamento da rede ...................................................................................................................... 23 3.2.4 Validação do modelo ..................................................................................................................... 24
3.3 Determinação da estrutura da rede neural ..................................................................... 25
3.3.1 Arquitetura da rede ........................................................................................................................ 25 3.3.2 Definição da topologia................................................................................................................... 32 3.3.3 Inicialização dos pesos .................................................................................................................. 33
3.4 Conclusão............................................................................................................................ 34
4 Treinamento e Validação do sensor................................................................................35
4.1 Introdução ................................................................................Erro! Indicador não definido.
4.2 Número de camadas e neurônios por camada................................................................. 35
4.3 Treinamento e Validação .................................................................................................. 36
4.3.1 Redes alimentadas adiante focadas atrasadas no tempo ................................................................ 36 4.3.2 Redes MLP feedforward................................................................................................................ 43
4.4 Conclusão............................................................................................................................ 45
ix
5 Conclusões .......................................................................................................................46
5.1 Conclusão............................................................................................................................ 46
5.2 Contribuições do trabalho................................................................................................. 46
5.3 Trabalhos futuros .............................................................................................................. 47
Referências Bibliográficas ......................................................................................................48
Apêndice A ...............................................................................................................................50
x
LISTA DE FIGURAS
Figura 1.1 – Modelo não linear de um neurônio [13].................................................................5
Figura 1.2 – Função de limiar.....................................................................................................8
Figura 1.3 – Função linear por partes. ........................................................................................8
Figura 1.4 – Função linear. .........................................................................................................9
Figura 1.5 – Função sigmoidal. ..................................................................................................9
Figura 2.1 – a) Modelagem caixa branca. b) Modelagem caixa preta. c) Modelagem caixa cinza (híbrida)...........................................................................................................................13
Figura 2.2 – Diagrama de blocos do processo de desenvolvimento do sensor virtual [3]. ......17
Figura 3.1 – Aprendizado supervisionado [14]. .......................................................................26
Figura 3.2 – Rede neural MLP. ................................................................................................27
Figura 3.3 – Filtro neural focado [13]. .....................................................................................30
Figura 3.4 – Rede neural alimentada adiante focada atrasada no tempo (FTLFN) [13]. .........31
Figura 4.1 – Gráfico com MMM para as redes FTLFN com três atrasos na entrada...............38
Figura 4.2 – Validação da rede “10 5” FTLFN com 3 atrasos. ...............................................40
Figura 4.3 – Gráfico com MMM para as redes FTLFN com cinco atrasos na entrada. ...........41
Figura 4.4 – Validação da rede “5 5” FTLFN com 5 atrasos. ..................................................42
Figura 4.5 – Gráfico com MMM para as redes MLP feedforward...........................................43
Figura 4.6 – Validação da rede “10 7” MLP feedforward.......................................................45
xi
LISTA DE TABELAS
Tabela 1 – Combinação de camadas e neurônios por camada. ................................................37
Tabela 2 – Cálculo da Média da Metade Melhor. ....................................................................38
Tabela 3 – Cálculo dos erros apresentados pelas redes para redes FTLFN com três atrasos na entrada. .....................................................................................................................................39
Tabela 4 – Três melhores redes FTLFN com 3 atrasos............................................................39
Tabela 5 – Cálculo da Média da Metade Melhor (FTLFN com 5 atrasos). .............................41
Tabela 6 – Três melhores redes FTLFN com 5 atrasos............................................................42
Tabela 7 – Cálculo da Média da Metade Melhor. ....................................................................43
Tabela 8 – Cálculo dos erros apresentados pelas redes para redes FTLFN com três atrasos na entrada. .....................................................................................................................................44
Tabela 9 – Três melhores redes MLP feedforward. .................................................................44
Tabela 10 – Três melhores redes. .............................................................................................45
xii
SIMBOLOGIA
Símbolo Significado
jx Sinal de entrada da sinapse j
kjw Peso sináptico entre a entrada j e o neurônio k
kb Bias aplicado ao neurônio k
( )ϕ ⋅ Função de ativação
ku Saída do somador devido às entradas
kv Campo local induzido do neurônio k
ky Sinal de saída do neurônio k
( )'ϕ ⋅ Derivada da função de ativação
δ Gradiente local
( )e n Erro da n-ésimo padrão de entrada
α Constante de momento η Taxa de aprendizagem
xiii
ACRÔNIMOS E ABREVIATURAS
Símbolo Significado OC Oxigênio Consumido ETA Estação de Tratamento de Água MLP Perceptron de Múltiplas Camadas
CAGECE Companhia de Água e Esgoto do Ceará SOM Redes (Mapas) Auto-organizáveis PCA Análise de Componente Principal PLS Mínimos Quadrados Parciais RNA Redes Neurais Artificiais GA Algoritmos Genéticos LWR Regressão Localmente Ponderada RBF Função de Base Radial
FTLFN Rede Alimentada Adiante Focada Atrasada no Tempo MSE Erro Médio Quadrático ARX Modelagem Auto-regressiva e entradas exógenas
ARMAX Modelagem Auto-regressiva com média móvel e entradas exógenas NARX Modelagem não-linear Auto-regressiva e entradas exógenas
NARMAX Modelagem não-linear Auto-regressiva com média móvel e entradas exógenas ARMA Modelagem Auto-regressiva com média móvel
1
1 INTRODUÇÃO
1.1 Motivação
Em plantas industriais é necessário buscar uma produção mais eficiente respeitando
sempre as leis governamentais que impõem limites rigorosos sobre o produto e emissões de
poluentes. Nesse contexto pode-se observar a grande importância de se monitorar uma grande
quantidade de variáveis usando dispositivos de medição confiáveis, para obter-se maior
confiabilidade nos dados. Um grande obstáculo para implementação dessa política, medições
em larga escala em plantas industriais, é o alto custo dos dispositivos de medição online [3].
Quando variáveis químicas estão em questão, existem casos em que os medidores
trabalham com tempos de resposta baixos, e que são vendidos a preços relativamente baixos,
podemos citar como exemplo os medidores de pH. Entretanto quando a necessidade é medir
variáveis químicas ou bioquímicas relacionadas à composição, como acontece nesse trabalho,
fica bem mais difícil.
Assim, caso se deseje manter as especificações de qualidade de algum produto, tem-se
a necessidade de conhecer sua composição para poder implementar um sistema de controle
eficiente. Em casos de existir um analisador em linha, que possua um tempo de resposta
razoável, uma precisão aceitável, e um custo relativamente baixo tem que ser pensada uma
técnica de controle mais avançada. Contudo, infelizmente, um analisador deste tipo não está
disponível em muitas situações na prática na indústria. Um sensor virtual, medidor
inferencial, medidor indireto, ou soft sensor deve ser considerado como uma das opções para
estimar a(s) variável(is) de interesse [6].
O abastecimento de água de Fortaleza é garantido pela Estação de Tratamento de água
Gavião que utiliza água dos Açudes Pacajus, Pacoti/Riachão/Gavião, pertencentes à Bacia
Metropolitana. Para ser apropriada ao consumo humano a água oriunda desse conjunto de
mananciais é submetida a um tratamento de forma a adequá-la aos padrões de potabilidade
estabelecidos pela Portaria Nº 518/04 do Ministério da Saúde.
Para cada etapa de produção da água a CAGECE realiza o monitoramento da
qualidade através da análise de parâmetros físicos, químicos e biológicos, em quantidade e
frequência de acordo com as exigências do Ministério da Saúde.
Em Estações de Tratamento de Água com processo de pré-dosagem de oxidante, como
é o caso da ETA Gavião, o contato do cloro livre com compostos orgânicos presentes na água
bruta provoca a formação de compostos organo-clorados e trihalometanos. Tais substâncias
2
são indesejáveis no ponto de vista da qualidade final da água tratada por gerar alterações no
odor e sabor da mesma. Dentre outros fatores indesejáveis, pode-se citar o baixo poder de
desinfecção de tais compostos, fator que não contribui para o tratamento da água, além dos
riscos que os mesmos representam à saúde da população abastecida. Faz-se necessário,
portanto, a fim de assegurar a produção de água dentro dos padrões de potabilidade exigidos
pela Portaria Nº 518/04 do Ministério da Saúde, avaliar o potencial de formação de tais
compostos.
Esta Portaria contém parâmetros de qualidades física, química e bacteriológica que a
água deve possuir para ser considerada potável. Também consta da Portaria a freqüência com
que amostras devem ser coletadas para as respectivas análises, sendo que o quantitativo de
coletas é função da população atendida pelo sistema.
Um método de avaliação deste potencial é a medição do parâmetro Oxigênio
Consumido (OC) que informa a quantidade de matéria orgânica oxidável presente na água a
ser tratada. A quantidade do OC é útil para indicar alterações de qualidade da água a ser
tratada e avaliar a aplicabilidade de técnicas alternativas de pré-tratamento.
O procedimento de medição do OC é laboratorial e demorado, fornecendo sempre
uma visão passada que não contribui com a tomada de decisões imediatas quanto ao processo
de tratamento de água. Técnicas de predição de parâmetros poderiam solucionar este
problema, fornecendo uma visão futura que contribuiria para a dinamização do processo de
tratamento quanto a diminuição da geração de organo-clorados e trihalometanos.
Um sensor virtual corresponde a um método inferencial ou indireto para medição em
tempo real, em que um modelo matemático estático, de preferência dinâmico do processo é
aplicado em um conjunto de variáveis medidas. Onde para essas variáveis existem no
mercado medidores, na maioria das vezes, de baixo custo, de boa precisão e de rápida
resposta.
1.2 Objetivos
Aplicar modelos de sensores virtuais para fazer a inferência da quantidade de oxigênio
consumido (OC) no processo de pré-dosagem de oxidantes de uma estação de tratamento de
água (ETA).
Esses modelos correspondem a sensores de medição implementados em software, que
possuem a capacidade de estimar, em tempo real, o oxigênio consumido, a partir de medidas
de pH, turbidez da água em tratamento.
3
O objetivo desse trabalho é desenvolver esse sensor para uma estação de tratamento
de água, com base em Redes Neurais Artificiais do tipo Perceptron de Múltiplas Camadas
(MLP) e variações temporais da mesma. Os dados utilizados para o desenvolvimento do
trabalho foram disponibilizados pela Companhia de Água e Esgoto do Ceará (CAGECE) e
correspondem ao Boletim Diário de Medição de Parâmetros de Qualidade de Água da Estação
de Tratamento de Água do Gavião (Fortaleza-Ce) para o ano de 2007.
1.3 Redes Neurais Artificiais
O trabalho em redes neurais artificiais, usualmente denominadas “redes neurais”, tem
sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa
informações de uma maneira completamente diferente que um computador digital
convencional.
1.3.1 Introdução
O cérebro é uma estrutura semelhante a um computador, entretanto supera o
computador devido a seu grande poder dedutivo e de adaptação, ou seja, um sistema que
processa informações, altamente complexo, não-linear e paralelo. Ele possui a capacidade de
organizar seus constituintes estruturais, chamados de neurônios, de forma a realizar diversos
processamentos com uma velocidade bem maior que o mais rápido computador digital
existente hoje.
Considere a visão humana, que é uma tarefa de processamento de informação. A
função do sistema visual é fornecer uma representação do ambiente à nossa volta e, mais
importante que isso, fornecer a informação de que cada indivíduo necessita para interagir com
o ambiente. Para sermos mais específicos, o cérebro realiza rotineiramente tarefas de
reconhecimento perceptivo em aproximadamente 100-200ms, ao passo que tarefas de
complexidade muito menor podem levar dias para serem executadas em computadores
convencionais [13].
1.3.2 Breve histórico
O cérebro humano possui características desejáveis em qualquer sistema artificial.
Como exemplo, pode-se citar a sua capacidade para lidar com informações inconsistentes e/ou
probabilística, alta flexibilidade para se adaptar a situações aparentemente pouco definidas,
tolerância a falhas, entre outras. Todas estas características mencionadas despertaram o
4
interesse de pesquisadores que, na década de 80, intensificaram suas linhas de estudo na área
de inteligência artificial com o uso da computação intensiva.
Entretanto, o aparecimento da neuro-computação ocorreu bem antes, na década de 40.
O primeiro modelo artificial de um neurônio biológico foi fruto do trabalho pioneiro de
Warren McCulloch e Walter Pitts, em 1943. McCulloch, psicólogo e neurofisiologista,
dedicou sua carreira à tentativa de representar e modelar eventos no sistema nervoso.
Pitts, um matemático recém graduado, juntou-se a ele em 1942. No trabalho publicado
em 1943, “A Logical Calculus of the Ideas Immament in Nervous Activity”, são apresentadas
uma discussão sofisticada de redes lógicas de neurônios artificiais, além de novas idéias sobre
máquinas de estados finitos, elementos de decisão de limiar lineares e representações lógicas
de várias formas de comportamento e memória [14].
Em 1951, Marvin Minsky criou o primeiro neuro-computador chamado Snark. A
partir de um ponto de partida, o Snark, operava bem, ajustando os seus pesos
automaticamente. Apesar de não ter executado uma função de processamento de informação
relevante serviu como “molde” para futuras estruturas.
Em 1958, Frank Rosenblatt e Charles Wightman junto com alguns outros estudiosos
desenvolveram o primeiro neuro-computador bem sucedido. Estes pesquisadores são
designados como os fundadores da neuro-computação devido à importância de seus trabalhos
para essa linha de pesquisa muito próxima da forma como existe atualmente. Os seus estudos
sustentaram os modelos do tipo perceptron (redes de um nível) e MLP. O objetivo inicial era
aplicar a modelagem do tipo perceptron para o reconhecimento de padrões [16].
Em 1969, Minsky e Papert chamaram a atenção para algumas tarefas que o perceptron
de uma camada descrito por Rosemblatt não era capaz de executar. O “perceptron simples”,
como ficou conhecido o modelo de uma única camada de pesos ajustáveis, está limitado à
resolução de problemas linearmente separáveis, ou seja, problemas cuja solução somente pode
ser obtida dividindo-se o espaço de entrada em duas regiões por meio de uma superfície
linear.
O principal argumento de Minsky e Papert era de que o problema do crescimento
explosivo, tanto de espaço ocupado, como do tempo requerido para a solução de problemas
complexos, grandes obstáculos que a escola clássica da inteligência artificial já enfrentava,
afetaria, cedo ou tarde, as RNAs, inclusive o perceptron [14].
A partir dos anos 80, os estudos com redes neurais tomaram um impulso
revolucionário. Em 1982, John Hopfield, físico mundialmente conhecido, criou um tipo de
rede diferente daquelas fundamentadas no perceptron. Neste modelo a rede apresentava
5
conexões recorrentes (sinal não se propaga exclusivamente para frente) e baseava-se num
aprendizado não supervisionado com a competição entre os neurônios.
Em 1986, o reaparecimento das redes baseadas em perceptrons foi possível graças a
teoria de redes em multinível (MLP) treinadas com o algoritmo de aprendizado por
retropropagação (Backpropagation) desenvolvida por Rumelhart, Hinton e Willians.
Além disso, vale lembrar que a década de 80 foi marcada pelo desenvolvimento de
computadores cada vez mais potentes e velozes que permitiram melhores simulações das
redes neurais. Neste período também foram desenvolvidos modelos matemáticos que
permitiam solucionar o problema do XOR. A partir de então, um contexto favorável foi criado
para o desenvolvimento das pesquisas em neuro-computação [13].
1.3.3 Modelos de um neurônio
A Figura 2.2 mostra o modelo de um neurônio que funciona como a base para um
projeto de RNA. O neurônio é a menor unidade de processamento de informações de uma
rede neural, ou seja, é a unidade básica e fundamental de uma rede. Pode-se identificar na
Figura 2.2 pelo menos três elementos, considerados básicos, do modelo neural:
Figura 1.1 – Modelo não linear de um neurônio [13].
• Uma função de ativação ou função de transferência: essa função funciona como um
saturador para a saída de um neurônio, ou seja, ela restringi a amplitude de saída.
Limita o intervalo permissível de amplitude de saída para um valor finito. As funções
6
de ativação mais comuns normalizam a saída do neurônio em intervalos fechados
como: [0,1], ou até mesmo [-1,1].
• Outro elemento que compõe o modelo neural básico é o “somador”. Seu
funcionamento é bem intuitivo, ele soma os sinais de entrada. Entretanto, os sinais de
entrada antes de passarem pelo somador são ponderados por suas respectivas sinapses
(terceiro elemento básico do neurônio). A operação descrita acima é a mesma que a de
um combinador linear.
• Os elementos abordados neste ponto são as conexões ou conjunto de sinapses.
Individualmente é caracterizada por um peso, ou seja, uma força própria. Sendo mais
específicos, é um valor que é multiplicado por um sinal de entrada. Esse valor é
responsável por ponderar essa entrada fazendo com que ela seja mais ou menos
relevante para a saída do sistema. Matematicamente, um sinal na entrada da sinapse
j , jx , conectada ao neurônio k é multiplicado pelo peso sináptico kjw . Não existem
restrições quanto aos valores dos pesos sinápticos, podem estar em intervalos que
inclui valores positivos e negativos.
• O modelo de neurônio da Figura 2.2 inclui também um elemento chamado de bias
aplicado externamente, representado por kb . O bias kb tem o efeito de aumentar ou
diminuir a entrada líquida da função de ativação, dependendo de esse valor ser
positivo ou negativo respectivamente [13].
Pode-se, também, descrever o neurônio em termos matemáticos. Modelando-se um
neurônio k temos as equações (1.1) e (1.2):
1
m
k kj j
j
u w x=
=∑ (1.1)
e
( )k k ky u bϕ= + (1.2)
onde 1 2 3, , ,..., mx x x x são os sinais de entrada; 1 2 3, , ,...,k k k kmw w w w são os pesos sinápticos do
neurônio k ; ku é a saída do somador devido as entradas; kb é o bias; ( )ϕ ⋅ é a função de
ativação e ky é o sinal de saída do neurônio [13]. Quando se utiliza o bias tem-se o efeito de
aplicar uma “transformação afim” à saída ku do combinado (somador) linear no modelo da
Figura 1.1, como observamos na equação (1.3):
7
k k kv u b= + (1.3)
McCulloc e Pitts simplificaram seu modelo considerando que os neurônios em cada
uma das camadas da rede são disparados de forma síncrona, isto é, que todos os neurônios são
avaliados ao mesmo tempo.
Em sistemas biológicos, sabe-se que não existe um mecanismo para sincronizar as
ações dos neurônios, e tão pouco há restrições a fim de que suas saídas sejam ativadas em
tempos discretos como no modelo da Figura 1.1. Sabe-se também que o valor da próxima
saída dos neurônios biológicos depende grandemente das ativações dos estados anteriores, já
que até mesmo os neurotransmissores liberados anteriormente levam algum tempo para se
recombinarem, influenciando assim as ativações seguintes. Modelos artificiais mais recentes,
entretanto, incorporam muitas dessas características dinâmicas dos neurônios biológicos [14].
1.3.4 Funções de ativação
A função de ativação é responsável por gerar a saída ky do neurônio a partir dos
valores de pesos 1 2 3, , ,...,k k k kmw w w w e de entrada 1 2 3, , ,..., mx x x x . Ela é representada por
( )vϕ . Identificaremos três tipos básicos de funções de ativação:
• Função de limiar: A Figura 1.2 representa bem este tipo de função. A saída do
neurônio k que emprega essa função de limiar pode ser expressa pela equação
(1.4):
1 0
0 0k
k
k
se vy
se v
≥=
< (1.4)
onde kv é o campo local induzido do neurônio, ou seja, as entradas ponderadas pelos pesos
sinápticos somado com o bias, matematicamente é apresentado na equação (1.5):
1
m
k kj j k
j
v w x b=
= +∑ (1.5)
onde kjw é o peso sináptico no entre a entrada j e o neurônio k , jx é o sinal na entrada j , e
finalmente o kb é o bias no neurônio k .
8
Figura 1.2 – Função de limiar.
• Função linear por partes: Para função linear por partes temos a Figura 1.3.
Figura 1.3 – Função linear por partes.
A representação matemática da função linear por partes é dada pela equação (1.6):
( )1
1
k
k
k
se v n
v v se n v n
se v n
ϕ
≥ +
= + > > − ≤ −
(1.6)
onde assume-se que o fator de amplificação dentro da região linear de operação é a unidade.
Esta forma de função de ativação pode ser vista como a aproximação de um amplificador não
linear.
As duas seguintes situações podem ser vistas como formas especiais da função linear
por partes:
• Se a região linear de operação é mantida sem entrar em saturação, surge um
combinador linear, mostrado na Figura 1.4.
9
• A função linear por partes se reduz a função de limiar, se o intervalo
kn v n+ > > − é feito infinitamente pequeno, pode-se ver na Figura 1.2 [13].
Figura 1.4 – Função linear.
• Função sigmóide: A função sigmóide é a função de ativação mais utilizada na
construção de redes neurais, pois ela introduz na rede uma característica não
linear, característica abordada nos próximos tópicos. Ela é definida como
mostra a equação (1.7):
( ) ( )1
1 kk k avy v
−=
+ ℓ (1.7)
onde a é o parâmetro de inclinação da função sigmóide. Variando-se o parâmetro a , obtem-
se funções sigmóides com diferentes inclinações, pode-se observar essa função na Figura 1.5.
Figura 1.5 – Função sigmoidal.
10
2 SENSORES VIRTUAIS
2.1 Considerações Iniciais
A concepção de utilização de sensores virtuais não é muito recente e remonta à
modelagem matemática de processos dando ênfase na predição de propriedades a partir de
dados fornecidos da planta. A partir de sistemas de controle indireto foi que surgiram os
primeiros sensores virtuais, onde a variável primária, ou seja, a variável a ser controlada era
controlada através do comportamento de outras variáveis (secundárias), normalmente
temperatura. Um dos primeiros sensores que foram desenvolvidos é o estimador inferencial de
Brosilow que data do fim da década de setenta [1].
Ao longo do tempo, os modelos de sensores inferenciais passaram por uma evolução e
tendo como principal objetivo extrapolar, estimar, uma variável que apresenta grandes
desafios para sua medição. A partir daí observou-se muitos esforços para aprimorá-los, ou
seja, melhorou-se sua precisão e confiabilidade, por meio do emprego das mais variadas
técnicas. Entretanto, somente nas últimas décadas sua utilização industrial começou a ser
explorada [2].
A expressão “sensor virtual” é ainda utilizada para uma grande quantidade de técnicas
de estimação que são empregadas para extrapolar estados e parâmetros de um processo.
Estados fazem referência às variáveis que caracterizam o comportamento do processo e
normalmente apresentam-se na forma diferencial, como, por exemplo, concentração de um
produto.
Os parâmetros são variáveis que delineiam o processo e com muita freqüência
aparecem na forma algébrica, como, por exemplo, taxas de crescimento, propriedades físicas
ou coeficientes. Assim, pode-se fazer uma última distinção, quando o sensor virtual é
utilizado para estimar os estados é comumente chamado de “observador de estados” e quando
é aplicado para inferir parâmetros é denominado “estimador de parâmetros” [7].
Sensores virtuais são ferramentas extremamente valiosas nos diversos campos de
aplicações industriais, incluindo refinarias, indústrias químicas, usinas de geração de energia,
indústrias de papel e celulose, processamento de alimentos, usinas nucleares, dentre outros.
Eles são usados para resolver os mais diversos problemas, tais como: análise em tempo-real,
previsão para controle de planta, validação de sensores físicos e estratégias de diagnósticos de
falhas.
11
2.2 Importância
Sensores são de indiscutível importância para a Instrumentação, em diversas áreas da
Engenharia e Ciências aplicadas, pois permitem a percepção do estado de sistemas de
automação e controle, gerando informações usadas para atuar tanto no controle da planta,
quanto no monitoramento do desempenho dos processos.
Por seu papel fundamental, os sensores vêm sendo foco de constante evolução
tecnológica, a fim de reduzir a um número menor possível seus problemas e potencializar sua
atuação [9].
As indústrias estão a cada dia sendo confrontadas com a escolha da melhor política de
produção. O preço final e a qualidade do produto são, obviamente, dois fatores relevantes e
que concorrem entre si e podem definir o sucesso no mercado. Além disso, observação das
regras de segurança (de acordo com vários estudos, o manejo inadequado das situações
anormais representa um importante causa de perda na indústria) e as questões de poluição
ambiental contribuem para aumentar a complexidade dos cenários descritos [3].
Nas últimas décadas as pessoas e os políticos têm voltado sua atenção para estes
tópicos, e as regulações estão sendo feitas pelos governos. As empresas são obrigadas a
respeitar as leis que impõem limites cada vez maiores sobre os produtos especificados e as
emissões de poluentes das plantas industriais. Devido a todas essas restrições a importância
do monitoramento de um grande conjunto de variáveis com a instalação e uso adequado de
sistemas de medição (geralmente um monitoramento em rede distribuída) é claro.
Infelizmente dispositivos de medição em geral são obrigados a trabalhar em um
ambiente hostil, ambiente que, por um lado, requer instrumentação para atender muitas
especificações padrão de projetos, enquanto que por outro lado, um protocolo de manutenção
deve ser seguido (agendado).
Mesmo com todas as precauções a ocorrência de falhas inesperadas não pode ser
totalmente evitada, e ainda algumas ferramentas de medição podem introduzir um atraso
significativo na aplicação que pode reduzir a eficiência das políticas de controle.
Para instalar e manter uma rede de medição dedicada ao monitoramento de uma
grande planta o custo é elevado. Devido a isso as indústrias são geralmente tendenciosas a
reduzir o número total de variáveis monitoradas ou a freqüência das observações, embora em
muitas situações amostras infreqüentes de algumas variáveis do processo poça acarretar
potenciais problemas de operacionalidade.
12
Um caso típico é quando estas de grande importância para a qualidade do produto são
determinadas por análises fora da linha de produção, em laboratório, assim ocorre à
introdução de descontinuidade e atrasos significativos.
Existem casos onde a impossibilidade de instalação de um dispositivo de medição
online é devido a limitações tecnológicas. E em alguns casos variáveis chaves para indicação
de qualidade do processo são determinadas por análises laboratoriais.
Modelos matemáticos, de processos, desenvolvidos para estimar variáveis relevantes
deste, podem ajudar a reduzir a necessidade de dispositivos de medição, melhorando a
confiabilidade do processo e proporcionando políticas de controle rígidas. Modelos de plantas
dedicados a estimação de variáveis da própria planta são conhecidos como modelos
inferenciais, sensores virtuais ou soft sensor.
Os sensores virtuais possuem um grande número de propriedades atrativas, dentre elas
poder ser destacadas as seguintes:
• representam uma alternativa de baixo custo frente aos caros dispositivos físicos de
medição, permitindo a implementação de mais redes de monitoramento;
• podem trabalhar de forma paralela com sensores físicos, dando informaçoes úteis para
a detecção de falhas, permitindo assim uma operação mais confiável do processo;
• podem facilmente ser implementados nos hardwares existentes, e podem retornar os
parâmetros do sistema quando ser faz necessária alguma modificação;
• são capazes de fazer estimação de dados em tempo real, superando os atrasos
introduzidos por meio dos sensores físicos lentos, melhorando assim o desempenho
das estratégias de controle.
2.3 Estado da Arte
Após realizar-se um estudo sobre as técnicas empregadas para o desenvolvimento de
sensores virtuais em processos bioquímicos, pode-se encontrar na literatura três classes
distintas de sensores de acordo com os modelos empregados. A primeira classe trata-se uma
abordagem de modelagem física, Figura 1.2 a), também conhecida como modelagem caixa
branca, obtida através de equações que descrevem a física do processo. A segunda classe é
baseada em modelagem (ou identificação) caixa preta, Figura 1.2 b), inferencial, ou seja, uma
abordagem de identificação estatística, e métodos de inteligência artificial tais como redes
neurais, lógica fuzzy, dentre outros. A terceira classe é composta por sensores baseados em
modelos híbridos, Figura 1.2 c), ou seja, uma combinação das duas classes anteriores [7].
13
Figura 2.1 – a) Modelagem caixa branca. b) Modelagem caixa preta. c) Modelagem caixa cinza (híbrida).
Na primeira classe, chega-se a um modelo matemático através de equações que
descrevem a natureza do processo, como balanços de energia. Nesta abordagem faz-se
necessário um grande conhecimento sobre o sistema a ser modelado, bem como, conhecer as
relações matemáticas que descrevam os fenômenos envolvidos [10].
Se considerarmos um modelo simples do processo em estudo, este tipo de estimados
possui uma grande atratividade. Entretanto, na maioria dos casos o modelo que se necessita
para o sensor é bastante complicado, principalmente processos químicos e biológicos, pois
além de envolverem muitas variáveis, possuem características que são não lineares.
Na segunda classe, estão os modelos empíricos, ou data-driven models, que produzem
estimações confiáveis em tempo real de variáveis do processo baseados em sua correlação
14
com outras variáveis do sistema. Isso pode ser uma ferramenta muito útil para contornar o
problema da complexidade de plantas dinâmicas.
O histórico acumulado de dados coletado pelas próprias indústrias, de fato,
representam uma fonte de informações muito útil, com as quais características relevantes do
sistema podem ser identificadas. A política de aquisição de dados numa indústria é uma
questão fundamental, porque por mais que um modelo do processo seja bem desenvolvido
não pode ser melhor, para a estimação, que os dados coletados da própria planta.
Entretanto deve-se ter um tratamento para esses dados coletados, erros na estimação
muitas vezes são ocasionados pela má qualidade dos dados. Existem muitas ações que podem
ser tomadas para tratamento desses dados, como, seleção, filtragem, etc. O projetista do
modelo pode também realizar uma seleção dos dados tomando os que representam à dinâmica
global do sistema, podendo assim fazer experimentos adequados na planta [3].
Esta segunda classe possui algumas desvantagens que estão relacionadas às
dificuldades para selecionar a estrutura mais apropriada para este tipo de modelo, como, as
funções a serem utilizadas, a quantidade de termos que o modelo necessita. Outra
desvantagem é que os modelos da primeira classe podem ser utilizados para estimar
coeficientes de crescimento ou de rendimento diretamente, pois as variáveis aparecem
explícitas no modelo, o que não é possível para grande parte dos modelos inferenciais da
segunda classe [2].
A terceira e última classe é composta pela modelagem híbrida que possui em um
mesmo modelo do processo, abordagens das duas classes anteriores. Esses modelos híbridos
não possuem um conhecimento tão grande da planta quanto os modelos caixa branca, mas
possuem conhecimento suficiente para não pertencerem a classe caixa preta.
Estimadores híbridos têm por objetivo estimar tanto parâmetros como estados, através
da combinação do conhecimento do modelo do processo com a habilidade e a capacidade do
mapeamento dos dados de entrada-saída.
Os modelos de concepção inferencial, da segunda classe, são os mais populares e
serão utilizados neste trabalho, onde serão empregadas técnicas de modelagem através de
redes neurais artificiais. A topologia e projeto da rede será abordada com mais detalhes no
capítulo 3.
Tirando um pouco o foco da abordagem utilizada uma preocupação que se deve ter ao
desenvolver-se um sensor virtual é escolher quais são as melhores variáveis a serem
consideradas como entrada para o modelo desenvolvido.
15
2.4 Aplicações
Como citado na introdução deste capítulo os sensores virtuais possuem uma grande
área de aplicação, pois podem funcionar auxiliando no controle, no monitoramento e na
otimização de processo dos mais diversos tipos. Temos que ressaltar que, além de fornecer na
maior parte das vezes medições mais rápidas, mais precisas e mais confiáveis a um custo mais
baixo, tanto para implementação quanto para manutenção, os sensores virtuais podem atuar
substituindo os sensores físicos, ou trabalharem juntos no controle e previsão de falhas.
Em [2] são utilizadas técnicas de sensores virtuais numa coluna de destilação
multicomponente com condensador parcial, o objetivo é estimar instantaneamente a
composição dos produtos no topo da coluna de destilação utilizando redes neurais artificiais.
Propõe-se ainda realizar um estudo dos efeitos do treinamento intervalado na rede neural.
Além disso, propõe-se ainda um método que possibilite correções das estimativas atuais
apresentadas pelo sensor caso apresente erros decorrentes do treinamento.
É apresentado em [3], capítulo 1, seção 1.2.3 mostra vários exemplos de áreas de
aplicação para estes sensores, como em um processo de fabricação de penicilina
(desenvolvimento de modelos dinâmicos para evitar intervenção humana), petroquímica
(estima o ponto de congelamento do diesel combustível em um fluido numa unidade de
catalisação, estimação de uma superfície não linear para os dados aplicado numa coluna de
petróleo bruto, identificação de problemas em sistema multivariáveis e com variação de
tempo aplicado num processo de decomposição de polietilenos), planta de geração térmica
(estimação de xNO ), e etc.
Em [4] é mostrada uma aplicação de Redes Neurais Artificiais para controle de
coagulação numa planta de tratamento de água. O sensor virtual desenvolvido é um sistema
híbrido que utiliza uma rede auto-organizável (SOM - Self-Organizing Map) para validação
do sensor e para seleção das variáveis, e uma rede perceptron de múltiplas camadas (MLP -
Multi-Layer Perceptron) para modelar o processo de coagulação.
No artigo [5] é tratado o desenvolvimento de um soft sensor numa planta de
tratamento de águas residuárias, que utilizam a correlação entre os parâmentros da qualidade
da água para estimar o parâmetro alvo. Foi utilizada uma rede neural híbrida, com uma etapa
de pré-processamento dos dados de entrada da rede através de análise de componentes
principais (PCA).
Em [8] utilizam várias abordagens de regressão PLS (Partial Least Squares) para
estimar a qualidade dos produtos obtidos de uma coluna de destilação batch não somente no
16
fim do processo, mas também durante a completa duração do batch (fila, batelada). Um sensor
virtual (soft sensor) baseado em PLS é desenvolvido de medidas de variáveis secundárias do
processo e uma base de dados histórica simulada. Assim, várias questões são dirigidas tais
como uma comparação da performance de modelos PLS lineares e não lineares, a seleção das
variáveis de entrada mais informativas para os modelos PLS, e os efeitos do aumento dos
dados originais do processo com medidas atrasadas. Por fim, uma nova abordagem de
regressão PLS é proposta a qual é baseada no desenvolvimento de modelos de regressão
múltiplas para diferentes porções ou fases, do processo batch.
Propõe-se em [12] a estimação inferencial, ou seja, uso de sensores virtuais para se
obter uma estimação da biomassa a partir de conjuntos diversos de medições, por exemplo,
taxa de evolução de dióxido de carbono mais tempo transcorrido, e pH mais o tempo
transcorrido e taxa de evolução de carbono mais taxa de evolução de oxigênio mais o tempo
transcorrido.
2.5 Metodologias básicas de projeto
Conforme relatado anteriormente os sensores virtuais são modelos matemáticos que
permitem inferir variáveis relevantes em função de sua dependência com um conjunto de
variáveis influentes. Neste tópico serão descritos algumas metodologias usadas para
desenvolvimento de sensores virtuais. Serão mostrados alguns passos típicos que o projetista
do sensor terá de vencer.
O projeto de sensores virtuais baseados em dados empíricos (data-driven) segue o
esquema mostrado na Figura 2.2. Algumas restrições podem existir neste esquema,
dependendo do objetivo do sensor virtual.
Quanto ao primeiro bloco da Figura 2.2 uma observação preliminar é necessária.
Geralmente, a primeira fase de qualquer procedimento de projeto deve ser levada em
consideração a experiência do desenvolvedor, e é onde acontece a escolha cuidadosa dos
dados que serão utilizados como entrada do sistema. Em aplicações industriais esse aspecto
não é normalmente considerado, pois, os sinais de entrada são obrigatoriamente tirados dos
bancos de dados históricos do sistema.
Isto proporciona uma série de desafios para quem vai projetar o sensor, tais como:
Falta de dados, ruídos, elementos isolados (outliers), representação pobre da dinâmica do
processo (um sistema industrial passa a maior parte do tempo em regime permanente, logo
poucas informações sobre a dinâmica podem ser extraídas do banco), etc. Uma solução
17
parcial para esse problema é a investigação cuidadosa dos registros, a fim de encontrar
tendências relevantes nos dados [11].
Figura 2.2 – Diagrama de blocos do processo de desenvolvimento do sensor virtual [3].
Nesta fase é muito importante ter uma aproximação com especialistas, ou até
operadores do processo, com eles pode-se conseguir informações sobre as variáveis mais
relevantes, sobre a ordem do sistema, atrasos de transporte, tempo de amostragem, não
linearidades da planta, e assim por diante.
Sem a ajuda de um especialista ou uma boa percepção física o projeto de um sensor
virtual pode tornar-se uma tarefa inviável, e os dados podem ser explorados apenas
parcialmente.
A etapa de seleção do modelo da estrutura é bastante influenciada pela finalidade do
projeto. Quando se necessita de um modelo mais rústico, onde não é necessária tanta precisão,
podemos usar um modelo linear, devido a sua simplicidade na fase de projeto. Um modelo
linear também pode ser escolhido quando os sensores são aplicados a estratégias de controle
18
clássico. Para todos os outros casos a melhor escolha pode ser o modelo não-linear, que é o
aconselhável para aplicar em processos industriais [3].
Apesar de existirem muitas técnicas e métodos clássicos disponíveis para os sistemas
não-lineares metodologias como redes neurais, sistemas especialistas e sistemas de lógica
nebulosa estão se tornando ferramentas padrão devido ao bom desempenho obtido para uma
gama de aplicações no mundo real e a disponibilidade de softwares que podem ajudar
projetista [9].
O último passo na Figura 2.2 é a validação do modelo. Esta é uma fase muito
importante para os modelos baseados em dados experimentais (data-driven models), um
modelo que se ajusta aos dados utilizados para identificar o sistema, pode dar resultados
muito ruins quando apresentados a conjuntos desconhecidos (novos) pelo mesmo. Além
disso, modelos que parecem muito bons para os dados existentes podem não se comportar
como se deseja quando novos dados são processado, isso só seria detectado com uma longa
fase de validação online.
Os critérios usados para validação do modelo geralmente dependem de análises
realizadas nos resíduos do modelo e são bem diferentes para os modelos lineares e não-
lineares.
2.6 Conclusão
Ao longo do capítulo pode-se entender o que são realmente os sensores virtuais em sua
essência. Mostrou-se que apesar de ser um assunto muito atual sua concepção de utilização
não é muito recente.
A importância dos sensores virtuais é indiscutível, como mostrada no tópico segundo
tópico deste capítulo, e devido ao sucesso de sua implementação, boa precisão, robustez,
baixo custo, a sua utilização em plantas industriais só tende a aumentar. Esse sucesso é
comprovado pelos resultados obtidos neste trabalho, que serão mostrados no capítulo 5, e em
várias referências citadas neste capítulo.
Foram apresentados também os tipos de sensores virtuais existentes, baseados em
estudos realizados. Essa classificação diferencia os sensores pela sua concepção, existem os
sensores caixa branca, os caixa preta, e por fim os híbridos, que concatenam características
dos dois tipos citados anteriormente.
E finalmente mostraram-se os passos, procedimento, de projeto de um sensor virtual,
devemos ter em mente que o procedimento mostrado é uma “tentativa e erro” de modo que se
o modelo falhar na fase de validação o desenvolvedor no sensor deve repensar criticamente
19
todos os aspectos da estratégia do projeto, e reiniciar o processo tentando escolhas diferentes
das anteriores. Isso significa dizer que o projetista deve está preparado para voltar a qualquer
passo do projeto.
20
3 MODELO DO SENSOR: REDES NEURAIS ARTIFICIAIS
3.1 Considerações Iniciais
Na literatura como em [10], [3] observa-se que diversas técnicas podem ser
empregadas com o objetivo de identificar os modelos utilizados pelos sensores virtuais.
Técnicas bem simples podem ser utilizadas como a identificação linear paramétrica, onde são
utilizados modelos compostos por somatórios de funções simples ponderadas por parâmetros,
que podem ser encontrados por meio de técnicas de regressão.
Pode-se citar como exemplo o somatório dos mínimos quadrados. Modelos utilizados
para essa identificação são, em sua maioria, do tipo entrada-saída tais como auto-regressão e
entradas exógenas (ARX), auto-regressão não linear e entradas exógenas (NARX), modelo
auto-regressivo com média móvel e entradas exógenas (ARMAX), ARMA, é um caso
particular do ARMAX onde não há entradas exógenas, e modelo auto-regressivo não linear
com média móvel e entradas exógenas (NARMAX) [10].
Há também modelos do tipo espaços de estados, é dado a esses modelos o nome de
observador ou estimador de estados. O observador pode ser exato quando fornece o estado
diretamente ou assintótico quando seu limite tende ao estado exato para tempo infinito. Estes
tipos de modelo são mais usados quando os sistemas são lineares, pois o caso não linear se
torna muito complicado.
Ao se conhecerem a média e a covariância dos erros cometidos por um observador, é
possível a utilização de técnicas de filtragem para se alcançar maior precisão. O Filtro de
Kalman é um estimador, otimizado, de estados para sistemas lineares quando um modelo do
sistema e o conhecimento de certas propriedades estocásticas das medições estão disponíveis.
O Filtro de Kalman Estendido é uma extensão da abordagem do Filtro de Kalman linear para
equações diferenciais ordinárias lineares [9].
Redes Neurais Artificiais é uma técnica que possui a capacidade de aprendizado e
adaptação, essas características são copiadas do funcionamento de sistemas neurais biológicos
[16]. Entretanto, essa imitação ocorre em um nível simplificado, esse método está se tornando
muito popular e vem sendo bastante utilizado na comunidade científica.
A técnica é inspirada no funcionamento do cérebro, sendo assim é baseada em
elementos funcionais simples, denominados neurônios, estes possuem ligações entre si
ponderadas por pesos que funcionam como parâmetros e podem assumir os mais diversos
21
valores. Uma escolha correta dos pesos permite identificar sistemas não lineares de maneira
simples.
A técnica de redes neurais baseia-se numa identificação entrada-saída. Porém, muitas
vezes a informação para a identificação do sistema não está em dados de ensaio e sim no
conhecimento que um determinado especialista tem sobre o assunto. Sistemas Especialistas
são concebidos de maneira a conter este conhecimento.
O fato de que humanos são freqüentemente aptos a conduzir tarefas complexas sob
significante incerteza tem estimulado a pesquisa por padrões alternativos de modelagem. Têm
sido introduzidas assim as chamadas metodologias de modelagem "inteligentes". Tais
abordagens empregam técnicas motivadas por sistemas biológicos e conhecimento humano
para desenvolver modelos para sistemas dinâmicos [9].
Estas técnicas exploram métodos de representação alternativa, que utilizam, por
exemplo, linguagem natural (variáveis lingüísticas), regras, modelos qualitativo, e possuem
métodos formais para incorporar informações suplementares relevantes. Modelagem nebulosa
é exemplo típico de técnicas que fazem uso do conhecimento humano e processos dedutivos
[15].
A abordagem citada no parágrafo anterior faz uso de lógica nebulosa. A característica
especial dessa lógica é a de representar uma forma inovadora de manuseio de informações
imprecisas, de forma muito distinta da teoria de probabilidades [15]. Do mesmo modo que um
sistema especialista, sistemas de inferência nebulosos podem ser obtidos da descrição
lingüística do sistema dada pelo especialista.
Também podem ser encontrados métodos inspirados na natureza, como algoritmos
genéticos (AG), que são um ramo dos algoritmos evolucionários e como tal podem ser
definidos como uma técnica de busca baseada numa metáfora do processo biológico de
evolução natural.
Outras abordagens que também vêm sendo bastante usada para identificação de
sistemas são: análise de componentes principais (PCA) e mínimos quadrados parciais (PLS).
São métodos estatísticos multidimensionais aplicados quando estes sistemas apresentam alta
dimensionalidade e boa correlação linear entre suas variáveis.
Uma restrição deste tipo de método é o fato de que somente informação linear é
extraída dos dados. Existem métodos estatísticos, como a regressão localmente ponderada
(LWR), que aliviam esta restrição, podendo ser usados para sistemas não lineares [9].
Existem diversas técnicas para identificação de sistemas, lineares e não lineares.
Contudo, neste trabalho foi proposta a utilização de redes neurais artificiais como
22
metodologia de identificação. O próximo tópico aprofunda o conhecimento nesse método e
deixa claro porque é uma abordagem atrativa e funcional.
3.2 Metodologia empregada
Como descrito no capítulo anterior a metodologia empregada no desenvolvimento do
sensor possui os seguintes passos: seleção do histórico de dados do banco de dados da planta;
detecção e tratamento de falha nos dados; seleção da estrutura do modelo;
treinamento/estimação do modelo; teste/validação do modelo.
Como citado anteriormente, as redes neurais possuem um processamento paralelo,
diferente do processamento dos computadores convencionais, com apenas um núcleo, e bem
semelhantes ao processamento que ocorre no cérebro humano, contudo com várias restrições.
Algumas características que as RNAs procuram imitar do cérebro são entre outras: a
capacidade de lidar com informações inconsistentes e/ou probabilísticas, alta flexibilidade
para se adaptar a situações aparentemente pouco definidas, tolerância a falhas. Deve ser
frisado que essas características só são possíveis após a rede ser treinada corretamente.
Utilizar redes neurais como uma estratégia para resolver problemas que necessitam de
uma análise mais complexa dos dados, não é uma idéia muito nova. Contudo, recentemente
métodos de modelagem, identificação e estimação de parâmetros utilizando técnicas de RNAs
têm sido aplicados com êxito em uma grande variedade de problemas reais [17].
Devido a todas essas características citadas acima, pretende-se utilizar redes neurais
artificiais para o desenvolvimento do sensor virtual, por ser esta uma técnica que tem sido
bastante empregada nos últimos anos na resolução de problemas semelhantes apresentando
resultados bem satisfatórios.
3.2.1 Seleção das variáveis
As variáveis de entrada e saída da rede que se utilizou nas etapas de treinamento e
validação do modelo foram disponibilizadas pela Companhia de Água e Esgoto do Ceará,
como citado no primeiro capítulo deste trabalho, e correspondem ao Boletim Diário de
Medição de Parâmetros de Qualidade de Água da Estação de Tratamento de Água do Gavião
(Fortaleza-CE).
Foram disponibilizados pela CAGECE os dados, na forma citada acima, dos anos de
2007, 2008 e 2009. Os dados selecionados para aplicar no sensor foram os dados do ano de
2007, pois os dados de 2008 e 2009 estavam com algumas falhas, como lacunas e dados
23
isolados fora do padrão (outliers), tais falhas comprometeriam a qualidade da saída do sensor
virtual.
Além de determinar o intervalo dos dados que serão aplicados na rede, também se
deve conhecer quais variáveis são mais influentes na saída do sistema, ou seja, quais variáveis
possuem maior variância com relação a saída desejada do sensor, esses detalhes serão
explicados no capítulo quatro, onde aborda-se o treinamento da rede neural.
3.2.2 Estrutura da rede neural
A etapa de determinação da estrutura da rede possui três passos: seleção do
“paradigma neural” apropriado a aplicação; “paradigma neural” se refere a qual tipo de rede
será utilizada (MLP, RBF, Recorrentes, dentre outras), escolha da “topologia da rede” a ser
utilizada; o número de camadas, o número de neurônios em cada camada, a escolha da função
de ativação, etc.; e a determinação de parâmetros do “algoritmo de treinamento”. Esta última
etapa possui um grande impacto nas capacidades e possibilidades do sistema, mostrado no
capítulo quatro [2].
Na próxima seção deste capítulo serão mostradas as topologias empregadas no
desenvolvimento do sensor virtual, bem como o seu algoritmo de treinamento e paradigma
neural utilizado.
3.2.3 Treinamento da rede
Nesta etapa tendo escolhido os dados, as variáveis, para o treinamento da rede,
seguindo o algoritmo selecionado para o treinamento, os pesos sinápticos serão ajustados. É
muito importante ter bastante atenção, nesta fase, para alguns aspectos tais como a
inicialização da rede, modo de treinamento e tempo de treinamento [2].
O primeiro aspecto citado é a inicialização da rede, esse processo diz respeito ao valor
inicial arbitrado aos pesos da rede. Intuitivamente sabe-se que uma boa escolha dos valores
iniciais dos pesos pode diminuir o tempo de treinamento da rede. Apesar do conhecimento
desse fato, os pesos das redes são normalmente inicializados com valores aleatórios,
normalmente valores pseudo-aleatórios no intervalo [0,1].
Quanto ao modo de treinamento temos duas formas básicas de apresentar a o conjunto
de treinamento à rede neural:
• Modo seqüencial. O modo seqüencial da aprendizagem é também conhecido
como modo on-line, modo padrão ou modo estocástico. Neste modo a
24
atualização dos pesos é feita ao fim da apresentação de cada exemplo de
treinamento à rede neural [13].
• Modo por lote. No modo por lote a atualização dos pesos acontece somente
após a apresentação de todos os exemplos de treinamento [13].
Cada modo de treinamento possui suas vantagens e desvantagens, o treinamento no modo
seqüencial é o mais utilizado devido à necessidade de um menor armazenamento de dados e é
menos suscetível a problemas com mínimos locais, contudo, no modo de treinamento por lote
se obtém uma melhor estimativa do vetor gradiente, tornando assim o treinamento mais
estável que o treinamento seqüencial [13].
O critério de parada implementado no algoritmo é crucial na duração do treinamento
da rede, influenciando assim o tempo de treinamento. De fato não se pode demonstrar que o
algoritmo de backpropagation, que será aprofundado mais a frente, convergiu, existem
critérios bem definidos para finalizar a sua operação, contudo, sua eficácia pode ser
contestada.
Outro fator determinante não só do tempo de treinamento, mas também da capacidade
de extrapolação da rede é o número de neurônios, esse assunto será abordado nos próximos
tópicos, mas podemos citar aqui um problema conhecido como over-training.
O problema citado acima acontece devido a uma escolha exagerada do número de
neurônios para a rede. A rede se especializa num conjunto de treinamento e perde a
capacidade de extrapolação, ou generalização, como o backpropagation não é sensível a esse
fenômeno, dependendo do critério de parada utilizado o algoritmo não vai conseguir finalizar
por si mesmo.
3.2.4 Validação do modelo
Espera-se que a rede tenha se tornado bem treinada de modo que tenha aprendido
suficiente sobre o “passado” para generalizar valores futuros. Baseados nessa visão, a escolha
dos parâmetros da rede é crucial para o processo de aprendizagem. Cientes da importância de
uma boa generalização para a inferência da rede uma ferramenta padrão da estatística
conhecida como validação cruzada, será utilizada para validar o treinamento da rede..
Imediatamente após a fase de seleção das variáveis, o conjunto de dados é dividido em
dois subconjuntos; essa divisão acontece aleatoriamente, entretanto respeitando uma
porcentagem de cada subconjunto do conjunto total, ou seja, subconjunto de treinamento, ou
estimação, possui 70% dos dados do conjunto total e o subconjunto de validação, ou teste,
possui o restante dos dados.
25
A motivação nessa etapa é fazer a validação do modelo escolhido com um conjunto de
dados diferente do conjunto utilizado para o treinamento do modelo. O uso de validação
cruzada é atrativo quando temos que projetar uma rede neural de grande porte e necessitamos
de uma boa generalização [13].
Das etapas comentadas acima, a primeira, seleção das variáveis, já foi comentada e
apresentada neste mesmo capítulo. As etapas seguintes que são: estrutura da rede neural,
treinamento da rede e validação do sensor serão apresentadas a seguir, da seguinte forma:
neste capítulo será apresentada a topologia da rede e no próximo capítulo serão apresentados
treinamento e validação do modelo.
3.3 Determinação da estrutura da rede neural
Como já se dispõe de todo o conjunto de dados para realizar o treinamento e validação
do sensor virtual, a próxima etapa é a de determinação da topologia de rede neural que será
utilizada, bem como de seus parâmetros.
3.3.1 Arquitetura da rede
Existem diversos modelos de redes neurais que podem ser aplicadas a este problema,
tanto redes feedforward como redes recorrentes, dentre essas duas classes de RNAs podemos
citar as principais como sendo:
Redes Feedforward
• Linear
o Perceptron e Adaline
• MLP – Perceptron de Múltiplas Camadas
o Backpropagation
o Variações
• RBF – Funções de Base Radial
• Redes Probabilísticas
Redes Recorrentes
• Rede de Elman
• Rede de Hopfield
26
Fez-se opção de trabalhar com duas redes diferentes e comparar os seus resultados, as
redes selecionadas foram: MLP com algoritmo backpropagation, clássico, e FTLFN (Focused
time lagged feedforward network) com algoritmo backpropagation.
O critério de escolha dessas duas redes se deu baseado em sua simplicidade e boa
adequação a problemas semelhantes como pode ser observado em [2]. A seguir apresentam-se
mais características das redes escolhidas que fundamentam melhor a sua escolha.
Rede Feedforward MLP – Backpropagation
Como o próprio nome sugere trata-se de uma rede que não possui realimentação,
assim podemos afirmar que a informação flui em apenas um sentido. Os perceptrons de
múltiplas camadas através do seu treinamento de forma supervisionada têm sido
implementados com muito sucesso para resolver problemas com um alto grau de dificuldade,
como observado em [3] e [12].
No paradigma de aprendizado supervisionado existe a figura e um “tutor” que é
responsável por estimular as entradas da rede por meio de padrões de entrada e observar a
saída calculada pela mesma, comparando-a posteriormente com a saída desejada, fornecendo
assim informações sobre a direção de ajuste dos pesos [14].
Figura 3.1 – Aprendizado supervisionado [14].
A Figura 3.1 mostra uma representação esquemática do aprendizado supervisionado.
Aprendizado supervisionado implica a existência de um professor externo, o qual é
responsável por estimular as entradas da rede por meio de padrões de entrada e observar a
saída calculada pela mesma, comparando-a com a saída desejada pela rede [14].
O algoritmo de treinamento supervisionado mais popular é conhecido como
backpropagation, ou algoritmo de retropropagação do erro, este é baseado na regra de
aprendizagem por correção de erro.
Basicamente, a aprendizagem por retropropagação de erro consiste de dois passos
através das diferentes camadas da rede, Figura 3.2. Um passo para frente, a propagação, e um
27
passo para trás, a retropropagação. Durante o passo de propagação, os pesos sinápticos da
rede são todos fixos. Já durante a fase para trás, ou retropropagação, os pesos sinápticos são
todos ajustados de acordo com uma regra de correção de erro.
A regra de correção de erros consiste em tomar uma resposta real (saída) da rede e
subtrar de uma resposta desejada para produzir um sinal de erro, este erro é então propagado
para trás através da rede, contra a direção das conexões sinápticas.
A rede neural MLP é a mais utilizada e difundida [3], isso acontece devido a sua
simplicidade e, como citado anteriormente, pela sua grande capacidade de resolver problemas
com alto grau de complexidade, como aproximação de funções. A rede MLP é capaz de
aproximar qualquer função com um número finito de descontinuidades, pra isso necessita que
tenha um número suficiente de neurônios nas camadas ocultas.
O backpropagation é um dos algoritmos utilizado para treinar as redes MLP, podendo
fazer isto baseado nas mais diversas funções de ativação, mostradas na seção 1.3.4. Este
algoritmo também permite o mapeamento de relações lineares bem como não lineares entre os
vetores de dados de entrada e saída.
Figura 3.2 – Rede neural MLP.
A arquitetura da rede neural MLP é completamente determinada pelo problema a ser
resolvido. Assim, o número de neurônios na camada de entrada da rede e na camada de saída
são requeridos e determinados pelo problema. Por exemplo, se o problema possui 5 variáveis
de entrada, então, a rede terá 5 neurônios na camada de entrada, o mesmo ocorre com a
28
camada de saída, o número de neurônios na camada de saída corresponde ao número de saídas
distintas que se deseja obter com a rede neural.
No entanto, o número de neurônios na(s) camada(s) oculta(s), ou escondida(s), entre a
camada de entrada e a camada de saída, são escolhas realizadas pelo projetista da rede e
baseadas principalmente na análise e experiência do mesmo. Existem algumas regras que
tentem abordar o melhor ajuste destes valores, entretanto as teorias são em sua maioria
contraditórias e pouco práticas [2]. No capítulo será tratado o assunto da(s) camada(s)
escondida(s).
Como foi apresentado anteriormente o modo de treinamento seqüencial é o método
preferido para a implementação em tempo de execução (online) do algoritmo
backpropagation. Segundo [13] para este modo de operação segue os passos mostrados
abaixo:
1. Inicialização: supondo que não se tem nenhuma informação prévia, retire os pesos
sinápticos e limiares de uma distribuição uniforme cuja média é zero e cuja variância é
escolhida de tal forma que o desvio padrão dos campos locais induzidos dos neurônios se
encontre na transição entre as partes linear e saturada da função de ativação sigmóide.
Campos locais induzidos fazem alusão ao valor que sai dos somadores que existem em
cada neurônio, ou seja, é o valor de saída da rede antes de passar pela função de ativação.
2. Apresentação dos exemplos de treinamento: apresenta-se uma época de exemplos de
treinamento à rede. Para cada exemplo do conjunto, ordenado de alguma forma, realize a
seqüência de computações para a frente e para trás descritas anteriormente.
3. Computação para frente (propagação): Supondo que um exemplo de treinamento da
época seja representado por ( ) ( )( ),x n d n , com o vetor de entrada ( )x n aplicado à camada
de entrada de nós sensoriais e o vetor de resposta desejada ( )d n apresentado à camada de
saída de nós computacionais. Calcula-se, então, os campos locais induzidos e os sinais
funcionais da rede prosseguindo para frente através da rede, camada por camada. O campo
local induzido ( ) ( )l
jv n para o neurônio j na camada l é dado pela equação (3.1):
( ) ( ) ( ) ( ) ( ) ( )0
1
0
ml l l
j ji i
i
v n w n y n−
=
=∑ (3.1)
29
onde ( ) ( )1l
iy n− é o sinal (função) de saída do neurônio i na camada anterior 1l − , na iteração
n , e ( ) ( )l
jiw n é o peso sináptico do neurônio j da camada l , que é alimentado pelo neurônio i
da camada 1l − . Para 0i = , temos ( ) ( )10 1ly n
− = + e ( ) ( ) ( ) ( )0l l
j jw n b n= é o bias aplicado ao
neurônio j na camada l . Assumindo-se o uso de uma função sigmóide, o sinal de saída do
neurônio j na camada l é mostrado na equação (3.2):
( ) ( )( )l
j j jy v nϕ= (3.2)
Se o neurônio j está na primeira camada oculta, isto é, 0l = , tem-se a equação (3.3):
( ) ( ) ( )0j jy n x n= (3.3)
onde ( )jx n é o j -ésimo elemento do vetor de entrada ( )x n . Se o neurônio j está na
camada de saída, isto é, l L= , onde L é denominada a profundidade da rede, faz-se de
acordo com a equação (3.4):
( ) ( )L
j jy o n= (3.4)
Calcula-se, então, o sinal de erro pela equação (3.5):
( ) ( ) ( )j j je n d n o n= − (3.5)
onde ( )jd n e ( )jo n são os j -ésimos elementos do vetor resposta desejada e resposta obtida,
ou real da rede respectivamente.
4. Computação para trás (retropropagação): Calcula-se os δ , isto é, gradientes locais, da
rede definidos por (3.6):
( ) ( ) ( ) ( ) ( )( )'l L L
j j j jn e n v nδ ϕ= (3.6)
para o neurônio j da camada de saída L , e (3.7):
( ) ( ) ( )( ) ( ) ( ) ( ) ( )1 1'l l ll
j j j k kj
k
n v n n w nδ ϕ δ + += ∑ (3.7)
para o neurônio j da camada oculta l , onde o apóstrofe em ( )'jϕ ⋅ representa a diferenciação
em relação ao argumento. Ajusta-se, agora, os pesos sinapticos da rede na camada l de
acordo com a regra delta generalizada (3.8):
30
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )11 1l l l l l
ji ji ji j iw n w n w n n y nα ηδ − + = + − + (3.8)
onde η é o parâmetro da taxa de aprendizagem e α é a constante de momento.
5. Iteração: Faz-se as computações para frente e para trás dos pontos 3 e 4, apresentando
novas pocas de exemplos de treinamento para a rede, até que seja satisfeito o critério de
parada.
Redes alimentadas adiante focadas atrasadas no tempo
Normalmente utiliza-se a topologia de uma rede neural estática (como a topologia
apresentada no tópico anterior deste mesmo capítulo) no reconhecimento estrutural de
padrões. Já o reconhecimento temporal de padrões, diferente do primeiro, necessita de um
processamento de padrões que evolua no tempo, ou seja, a resposta, ou saída da rede em um
determinado instante de tempo não depende somente dos valores presentes na entrada, além
desses é dependente de seus valores passados. Pode-se analisar como a rede neural sendo
estimulada por uma memória de curto prazo. O operador 1Z − representa esse atraso no tempo
que é aplicado às entradas.
Figura 3.3 – Filtro neural focado [13].
Sendo mais claros pode-se analisar da seguinte forma, dado um sinal de entrada sendo
o valor presente ( )x n e de p valores passados, ( ) ( )1 ,...,x n x n p− − , armazenados em uma
31
memória de linha de atraso de ordem p , exemplificando-se, pode ser observada essa estrutura
ao nível de um único neurônio ou de uma rede de neurônios na Figura 3.3 e Figura 3.4.
A menor estrutura responsável pelo processamento temporal é mostrada na Figura 3.3.
Na sua composição tem uma memória de linha de atraso derivada e todas as suas derivações
conectadas às sinapses de um neurônio. Essa unidade é denominada de filtro neural focado,
diz-se focado no sentido que a toda a estrutura da memória está localizada na entrada de cada
unidade.
Essa memória de linha de atrasos tem a capacidade de capturar do sinal de entrada a
informação temporal, e esse neurônio já coloca essa informação em seus próprio pesos
sinapticos. Em resposta à entrada ( )x n e aos seus valores passados (atrasados)
( ) ( )1 ,...,x n x n p− − , temos a saída dada pela equação (3.9):
( ) ( ) ( )0
p
j j j
l
y n w l x n l bϕ=
= − +
∑ (3.9)
onde ( )ϕ ⋅ é a função de ativação do neurônio j , os ( )jw l são seus pesos sinapticos e jb é o
bias. Percebemos que a estrutura é bem semelhante a da Figura 1.1, onde a entrada da função
de ativação consiste em uma combinação das seqüências de amostras de entrada e pesos
sinapticos do neurônio.
Figura 3.4 – Rede neural alimentada adiante focada atrasada no tempo (FTLFN) [13].
32
Na Figura 3.4 tem-se uma rede formada por várias n unidades de filtros neurais
focados formando a rede alimentada adiante focada atrasada no tempo, trata-se de um filtro
não linear mais poderoso que consiste de uma memória de linha de atraso derivada de ordem
p e um perceptron de múltiplas camadas.
Para realizar o treinamento desse filtro (FTLFN) utiliza-se o algoritmo de
backpropagaion descrito no tópico anterior. Tem-se que tempo n , o “padrão temporal”
aplicado à entrada da rede é o vetor ( ) ( ) ( ) ( ), 1 ,...,T
X n x n x n x n p = − − .
A saída da FTLFN, assumindo que o perceptron de múltiplas camadas possui apenas
uma camada escondida como na Figura 3.4 é dada pela equação (3.10):
( ) ( )
( ) ( )
1
1
1
1 0
m
j j
j
m p
j j j o
j l
y n w y n
w w l x n l b bϕ
=
= =
=
= − + +
∑
∑ ∑ (3.10)
onde se assume que o neurônio de saída da FLFN é linear, os pesos sinapticos são
representados pelo conjunto { } 1
1
m
jj
w=, onde 1m é o tamanho da camada oculta e ob representa
o bias.
3.3.2 Definição da topologia
Neste tópico vamos apresentar alguns critérios para obter o ajuste da topologia
escolhida, dentre os parâmetros de ajuste destacam-se os seguintes: número de camadas
escondidas, número de neurônios em cada camada, função de ativação e algoritmos de
treinamento.
Alguns desses parâmetros já foram determinados como a função de transferência a ser
utilizada que é a sigmoidal Figura 1.5, também já foi apresentado o algoritmo de treinamento
das duas redes que utilizaremos para o sensor virtual, esse algoritmo é o backpropagation.
Entretanto, para decidir os outros parâmetros necessita-se de alguns critérios para comparar os
resultados obtidos, nessa avaliação das redes foram usados dois critérios:
• Erro Máximo Relativo: é o valor máximo do erro apresentado no final de cada
treinamento, esse erro é obtido comparando os resultados que obtemos na saída da
rede, com os valores desejados. A observação desse erro pode-se avaliar o quanto está
fora o pico do erro na avaliação da rede. A equação utilizada para essa comparação é
(3.11):
33
( ) ( )( )
max .100%máx
d n y n
y nε
−=
(3.11)
onde ( )y n é a saída da rede, e ( )d n é a saída desejada.
• Erro médio quadrático (MSE): este é a média dos quadrados das diferenças entre o
valor estimado pelo sensor e o valor desejado. Este valor é utilizado para medir o
desempenho da rede da rede neural durante o treinamento, algoritmo
backpropagation. Esse erro pondera com maior peso os pontos em que o erro
apresentado pela rede for maior. A função desse erro é dada pela equação (3.12):
( ) ( )( )21
N
nmq
d n y n
Nε =
−=∑
(3.12)
3.3.3 Inicialização dos pesos
A determinação de bons valores iniciais para os pesos sinapticos, pode ser de grande
ajuda para um projeto de rede bem sucedido. Pode representar uma alteração significativa no
tempo necessário para o treinamento da rede e para melhor convergência dos resultados
apresentados.
Se iniciarmos os pesos com valores muito grandes (acima de 10), a probabilidade de
os neurônios da rede serem levados a saturação é bem alta, pois a função de ativação que
utilizamos satura nos valores -1 e 1. Neste caso, os gradientes locais no algoritmo de
retropropagação recebem valores bem pequenos, acontecendo assim uma diminuição na
velocidade de convergência, ou seja, do processo de aprendizagem. Por outro lado, quando
são valores muito pequenos na inicialização dos pesos, o algoritmo backpropagation pode
operar em uma área muito plana em torno da superfície de erro. Logo, uma escolha adequada
para a inicialização se encontra em algum lugar entre esses dois casos extremos.
Na maioria dos casos, a inicialização dos pesos da rede é feito com valores aleatórios
uniformemente distribuídos no intervalo [ ]0,1 . Entretanto, existem outras possibilidade para a
inicialização desses pesos, e algumas delas já se encontram incorporadas à programas
específicos. Dentre elas há funções que realizam um melhor ajuste destes valores iniciais dos
pesos da rede através da relação entre amplitudes dos valores de entrada, saída, tipo da
arquitetura da rede, etc. [2].
34
3.4 Conclusão Foram citadas nesse capítulo várias arquiteturas que podem ser utilizadas no
desenvolvimento de sensores virtuais.
Entretanto, foi discutido mais profundamente apenas os modelos baseados em redes
neurais artificiais. Apresentou-se um breve histórico sobre o assunto e alguns conceitos sobre
essas redes, procurando-se destacar as características utilizadas no projeto do sensor.
Dentre esses conceitos destacou-se a topologia (“paradigma neural”) do sensor, que
foram dois, as redes MLP feedforward e FTLFN. Além de explicar o funcionamento de cada
uma das redes foi dado um enfoque ao seu algoritmo de treinamento, que é o
backpropagation.
Outros conceitos importantes para o sensor também foram abordados como: seleção
das variáveis, treinamento e validação do sensor.
Com relação ao treinamento e validação do sensor virtual, o capítulo quatro
aprofundará as discussões e apresentará os resultados dessas duas etapas do projeto.
35
4 TREINAMENTO E VALIDAÇÃO DO SENSOR
4.1 Considerações Iniciais
Neste capítulo será discutido o treinamento e validação do sensor virtual. Para realizar
a seleção da melhor topologia de rede serão utilizados os critério apresentados no capítulo
anterior em 3.2.3 e 3.2.4. Discutiu-se no mesmo capítulo vários parâmetros da topologia da
rede, neste capítulo, baseado no treinamento e validação da rede será ajustado o número de
camadas escondidas da rede, e ainda o número de neurônios contidos em cada uma dessas
camadas.
Além de fazer os últimos ajustes na arquitetura da rede, serão discutidos nesse capítulo
os resultados dos treinamentos e a determinação da melhor topologia de rede para o sensor
virtual desenvolvido.
4.2 Número de camadas e neurônios por camada
Naturalmente o número de neurônios na camada de entrada e camada de saída da rede
neural é determinado pelo próprio conjunto de dados. A quantidade de entradas define o
número de neurônios na camada de entrada, já o número de saídas desejadas define a
quantidade de neurônios da camada de saída. Baseando-se nesses critérios, a rede definida
terá três neurônios na camada de entrada, esses parâmetros são: pH, turbidez, e
contextualização temporal (as datas de cada medição). Na camada de saída da rede tem
apenas um neurônio, pois apenas um parâmetro será previsto pelo sensor, oxigênio
consumido.
Os parâmetros, que serão utilizados como entradas da rede neural, foram selecionados
com a ajuda de um especialista responsável pelo tratamento. Devido a não realização de testes
preliminares com os dados, como teste de correlação, houve necessidade desse especialista
indicar quais as melhores variáveis de entrada.
Segundo [14], as redes neurais perceptron de múltiplas camadas com apenas uma
camada oculta são capazes de aproxima qualquer função contínua, já as redes com duas
camadas escondidas conseguem aproximar qualquer função não linear. As redes que possuem
mais de duas camadas ocultas não apresentam melhoria nenhuma à capacidade estimativa da
rede, entretanto podem apresentar maior segurança para perdas localizadas (redundância de
neurônios) e maior precisão.
36
O número de camadas escondidas, assim como o número de neurônios em cada
camada que determinam o melhor resultado não são obtidos de modo determinístico. Após
muitos estudos empíricos alguns autores propuseram algumas regras que ajudam na
determinação da quantidade inicial de neurônios.
Entretanto, esses mesmos autores enfatizam que estas regras servem apenas para
auxiliar o projetista, e que devido a grande variedade de problemas existentes e que podem ser
apresentados às redes neurais é difícil o estabelecimento de regras.
Em [13] o autor alerta que não existe teoria para otimizar a arquitetura das redes
neurais, ou seja, não existe um modo determinístico de encontrarmos o valor ideal para o
número de neurônios e o número de camadas ocultas, é sugerido como solução para esse
problema realizar um estudo experimental exaustivo em busca da melhor combinação.
Com a intenção de determinar a estrutura da rede neural que será utilizada foram
realizados vários ensaios, variando progressivamente o número de camadas e de neurônios
por camadas e comparando-se os resultados obtidos.
As redes neurais são muito influenciadas pelas condições iniciais utilizadas durante o
treinamento, e que para algumas dessas condições a rede neural não converge ou apresenta
convergência para um erro maior que o esperado, ou seja, converge para um mínimo local.
Para se realizar a comparação entre as diferentes topologias de rede foi realizado o
treinamento de sete redes com diferentes condições iniciais para cada estrutura, combinação
de camadas e neurônios.
Como é o intuito deste capítulo, serão apresentados os resultados para as duas redes,
tanto a MLP feedforward quanto a FTLFN e ao final esses resultados serão comparados. O
conjunto de dados utilizado no treinamento foi de 292 pontos de todos os dados.
4.3 Treinamento e Validação
4.3.1 Redes alimentadas adiante focadas atrasadas no tempo
Como mencionado acima se realizou o treinamento das oito redes com diferentes
condições iniciais, ou seja, oito arquiteturas diferentes de redes, e cada uma dessas redes
foram treinadas quatro vezes, após esse treinamento foram selecionadas as duas melhores, ou
seja, a metade melhor das redes para discutir os seus resultados. A outra metade das redes foi
descartada, elas não apresentaram bons resultados, os problemas que causaram maus
resultados para as redes descartadas foram: falta de convergências, ou convergência para
mínimo local.
37
Este método de comparação das redes (Média da Metade Melhor) justifica-se pelos
seguintes fatos: na inicialização de cada treinamento são atribuídos valores aleatórios aos
pesos sinápticos, devido a essa diferença em cada treinamento não se pode simplesmente
comparar uma arquitetura de rede realizando apenas um treinamento com essa topologia.
Assim para se ter a certeza de uma boa comparação são utilizadas as médias dos
valores de Erro máximo e Erro Médio Quadrático (MSE).
No capítulo anterior foi explicado como funcionavam as redes FTLFN, além das oito
combinações de camadas e neurônios nas camadas foram treinadas redes com atrasos
diferentes. Neste trabalho treinamos redes com três e cinco atrasos para cada entrada. Com
diversas combinações de neurônios.
Na Tabela 1 pode-se observar quais as combinações de camadas e neurônios por
camadas que foram utilizadas:
Tabela 1 – Combinação de camadas e neurônios por camada.
Redes FTLFN com 3 e 5 atrasos
Número de
camadas
Prineira
camada
Segunda
camada
1 3 -
1 5 -
1 7 -
2 3 3
2 5 5
2 7 7
2 10 5
2 10 7
Os primeiros treinamentos apresentados são para a FTLFN com três atrasos de tempo.
Realizou-se diversos treinamentos, como citado anteriormente, e desses treinamentos foram
selecionadas as redes com melhores valores de Erro máximo e MSE. Dos valores
selecionados foi calculada uma média, que foi denominada de “média da metade melhor”
(MMM) [2], e estes valores foram comparados na Tabela 2:
38
Tabela 2 – Cálculo da Média da Metade Melhor.
Rede FTLFN com 3 atrasos e 10 neurônios
na primeira camada e 5 na segunda
Erro MSE Erro Máximo
0.40611 0.25069
0.40734 0.27222
Redes Selecionadas
0.50849 0.34945
0.46539 0.43163 Redes Descartadas
0.40672 0.26145 MMM
A Figura 4.1 apresenta de forma comparativa os valores calculados para as médias das
melhores metades para as várias estruturas de rede, mostradas na Tabela 1, com uma e duas
camadas escondidas, e com diferentes quantidades de neurônios em cada camada.
Todos os valores encontrados nas tabelas deste capítulo são Erro máximo e MSE do
treinamento das redes neurais.
A respeito da nomenclatura das redes apresentada temos o número de camadas e
neurônios por camada representados da seguinte forma: as redes com duas camadas ocultas e
com dez neurônios na primeira camada e sete neurônios na segunda camada são representadas
como “10 7”, e assim por diante.
Figura 4.1 – Gráfico com MMM para as redes FTLFN com três atrasos na entrada.
39
Os valores que são mostrados na Figura 4.1 podem ser vistos na Tabela 3. Foram
escolhidas as melhores redes para compor o gráfico.
Tabela 3 – Cálculo dos erros apresentados pelas redes para redes FTLFN com três atrasos na entrada.
3 atrasos MSE Emax
5 0.45535 0.26790
7 0.49015 0.33349
3 3 0.50432 0.33280
5 5 0.43791 0.32461
7 7 0.44128 0.28465
10 5 0.40672 0.26145
10 7 0.41804 0.27140
Fazendo-se uma análise da Figura 4.1 observa-se que existe um ponto ótimo para cada
número de neurônios para cada número de camadas, ou seja, para cada número de camadas há
um ponto ótimo, dos valores de MSE e erro máximo, no número de neurônios por camada.
Assim temos as melhores redes para cada configuração. Para as redes com apenas uma
camada oculta e com três atrasos de tempo é a rede com cinco neurônios na camada
escondida. Para as redes com duas camadas ocultas tem-se que a melhor arquitetura é a rede
com dez neurônios na primeira camada e cinco neurônios na segunda camada escondida.
Entretanto, como pode ser visto na Tabela 4 as melhores redes obtidas podem ter a
mesma quantidade de camadas escondidas. No caso analisado até o momento se tem que as
redes com duas camadas escondidas obtiveram melhores desempenhos que as de uma única
camada, a única exceção é a rede com duas camadas ocultas e com três neurônios em cada
camada, que teve um desempenho pior que as duas das redes com apenas uma camada
escondida (cinco e sete neurônios na camada).
Tabela 4 – Três melhores redes FTLFN com 3 atrasos.
Média da metade melhor Melhor rede obtida
Erro MSE Erro máximo Erro MSE Erro máximo Redes
0.40672 0.26145 0.40611 0.25069 10 5
0.41804 0.27140 0.38873 0.30208 10 7
0.43791 0.32461 0.37236 0.31920 5 5
40
Depois do exaustivo treinamento podemos escolher a melhor rede FTLFN com três
atrasos de tempo. Essa rede é a rede com duas camadas escondidas, com dez neurônios na
primeira camada e cinco neurônios na segunda camada escondida. Essa escolha foi baseada
na MMM. Como essa rede teve a melhor média para o erro médio quadrático (MSE) significa
que vários treinamentos convergiram para resultados bons e o maior pico computado para a
mesma é menor que o das outras redes.
Na Figura 4.2 pode-se observar o dois gráficos que mostram o melhor resultado para a
rede “10 5” FTLFN com três atrasos de tempo. O primeiro estão plotados a saída desejada
(azul) e a saída da rede neural (vermelho) para uma comparação ponto a ponto da saída da
rede. O segundo gráfico mostra o erro residual, ou seja, a diferença entre as duas saídas
(desejada e obtida).
Figura 4.2 – Validação da rede “10 5” FTLFN com 3 atrasos.
Os resultados que serão apresentados abaixo são para as redes FTLFN com cinco
atrasos de tempo. As combinações de camadas escondidas e neurônios por camada são a
mesmas apresentadas na Tabela 1.
41
Essas redes foram treinadas em condições semelhantes as anteriores, foram escolhidos
os melhores treinamentos e feito a MMM. Pode-se observar na Tabela 5 o exemplo de uma
rede treinada e seleção dos melhores resultados.
Tabela 5 – Cálculo da Média da Metade Melhor (FTLFN com 5 atrasos).
Rede FTLFN com 5 atrasos e 5 neurônios na
primeira camada e 5 na segunda
Erro MSE Erro Máximo
0.38540 0.25062
0.39123 0.25687
Redes Selecionadas
0.41918 0.25566
0.44085 0.33253 Redes Descartadas
0.38827 0.25596 MMM
O gráfico da MMM pode ser visto na Figura 4.3, percebe-se que para cada
combinação de redes e camadas tem-se um valor ótimo. Para uma camada escondida a melhor
arquitetura é com três neurônios nessa camada. Já para uma topologia com duas camadas
ocultas a configuração que apresentou melhores resultados foi a rede com cinco neurônios
tanto na primeira quanto na segunda camada escondida.
Figura 4.3 – Gráfico com MMM para as redes FTLFN com cinco atrasos na entrada.
42
Dos valores utilizados para plotar o gráfico da Figura 4.3 foram selecionados os três
melhore e agrupados na Tabela 6. O melhor resultado para as redes FTLFN foi apresentado
pela rede “5 5” como mostrado no capítulo anterior. O critério utilizado foi o MSE da MMM
que indica que muitas redes com essa configuração convergiram para bons resultados, apesar
de não ser a melhor rede obtida (melhor rede foi uma “7 7”).
Tabela 6 – Três melhores redes FTLFN com 5 atrasos.
Média da metade melhor Melhor rede obtida
Erro MSE Erro máximo Erro MSE Erro máximo Redes
0.38827 0.25596 0.38540 0.25062 5 5
0.42105 0.25479 0.35601 0.21147 7 7
0.42415 0.25241 0.39333 0.22224 10 5
Após a escolha da melhor rede FTLFN com cinco atrasos (“5 5”) de tempo pode-se
observar o melhor resultado para o treinamento dessa rede na Figura 4.4. No primeiro gráfico
são mostrados os valores reais (azul) e previstos pela rede (vermelho). No segundo gráfico
observa-se a diferença entre esses dois valores mostrados no primeiro gráfico.
Figura 4.4 – Validação da rede “5 5” FTLFN com 5 atrasos.
43
4.3.2 Redes MLP feedforward
Em seguida foram realizados todos os treinamentos com as redes MLP feedforward.
As MMM foram calculadas da mesma forma que nas redes anteriores (FTLFN com três e
cinco atrasos no tempo). O exemplo de uma seleção dos melhores resultado pode ser visto na
Tabela 7.
Tabela 7 – Cálculo da Média da Metade Melhor.
Rede MLP feedforward e 3 neurônios na
primeira camada e 3 na segunda
Erro MSE Erro Máximo
0.45991 0.38720
0.46662 0.32687
Redes Selecionadas
0.52201 0.34869
0.53478 0.35735 Redes Descartadas
0.46326 0.35703 MMM
A Figura 4.5 mostra o gráfico da MMM, analisando-se esse gráfico observa-se que
para cada número de camadas há um ponto ótimo, dos valores de MSE e erro máximo, no
número de neurônios por camada.
Figura 4.5 – Gráfico com MMM para as redes MLP feedforward.
44
Assim temos que para as redes com apenas uma camada oculta a melhor foi a rede
com cinco neurônios. Para as redes com duas camadas escondidas tem-se que a melhor
configuração foi com dez neurônios da primeira camada escondida e sete neurônios na
segunda. A Tabela 8 mostra os valores de erro médio quadrático e erro máximo utilizados no
gráfico da Figura 4.5.
Tabela 8 – Cálculo dos erros apresentados pelas redes para redes FTLFN com três atrasos na entrada.
3 atrasos MSE Emax
5 0.50100 0.33743
7 0.50238 0.34858
3 3 0.46326 0.35703
5 5 0.41377 0.25889
7 7 0.54081 0.31862
10 5 0.42309 0.25001
10 7 0.40931 0.28218
As três melhores redes MLP encontram-se agrupadas na Tabela 9, pode-se observar
que as três possuem duas camadas escondidas. O critério para a escolha da melhor rede MLP
feedforward (rede “10 7”) foi baseado no MSE tanto da MMM quanto da melhor rede obtida.
Um valor pequeno para esse erro da MMM significa que mais redes convergiram para bons
resultados.
Tabela 9 – Três melhores redes MLP feedforward.
Média da metade melhor Melhor rede obtida
Erro MSE Erro máximo Erro MSE Erro máximo Redes
0.40931 0.28218 0.37708 0.26319 10 7
0.41377 0.25889 0.38380 0.28248 5 5
0.42309 0.25001 0.37736 0.20095 10 5
Na Figura 4.6 pode-se observar dois gráficos semelhantes aos da Figura 4.2 e Figura
4.4. Onde se tem no primeiro as saídas real e estimada sobrepostas a fim de uma comparação.
O segundo temos uma comparação numérica, ou seja, é plotado o erro (diferença entre real e
estimada) ponto a ponto.
45
Figura 4.6 – Validação da rede “10 7” MLP feedforward.
4.4 Conclusão
As redes neurais estáticas, como é o caso da MLP, treinadas normalmente pelo
algoritmo backpropagation, apresentam certa dificuldade em realizar mapeamentos
dinâmicos.
Comparando-se as três estruturas (MLP feedforward e FTLFN 3 e 5 atrasos) pode-se
observar que as três obtiveram resultados muito semelhantes. Contudo, as redes FTLFN
tiveram resultados melhores que as redes MLP. Na Tabela 10 tem-se as três melhores redes
no geral, ou seja, a melhor rede MLP, e as melhores FTLFN.
Tabela 10 – Três melhores redes.
Média da metade melhor Melhor rede obtida
Erro MSE Erro máximo Erro MSE Erro máximo Redes
0.40931 0.28218 0.37708 0.26319 10 7 - MLP
0.38827 0.25596 0.38540 0.25062 5 5 – FTLFN (5)
0.40672 0.26145 0.40611 0.25069 10 5 – FTLFN (3)
46
5 CONCLUSÕES
5.1 Conclusão
Este trabalho propôs a construção de um sensor virtual de oxigênio consumido durante
o tratamento da água numa ETA, a partir de dados reais coletados no ano de 2007 e
disponibilizados pela CAGECE.
A aplicação de RNA como um sistema de previsão de oxigênio consumido mostrou-se
eficiente no desenvolvimento do referido sensor. A partir dos dados de entrada utilizados, o
sensor virtual foi capaz de reconhecer os parâmetros de entrada e retornar na saída o
parâmetro desejado (OC).
Primeiramente foram definidos os parâmetros que seriam utilizados como entrada da
rede, esses foram: contextualização temporal (data), pH e turbidez da água. Por não se ter um
vasto conhecimento sobre o tratamento de água, fez-se necessário a consulta de um
especialista da área, que indicou as variáveis que possuíam relação com o parâmetro a ser
inferido.
A próxima etapa foi a de projeto do sensor, ou seja, definição de seu “paradigma
neural” e todos os outros parâmetros configuráveis na rede neural. Realizaram-se os
treinamentos com duas topologias de redes deferentes, MLP feedforward, e FTLFN com
diferentes atrasos (três e cinco).
Foram utilizadas oito redes para cada tipo citado no parágrafo anterior, essas redes
diferenciavam-se umas das outras pela combinação de camadas ocultas e neurônios por
camada. Uma grande dificuldade encontrada nessa fase foi minimizar o erro médio
quadrático, tanto no treinamento quanto na validação.
Após realizarem-se todos os treinamentos e ajustes da rede pode-se comprovar que
essa alternativa, baseada em redes neurais, para desenvolvimento de sensores virtuais é muito
eficiente e ainda possui muito potencial a ser explorado.
5.2 Contribuições do trabalho
A necessidade de uma medição instantânea, sem abrir mão da confiabilidade e
precisão foi a principal motivação deste trabalho. Além das características citadas acima se
pode destacar o baixo custo de implantação e manutenção como outro grande atrativo para os
sensores virtuais.
47
A fim de sanar essa necessidade foi proposta uma alternativa. O desenvolvimento de
um sensor virtual baseado em redes neurais artificiais. Sensor capaz de satisfazer os requisitos
citados no parágrafo anterior.
Um dos objetivos era aprofundar o conhecimento sobre redes neurais artificiais, suas
capacidades e possibilidades de utilização para reconhecimento de padrões e modelagem de
sistemas. Outra contribuição importante foi a revisão bibliográfica sobre o estado da arte na
área de sensores virtuais, ressaltando suas diferentes arquiteturas, desde modelos físicos,
modelos empíricos baseados em dados experimentais, até os modelos híbridos, que mesclam
as duas abordagens anteriores.
5.3 Trabalhos futuros
Todas as fases (passos) de projeto do sensor virtual proposto existem vários de pontos
que dão margem ao desenvolvimento de trabalhos futuros. Trabalhos mais avançados e
implementando diversas melhorias.
Começando pela fase de seleção de variáveis. Neste trabalho utilizaram-se médias dos
parâmetros de entrada para treinamento e validação da rede devido a fim de tentar minimizar
os erros de medição. Entretanto, existem técnicas específicas para seleção das variáveis de
entrada como: análise de componentes principais (PCA) e mínimos quadrados parciais (PSL).
Na fase de seleção do modelo, “paradigma neural”, a ser utilizado pode-se utilizar
modelos recorrentes de redes neurais, como a Rede de Elman, a fim de tentar obter melhores
resultados. A rede recorrente de Elman possui a capacidade de armazenar informações
passadas, devido a atrasos entre as conexões e realimentações internas.
Nas fases de treinamento e validação do sensor pode-se implementar técnicas para
correção dos erros. Essas técnicas proporcionam um ajuste fino ao longo do tempo, uma
técnica implementada muito implementada é a de treinamentos sucessivos.
48
REFERÊNCIAS BIBLIOGRÁFICAS
[1] Joseph, B.; Brosilow, C. B. Inferential Control of Processes: Part I, II e III. AIChE
Journal, v.24, n.3, p.485-509, 1978.
[2] Zanata, D. R. P. Desenvolvimento de sensor virtual empregando redes neurais para
medição da composição em uma coluna de destilação. Dissertação de Mestrado em
Engenharia (Engenharia de Sistemas), Escola Politécnica, Universidade de São Paulo, São
Paulo, 229p, 2005.
[3] Fortuna,L., Graziani, S., Rizzo, A., Xibilia, M. G. Soft Sensor for Monitoring and
Control of Industrial Processes , Londres, Editora Springer, 270p, 2007.
[4] Valentin, N.; Denoeux, T. A neural network-based software sensor for coagulation
control in water treatment plant. Inteligent Data Analysis, v.5, p.29-39, 2001.
[5] Choi, D. J.; Park, H. A hybrid artificial neural network as a software sensor for optimal
control of a wastewater treatment process, Water Research, v.35, n.16, p.3959-3967, 2001.
[6] Chu, J.; Su, H.; Gao, F.; Wu, J. Process control: art or practice. Annual Reviews in
Control, v.22, p.59-72, 1998.
[7] James, S. C.; Legge, R. L.; Budman, H. On-line estimation in bioreactors: A review.
Reviews in Chemical Engineering, v.16, n.4, p311-314, 2000.
[8] Zamprogna, E.; Barolo, M.; Seborg, D. E. Development of a Soft Sensor for a batch
distillation column using linear and nonlinear PLS regression techniques. 15th Triennial World
Congress, IFAC 02, Barcelona, 2002.
[9] Lotufo, F. A.; Garcia, C. Sensores Virtuais ou Soft Sensors: Uma introdução. 7th
Brazilian Conference on Dynamics, Control and Applications, São Paulo, 2008
[10] Aguirre, L. A. Introdução à identificação de sistemas: técnicas lineares e não lineares
aplicadas a sistemas reais. Belo Horizonte: Ed. UFMG, 554p, 2004.
[11] Souza, F. A.; Araújo, R.; Soares, S.; Mendes, J. Variable selection based on mutual
information for soft sensor application. 9th Portuguese Conference on Automatic Control,
Coimbra, 2010.
[12] Gonzalez, C. F. R.; Ascencio, R. R. L. Estimación de biomasa y pigmento en línea
para una fermentación tipo fed-batch utilizando redes neuronales artificiales. Memorias del
congreso SOMI XV, Guadalajara, 2000.
[13] Haykin, S. Redes Neurais: Princípios e prática. 2ª ed. Editora Bookman, 900p, 2001,
reimpressão 2007.
49
[14] Braga, A. P.; Carvalho, A. P. L. F.; Ludemir, T. B. Redes Neurais Artificiais: Teoria e
aplicações. 2ª ed. Rio de Janeiro, Editora LTC, 226p, 2007.
[15] Shaw, I. S.; Simões, M. G. Controle e Modelagem Fuzzy. 1ª ed. São Paulo, Editora
Edgard Blücher , 165p, 1999, reimpressão 2001.
[16] Vellasco, M. M. B. R. Redes neurais artificiais (notas de aula). Pontifícia Universidade
Católica do Rio de Janeiro, 34p, 2007.
[17] Willis, M. J.; Di Massimo, C.; Montague, G. A.; Tham, M. T.; Morris, A. J. Artificial
neural network in process engineering. IEEE Proceedings Part D: Control Theory and
Applications, v.138, n.3, p256-266, 1991.
50
APÊNDICE A
Trecho do código do sensor virtual, etapa de treinamento, propagação para frente do
sinal de entrada.
xI=[xI(:,1);xI(:,2);xI(:,3)]; % Vetor de entrada yD=Ydesejos((a+1),1); % Saida Desejada X1 = [-1; xI]; % Vetor de entrada da rede Ui = W1 * X1; % Ativacao (net) dos neuronios da camada oculta Y1 = 1./(1+exp(-Ui)); % Saida entre [0,1] (funcao logistica)
X2 = [-1; Y1]; % Vetor de entrada do neuronio de saida Ux = W2 * X2; % Ativacao (net) dos neuronios da camada de saida Y2 = 1./(1+exp(-Ux)); % Saida entre [0,1] X3 = [-1; Y2]; % Vetor de entrada do neuronio de saida Uy = M * X3; % Ativacao (net) dos neuronios da camada de saida Ok = 1./(1+exp(-Uy)); % Saida entre [0,1] Ek = yD - Ok; % erro entre a saida desejada e a saida da rede EQ = EQ + 0.5*sum(Ek.^2); % soma do erro quadratico de todos os
% neuronios p/ VETOR DE ENTRADA erro(int)=EQ;
51
Trecho do código do sensor virtual, etapa de treinamento, fase de retropropagação do
erro.
%%% CALCULO DOS GRADIENTES LOCAIS Dk = Ok.*(1 - Ok); % derivada da sigmoide logistica (camada de saida) DDk = Ek.*Dk; % gradiente local (camada de saida) Di2 = Y2.*(1 - Y2); % derivada da sigmoide logistica (camada oculta) DDi2 = Di2.*(M(:,2:end)'*DDk); % gradiente local (camada oculta) Di1 = Y1.*(1 - Y1); % derivada da sigmoide logistica (camada oculta) DDi1 = Di1.*(W2(:,2:end)'*DDi2); % gradiente local (camada oculta) % AJUSTE DOS PESOS - CAMADA DE SAIDA M_aux=M; M = M + eta*DDk*X3'+ mom*(M - M_old); M_old=M_aux; % AJUSTE DOS PESOS - CAMADA OCULTA W2_aux=W2; W2 = W2 + eta*DDi2*X2'+ mom*(W2 - W2_old); W2_old=W2_aux; % AJUSTE DOS PESOS - CAMADA OCULTA W1_aux=W1; W1 = W1 + eta*DDi1*X1'+ mom*(W1 - W1_old); W1_old=W1_aux;