Para poder monitorar, diagnosticar e corrigir o problema corretamente, os agentes baseados em redes neurais têm que passar pelo processo de treinamento, a fim de aprender o correto funcionamento da planta. Em nossa arquitetura, o treinamento é feito duas fases distintas: captação dos valores das variáveis da planta e o treinamento da RNA propriamente dito.
Na primeira fase, uma base de dados contendo os valores das variáveis são coletados para o treinamento. Na Figura 4.8 vemos a tela do módulo de treinamento (training module). Ao selecionarmos o led do treinamento do agente de observação para o tanque 1 (Record Train File T1), um arquivo é gerado com dados coletados do valor do nível do tanque 2 (L2), tensão aplicada à bomba (T) e do nível do tanque 1 (L1). As duas primeiras variáveis (L2 e T) serão as entradas da rede neural e a última (L1) é a saída da rede neural. Um exemplo desse arquivo pode ser visto na Figura 4.9 A. Assim, será treinada uma rede
neural que infere o nível do tanque 1 (T1) a partir dos valores do tanque 2 (L2) e a tesão aplicada a bomba (T). De modo similar ao treinamento do agente de observação do tanque 1 é realizado o treinamento do AO do tanque 2 (Record Train File T2) que gera um arquivo mostrado na Figura 4.9 B.
Figura 4.8: Tela de treinamento
A
B
Figura 4.9: Parte do arquivo de treinamento dos agentes de observação
O outro led presente na tela do módulo de treinamento é o de aprendizagem de ruído (Learning Noise) que é o treina o agente de execução para remover o ruído na medição
do tanque 1. De forma análoga aos agentes de observação é gerado um conjunto de treinamento, baseado em variáveis captadas dos sensores dos dispositivos (Figura 4.10 A). Para isso, é adicionado ao valor medido, através do cliente OPC, um ruído que varia dentro de um determinado intervalo. A rede neural implementada para o filtro é a mesma apresentada anteriormente, na Figura 2.8 [Costa 2006]. Portanto, ela precisa ser treinada com as entradas de duas medidas do nível do tanque 1, captadas pelos sensores (Sm1 e Sm2) e com duas saídas: sinal sem ruído (S) e o ruído adicionado (R).
A
B
Figura 4.10: Parte do arquivo de treinamento dos agentes de execução
No treinamento do agente de execução responsável pela auto-calibração (Training Decalibration), também é gerado um arquivo de treinamento (Figura 4.10 B) com base na rede neural mostrada na Figura 2.11 [Cagni et al. 2005]. Neste caso, no decorrer do tempo, o sensor que mede o nível do tanque 1 perde a precisão, indicando cada vez mais um nível inferior do que realmente se apresenta no tanque. Para coletar os dados de treinamento é forçada a perda de precisão. A aplicação simula gradativamente a perda total da medição em um intervalo de 10 minutos.
São coletados como valores de entrada, o valor do nível do tanque 1, que apresenta descalibração (Sd) e o tempo (Time). Como saída da rede, temos o sinal que deveria estar sendo apresentado caso não houvesse a descalibração (Sc). Esse último valor é oriundo de um sensor cablibrado chamado de sensor comum (sessão 2.5).
Após a fase de coleta de dados, os arquivos serão submetidos aos treinamentos da redes neurais. Nesta segunda fase é utilizada uma ferramenta desenvolvida no ambiente LABVIEW, chamada aNETKa [Zurek et al. 2009], mostrada na Figura 4.11. Apesar de funcionar de forma transparente para o usuário ou supervisor da rede, é possível obser- var se necessário, através da tela principal do aNETka, parâmetros do treinamento como taxa de aprendizado (learning rate), correlação (train correlation), erro médio quadrado (RMS), entre outros. Além de permitir visualizar graficamente o andamento do treina- mento.
De forma similar aos demais, o agente de diagnóstico também passa pela fase de treinamento (Record Train file DA - Figura 4.8). Como já dito anteriormente, os AD são
Figura 4.11: Tela de treinamento de redes neurais do aNETka
baseados no sistema de detecção e isolamento de falhas de Fernandes et al. (2007). Logo, são necessários treinamentos de três redes neurais
Em uma primeira etapa, são treinadas as redes neurais para estimar as medidas nor- mais (livres de problemas) dos níveis dos tanques (L1’ e L2’ da Figura 4.3). Para estimar o L1’, temos como entrada o nível do tanque 1 no estado anterior (L_Ant), a tensão apli- cada a bomba no estado anterior (V_Ant) e a tensão atual (V). Como saída da rede temos o nível do tanque no momento atual (Nível). Parte do arquivo de treinamento para L1’ está mostrado na Figura 4.12 A. Com isso, o agente de diagnóstico estima a medida do nível do tanque de acordo com o estado anterior.
A
B
Figura 4.12: Parte do arquivo de treinamento dos agentes de diagnóstico
entradas o nível do tanque 1 em um estado anterior (L1_Ant) e o nível do tanque 2 em um estado anterior (L2_Ant). A saída desta rede é o nível do tanque 2 no momento atual (L2). Parte deste arquivo de treinamento é mostrado na Figura 4.12 B.
Para concluir o treinamento do agente de diagnóstico é necessário treinar uma ter- ceira RNA que tem como objetivo estimar um diagnóstico de falha na planta a partir dos resíduos calculados sobre os níveis (estimados e real) dos tanques. Os resíduos do tan- ques (R1 e R2) são calculados a partir da diferença entre as medições reais e os valores estimados (L1’ e L2’). A estratégia adotada é forçar (simular) esses problemas (coluna central da tela de monitoramento), guardar os resíduos para cada problema e treinar uma rede neural que possa detectar, a partir destes resíduos, uma falha. Para isso é utilizada a Tabela 4.1.
Tabela 4.1: 8 possíveis falhas e seus respectivos resíduos
Falha Descrição R1 R2 Ausência de Falha 0 0 1 Entupimento Tanque 1 - - 2 Vazamento do Tanque 1 para fora - 0 3 Vazamento do Tanque 1 para Tanque 2
Não Observado Não Observado
4 Vazamento Tanque 2 0 -
5 Ruído no tanque 1 + 0
6 Ruído no tanque 2 0 +
7 Erro de Leitura do tanque
1
- +
8 Erro de Leitura do tanque
2
+ -
Uma amostra do arquivo de treinamento da rede neural do agente de diagnóstico é mostrada na Figura 4.13. Ao final do treinamento a rede neural pode estimar qual falha o sistema apresenta com base nos resíduos. É importante ressaltar que nem sempre os val- ores positivos ou negativos são respeitados no diagnóstico. Considera-se a aproximação de valores feita pela rede neural.
Ao fim do treinamento são gerados arquivos como os da Figura 4.14 que contém todas as informações necessárias para instanciar a rede neural nos dispositivos de campo, tais como quantidade de camadas, pesos sinápticos, bias, quantidade de amostra do conjunto de treinamento e variáveis de entrada e de saída. Todos os arquivos ficam armazenados no repositório de informação. Além desses arquivos, informações como configurações dos blocos funcionais instanciados nos dispositivos de campo, estão disponíveis para serem usados pelos agentes. Vale ressaltar que o repositório pode estar distribuído em outras máquinas do sistema, evitando que se criem gargalos de comunicação que atrapalhem o funcionamento da arquitetura.
Figura 4.13: Parte do arquivo de treinamento do agente de diagnóstico
Figura 4.14: Exemplo de arquivo de configuração da rede neural para o agente de obser- vação (tanque 2)
4.3
Agentes de Observação
Após a fase de treinamento, os agentes de observações são instanciados nos blocos funcionais dos dispositivos de campo. Esses agentes usam a arquitetura mostrada nas figuras 4.5 e 4.6, mas não utilizam todos os blocos desta configuração, conforme mostrado na Seção 4.1.2. Usando a metodologia de alocação dinâmica de blocos funcionais (Seção 2.1), as conexões entres os blocos, pesos sinápticos e bias são reajustados para formar uma rede-neural (2-5-1), permitindo que os agentes de observação infiram o valor de medida normal de cada tanque.
Caso a medida do sensor do nível do tanque ultrapasse o limite (threshold), para mais ou para menos do que foi estabelecido pelo operador, o agente de observação envia uma mensagem para o agente de diagnóstico, fazendo com que ele indique qual falha está acontecendo na planta.