2 GENEL BĠLGĠLER
2.3 Adölesanlarda Beslenme
2.4.4 Çocukta obezitenin değerlendirilmesi
Os resultados obtidos em trabalhos anteriores têm mostrado que o uso dispositivos inteligentes, aliado às técnicas de redes neurais, permite a incorporação de inteligência na aplicação de controle da planta.
Uma dificuldade que surge na análise das aplicações inteligentes desenvolvidas é a ausência de uma plataforma dedicada que permita a integração de diferentes sensores num ambiente de rede industrial, bem como a implementação de novas funções baseadas no processamento inteligente da informação.
Uma das ferramentas mais utilizadas no projeto e implementação dos sensores de software são as redes neurais artificiais. A ausência de uma solução padrão que imple- mente redes neurais no ambiente de redes FF dificulta o desenvolvimento de um pro- jeto de medição indireta para o campo, além de outros possíveis projetos que envolvam
redes neurais. A menos que se opte por uma solução proprietária, o que não garante manter a interoperabilidade entre os dispositivos da rede, principalmente se esses forem de fabricantes diferentes. Contudo, diversos trabalhos apresentam implementações que aproveitam a capacidade de processamento dos blocos funcionais do Foundation Field- Bus.
No trabalho de Silva et al. (2006) é apresentado um estudo da viabilidade técnica da utilização de redes neurais artificiais em dispositivos de campo que seguem o padrão Foundation Fieldbusmostrando a possibilidade de tal implementação, baseada completa- mente em blocos funcionais padrões. A solução apresentada garante a interoperabilidade sendo possível sua implementação em qualquer equipamento, de qualquer fabricante que contenham os blocos funcionais padrão, bastando para isso que ele seja homologado pela Foundation FieldBus.
Dentre os blocos funcionais padronizados, os blocos aritmético e caracterizador são diretamente utilizados no projeto de um neurônio artificial. Através da configuração e in- terligação desses dois blocos funcionais, podemos obter um modelo de neurônio próximo ao mostrado na Seção 2.2.1. As diferenças ficam por conta da função de ativação. No bloco aritmético da Figura 2.6, o sub-bloco algorithm logic é utilizado para calcular o campo local induzido (saídas) do neurônio a partir de suas entradas. Esse valor é calcu- lado aplicando-se um peso para cada entrada do neurônio (o bloco funcional provê esses pesos como parâmetros), e depois somando-os com um valor adicional, chamado de bias, também disponível no bloco funcional como parâmetro. Para isso, foi escolhido, entre as várias funções do sub bloco algorithm type, o algoritmo somador tradicional.
*
Figura 2.6: Esquema interno do bloco artimético padrão FF
Depois de calculado o campo local induzido, para que seja possível implementar um neurônio artificial (com até três entradas), falta apenas a função de ativação, que será im- plementada usando o bloco funcional padrão chamado de "Caracterizador de Sinais"ou
simplesmente caracterizador. O bloco caracterizador é mostrado na Figura 2.7 e tem a função de fazer um mapeamento entre uma entrada e sua respectiva saída. Esta função, é definida a partir de uma Tabela com no máximo 21 pontos (x-y), onde os pontos inter- mediários são obtidos a partir de uma interpolação linear executada pelo bloco funcional.
IN_1 OUT_1
IN_2 OUT_2
Caracterizador IN
OUT
Figura 2.7: Esquema interno do bloco caracterizador de sinais padrão FF
Ligando-se a saída de um bloco aritmético, configurado como descrito anteriormente, à entrada de um bloco caracterizador implementando uma função de ativação, tem-se um neurônio artificial. Dessa forma podemos formar uma rede neural artificial interligando a saída desse neurônio, às entradas de outros neurônios e organizá-los de maneira desejada. Ao utilizar somente blocos funcionais padronizados para a implementação de redes neurais, podemos ter uma maior flexibilidade na arquitetura da rede, visto que pode- se conectar quantos blocos forem necessários, formando qualquer arquitetura desejada. Além disso, têm-se a possibilidade de processamento paralelo e distribuído uma vez que pode-se distribuir neurônios entre os dispositivos da rede. E aqueles que podem ser paralelizados, são agendados para o mesmo tempo no macro-ciclo5, tendo assim uma
diminuição do esforço computacional de um dispositivo ao distribuir neurônios entre eles. Quando comparado ao uso de um micro-computador executando o algoritmo de rede neural, a implementação em blocos funcionais padrão [Silva et al. 2006] apresenta a pos- sibilidade de execução de algoritmos inteligentes em ambientes hostis (altas temperaturas, descargas elétricas, etc.), visto que a solução estaria encapsulada em um sistema com car- acterísticas de segurança intrínseca e maior robustez a falhas. Ao usar micro-computador, o sinal coletado e o sinal injetado na rede devem ser agendados no macro-ciclo, o que aumentaria o tamanho do mesmo.
No trabalho de Costa (2006) é proposto o desenvolvimento de um sistema de fil- tragem composto por um algoritmo inteligente, capaz de separar informação e ruídos provenientes de sensores de campo interligados por uma rede Foundation Fieldbus (FF). A implementação do algoritmo é feita em blocos funcionais padrão da própria rede FF, com treinamento on-line via OPC.
Essa abordagem usa algoritmos baseados em Análise de Componentes Independentes (Independent Component Analysis - ICA)[Amari et al. 1997], mais especificamente o FastICA[Hyvarinen 1999]. Dentre os blocos funcionais padronizados, foram utilizados
5Um macro-ciclo é uma única iteração da agenda dentro de um dispositivo. É o tempo de um ciclo de
os blocos AI (Analog Input) e ARITH (aritmético). Da mesma forma como utilizados por Silva et al. (2006) para representar um RNA.
A Figura 2.8 apresenta um diagrama de blocos do processo de implementação do algo- ritmo FastICA em blocos funcionais. Inicialmente foi realizada uma coleta de dados para que fosse formado o conjunto de treinamento do algoritmo. Esse conjunto foi composto por medidas ruidosas, referentes aos sinais dos dois sensores, enviadas ao supervisório via OPC. Após o treinamento do algoritmo, os pesos sinápticos resultantes foram instanciados nos blocos funcionais dos sensores de campo, mantendo o padrão de interoperabilidade do sistema e visando uma forma robusta de filtragem de ruído independente de sistemas supervisórios.
Sensor 1 Ambiente FF
Via OPC Via OPC Via OPC
Rede Neural (FastICA)
Entrada Analógica Adição de Ruído
Valores Reais
Ruído SAÍDAS DA REDE NEURAL Sensor 2
Supervisório Supervisório Supervisório
Figura 2.8: Diagrama de blocos da implementação do algoritmo de filtragem para medidas de sensores [Costa 2006]
Outro trabalho relacionado a software sensors é mostrado em Fernandes et al. (2007), onde foi desenvolvido um sistema de detecção e isolamento de falhas utilizando redes neurais artificiais, aplicado a um sistema que controla os níveis de dois tanques (sistema de níveis). O esquema geral do funcionamento do sistema está exibido na Figura 2.9. Nesse caso, ao mesmo tempo em que o sistema de níveis está em execução, um sistema elaborado a partir de Redes Neurais Artificiais (RNA) procura fazer a sua identificação utilizando suas mesmas entradas (x(k)). A cada instante, a saída do sistema de níveis (y(k)) é comparada à saída do sistema de identificação (y′(k)), gerando um valor de resíduo (r(k) = y(k) − y′(k)) que será posteriormente utilizado no sistema de detecção
e isolamento/classificação de falhas. Este último analisa os valores residuais e indica a ocorrência ou não de falhas e caso ocorra, qual o seu tipo.
Os dados reais extraídos da planta (composta por dois tanques) para treinamento das redes neurais foram captados da rede com o auxílio de softwares utilizando o padrão OPC. O sistema foi definido como identificação em dois-passos, o que significa a existência de uma RNA pra avaliar o nível do tanque 1 e outra para avaliar o nível do tanque 2. A arquitetura da RNA 1, usada para avaliar o nível do tanque 1 é composta por:
• Três nós na camada de entrada, onde as entradas são: Vp(k), Vp(k −1) and L1(k −1);
Sistema de Níveis Sistema para Identificação Detecção e Isolamento de Falhas x(k) y(k) S/F F1 F2 Fn y’(k) r(k) + -
Figura 2.9: Esquema Geral do Sistema de Detecção e Isolamento de falhas [Fernandes 2007]
• Um neurônio na camada de saída (função de ativação linear), representando o nível do tanque 1 estimado no instante atual k, L′
1(k).
A arquitetura da RNA 2, usada para estimar o nível do tanque 2, foi:
• Dois nós na camada de entrada, onde as entradas são: L1(k − 1) and L2(k − 1);
• Uma camada oculta com três neurônios com função de ativação sigmóide;
• Um neurônio na camada de saída (função de ativação linear), representando o nível do tanque 2 estimado no instante atual k, L′
2(k).
Onde L é o nível do tanque e V é a tensão aplica a bomba. Com esta estratégia de identificação, é possível obter dois resíduos, R1e R2, onde R1= L1− L′1e R2 = L2− L′2.
Observando a disposição dos resíduos, foi elaborada uma estratégia para a classificação das falhas ilustrada na Figura 2.10. Neste caso, uma RNA, denominada RNA 3, é treinada recebendo como dados de entrada os valores de R1 e R2. A saída da rede corresponde a um vetor de N + 1 números, onde N é a quantidade de falhas que a rede será capaz de classificar. Tanque 1 Tanque 2 RNA 2 RNA 3 Classificação de Falhas RNA 1 R1 F1 F2 Fn S/F R2 ... + + - -
Figura 2.10: Esquema Geral para Classificação das Falhas [Fernandes 2007] Considerando os dois resíduos para detectar e isolar falhas, o SDI pode detectar no máximo 8 diferentes falhas, sendo que R1 = 0 and R2 = 0 indique o comportamento
normal do sistema. As demais falhas identificáveis são vistas na Tabela 4.1 onde o sinal de ’+’ representa o resíduo positivo, ’-’ resíduo negativo e 0 representa um valor muito próximo a zero.
Tabela 2.2: Situações de falhas com base nos resíduos
Falha Descrição R1 R2
Ausência de Falha 0 0
1 Vazamento no tanque 1
para fora do sistema
- 0
2 Entupimento do tanque 1 + -
3 Entupimento do tanque 2 - +
4 Vazamento no tanque 2
para fora do sistema
0 -
5 Erro de leitura de sensor
tanque 1 (Ruído)
+ 0
5 Erro de leitura de sensor
tanque 2(Ruído)
0 +
A RNA 3 também foi treinada com o algoritmo de Backpropagation, para a qual o número de neurônios foi escolhido heuristicamente e estão totalmente conectados. Com base na situação descrita, a arquitetura da RNA 3 ficou da seguinte maneira:
• Dois nós na camada de entrada, onde as entradas são: R1e R2;
• Uma camada oculta com 6 neurônios com função de ativação sigmóide;
• Sete neurônios na camada de saída (função de ativação linear), representando uma das situações ilustradas na Tabela 4.1 no instante atual k.
Como o classificador neural trabalha em cima de valores positivos, negativos e próx- imos a zero para os resíduos, ele poderia ter sido traduzido em um conjunto de regras com sentenças condicionais. Por exemplo, se R1for positivo e R2negativo, bastaria fazer
um teste condicional e indicar que a falha 2 está ocorrendo. Por outro lado, se um outro sistema dinâmico pudesse ser modelado por N resíduos, onde N é um valor muito grande, ficaria um pouco difícil codificar diversas sentenças condicionais para informar a falha. Além disso, o classificador neural pode detectar falhas com resíduos semelhantes (duas falhas diferentes com mesmos R1e R2, por ex., R1= + e R2 = 0), porém com amplitudes
em faixas de valores distintas, sem a necessidade de um novo teste condicional verifi- cando o limiar da falha. A principal vantagem de se utilizar a RNA como classificador é o fato dela ser uma ótima generalizadora de funções.
Por exemplo, dificilmente os resíduos assumirão valores iguais a zero, então quando alguma situação for considerada com valor de R1 ou R2 igual a zero, significará que ele
estará dentro de uma faixa de valores (positivos e negativos) muito próximos a zeros. Assim, com o classificador baseado em regras, seria necessária a definição de um limiar que identificasse resíduos nulos ou próximos de zero.
No trabalho de Cagni et al. (2005) é mostrada outra abordagem de software sensors, usada neste caso para auto-correção, auto-verificação e auto-validação de medidas em
sensores. Esses instrumentos de medição utilizam elementos transdutores capazes de transformar uma grandeza física em um sinal elétrico, analógico ou digital, cujo sinal de saída depende do valor da grandeza medida. A partir desse sinal elétrico é possível visualizar o valor da grandeza por meio de uma escala gráfica ou de um mostrador digital. A função matemática que define a proporcionalidade entre a grandeza física e o sinal fornecido pelo sensor é chamada de curva de calibração.
É comum, durante o ciclo de vida de um processo industrial, que os sensores atuantes na planta se desgastem e se descalibrem com o tempo, isto é, que a curva de calibração se deforme, fazendo com que o sinal referente ao valor da medição não corresponda ao valor real da grandeza física. Essa descalibração deve ser evitada pois pode mascarar os verdadeiros resultados obtidos com o processo, ocasionando erros em seu controle. A proposta dos autores é utilizar Redes Neurais Artificiais, aproveitar a sua capacidade de aprendizado e aproximação de funções, de forma que elas possam aprender a variação da curva de calibração do sensor com o tempo. Conhecendo o padrão de variação de tal curva, é possível corrigir erros oriundos da descalibração e indicar quando o sensor está descalibrado.
O algoritmo da Auto-Correção tem como objetivo corrigir o erro provocado pelas al- terações na forma da curva de calibração do sensor. Essa correção possibilita o aumento do tempo em que sensor pode ficar em campo sem a necessidade de uma nova calibração em laboratório. Seu funcionamento parte do princípio de que existe um sensor descali- brado em funcionamento, denominado sensor comum, cujas medidas serão interceptadas por uma rede neural que tem conhecimento do tempo de funcionamento do sensor. A rede neural deve conhecer o quanto o sensor está descalibrado levando em consideração o seu tempo de funcionamento, de forma que corrija o erro de medição.
Para que a correção seja possível, é necessário que a rede neural passe por uma fase de treinamento. Nesta fase, um conjunto de dados contendo a medição de um sensor descali- brado para diversos valores de entrada e o seu tempo de funcionamento são apresentados a uma Rede Neural Perceptron de Múltiplas Camadas. Estes dados serão comparados com os dados provenientes de um sensor devidamente calibrado, denominado sensor padrão, gerando um sinal de erro que será utilizado pelo algoritmo da backpropagation para ajus- tar os pesos da rede neural.
A rede neural deverá, dessa maneira, conhecer o padrão de descalibração do sensor para diversos tempos de funcionamento, de forma que um sensor descalibrado em con- junto com a rede neural se comporte da mesma maneira que um sensor calibrado. O diagrama de blocos que representa o treinamento da rede neural para a Auto-Correção pode ser visto na Figura 2.11.