• Nenhum resultado encontrado

Inicialmente a aplicação proposta para este novo sistema de ensaio é na pesquisa. Assim, a programação das redes neurais foi feita no ambiente Matlab, pois este possui uma biblioteca de RNA que facilita esta tarefa. Na opção de desenvolver uma solução final aplicada na indústria, uma linguagem como C ou Java pode ser utilizada.

Os dois processos distintos, treinamento e execução das redes, também possuem estruturas diferentes na programação. Na execução, o programa principal de ensaios é feito em Labview e o módulo neural em Matlab, porém como o Labview possui uma interface de comunicação entre os dois softwares, é possível a execução conjunta (Figura 5.14).

Figura 5.14 – Programa de execução das redes.

Por se tratar de um processo estritamente off-line, o treinamento das redes, feito

somente no Matlab, é realizado a partir dos dados dos ensaios gravados automaticamente em planilhas do Excel. Assim é necessário um trecho do programa

para fazer o resgate automático destes dados através do ActiveX e montar as matrizes

para entrada e saída da rede. A estrutura do programa para treinamento está descrita na figura 5.15.

Figura 5.15 – Programa de treinamento das redes.

Dentro do programa em Matlab existem três blocos, a manipulação dos dados de entrada (dados do transitório) e saída (resultados de regime permanente) dos ensaios, a definição das características e treinamento das RNA e os gráficos para avaliação da rede treinada. Como saída, este programa salva a rede em um arquivo específico do Matlab (“rede treinada”), com os pesos das conexões dos neurônios, as funções de transferência, os atrasos e demais parâmetros que permitem a reprodução e execução dessa a qualquer instante.

Ao realizar o resgate dos dados dos ensaios, podem ser escolhidos o início e fim das leituras (primeiro e último instante de tempo a serem selecionados) e quais as variáveis do ensaio que servirão como entradas da rede.

Durante a programação, alguns artifícios são utilizados para manipular os dados de forma adequada para entrada e treinamento das redes. Para treinar a rede MLP dinâmica os dados têm que estar dispostos na forma mostrada na figura 5.16 e na figura 5.17. O recurso do Matlab aqui utilizado é o cell array, que permite armazenar

diversas matrizes indexando as com índices, como se as matrizes fossem elementos de uma matriz superior. São necessários dois cell arrays, um com os dados de entrada

e outro com os dados de saída. Para executar a rede os dados devem estar na mesma disposição, porém não é necessário matriz de saída, uma vez que esta será dada pela rede [55].

Figura 5.16 – Estrutura dos dados de entrada.

No cell array de entradas, cada célula (cell) representa um instante de tempo no

qual é feito a aquisição dos dados (cinco em cinco segundos). Dentro de cada célula as linhas são as variáveis de entrada de cada ensaio (fluxo de massa, temperatura de descarga etc.) e as colunas os diferentes ensaios realizados e armazenados na base de dados. A união das colunas de cada célula constitui a seqüência de um ensaio completo [55].

Figura 5.17 – Estrutura dos dados de saída.

Da mesma forma que no cell array de entrada, no cell array de saída cada

célula representa um instante de tempo no qual é feito a aquisição de dados, porém em cada linha de uma célula posicionam-se as classes de saída (por exemplo, as classes de capacidade de refrigeração). Em cada coluna das células estão as classes de um ensaio para um determinado tempo, quando as colunas são unidas constituem uma seqüência de um ensaio [55].

O segundo bloco constitui a definição dos parâmetros da rede e do treinamento. A RNA selecionada para a aplicação é uma MLP dinâmica. No Matlab foi escolhida a

rede newfftd, uma rede MLP direta com atrasos nas entradas e treinamento da

retropropagação. Para esta arquitetura o que precisa ser definido basicamente é [55]:

• máximos e mínimos de cada entrada para todos os ensaios de treinamento, para que seja feita a normalização das mesmas;

• vetor de atrasos. Por exemplo: ID= [1, 2, 3, 8] - este comando indica que serão utilizadas a primeira, segunda, terceira e oitava amostras anteriores;

• número de camadas escondidas;

• número de neurônios em cada camada;

• número de saídas;

• funções de transferência de cada camada de neurônios (a camada de entrada utiliza sempre a função linear).

Para o treinamento da rede mais alguns parâmetros devem ser estabelecidos:

• função de treinamento para o algoritmo da retropropagação;

• número de ciclos de treinamento (épocas);

• limite máximo de erro aceitável;

• função de desempenho (cálculo dos erros).

Para a avaliação da rede treinada e decisão relativa ao arquivamento dessa, outro bloco de programação traça os gráficos das saídas da rede correspondentes à execução com os ensaios utilizados no treinamento e alguns ensaios utilizados somente para avaliação.

No capítulo 6 são explorados a avaliação das redes e os testes realizados para chegar aos parâmetros finais.

6 RESULTADOS OBTIDOS

Por se tratar de uma pesquisa sem referências específicas na literatura e por não haverem regras bem aceitas pela comunidade científica para o estabelecimento dos parâmetros de uma RNA, foram realizados uma série de testes com o objetivo de determinar as características do sistema neural de ensaio que apresentassem os melhores resultados.

Para julgar quais seriam os melhores resultados, novos ensaios de desempenho de compressores foram efetuados e posteriormente executados com as redes. Esses ensaios de avaliação também são descritos, bem como os resultados finais obtidos.

6.1 TESTES REALIZADOS COM AS REDES E DEFINIÇÕES DOS