• Nenhum resultado encontrado

BRNeural Artificial Neural Networks Simulator with Topology Multilayer Perceptron Using the Encog Framework

N/A
N/A
Protected

Academic year: 2021

Share "BRNeural Artificial Neural Networks Simulator with Topology Multilayer Perceptron Using the Encog Framework"

Copied!
5
0
0

Texto

(1)

1Abstract— The Artificial Neural Network (ANN) approach has had been applied in solutions for several problems such as classification, prediction and pattern recognition. Mostly, these problems belong to diversified areas of knowledge, not necessarily related to Computer Science, e.g. in agriculture, specifically in precision agriculture, recognition of diseases in plants, among others. Therefore, it is possible to visualize the multidisciplinary feature that ANNs have, motivating the development of tools for simulating more generic ANN, making its use possible by users whose knowledge of this type of methodology isn't deep. Inside this context, the just described work has had the goal of developing a tool that is part of the BRNeural research project, whose main goal was the development of a simulator named BRNeural (Brasil Neural) which is focused on the scientific and professional community since one of its proposals is to offer a generic environment to aid the creation, train and operate with ANNs. This tool consists in a module for training and testing ANNs with the Multilayer Perceptron (MLP) topology and it was developed using the ENCOG framework. For validating this module and all implemented training algorithms, the simulator was submitted to pattern recognition tests using agrometeorological data such as temperature, relative humidity, solar radiation, atmospheric pressure, wind direction, wind speed and temperature of leaf wetness, comparing the results obtained with another simulator which was developed using the MLP framework (Medeiros, 2003) with the specific purpose of classifying diseases in severity indexes. After validating, the simulator was submitted to other pattern recognition tests whose goal was the classification of diseases in the wheat like Blight, Spot blotch and Mildew in severity indexes through agrometeorological variables, showing its features such as output normalizations and the training algorithms Backpropagation, Resilient propagation and Quick propagation. The best results were obtained with the tests for the classification of diseases using severity indexes, 83.63% correct answers for Blight using the Quick propagation training algorithm and Equilateral normalization, 86.95% of correct answers for Mildew with Resilient Propagation algorithm and OneOf normalization and, for Spot blotch, 91.96% correct answers with Quick and Resilient Propagation algorithms, both using Equilateral normalization.

1 I. M. Mathias, Universidade Estadual de Ponta Grossa (UEPG), Ponta

Grossa, Paraná, Brasil, ivomathias@uepg.br

L. A. Z. Junior, Universidade Estadual de Ponta Grossa (UEPG), Ponta Grossa, Paraná, Brasil, luizzanlorensi@gmail.com

L. B. Matyak, Universidade Estadual de Ponta Grossa (UEPG), Ponta Grossa, Paraná, Brasil, luciano.inn@gmail.com

A. H. Dias, Universidade Estadual de Ponta Grossa (UEPG), Ponta Grossa, Paraná, Brasil, ariangelo@uepg.br

R. F. Duda, Universidade Estadual de Ponta Grossa (UEPG), Ponta Grossa, Paraná, Brasil, robsonferduda@gmail.com

G. M. S. Afonso, Universidade Estadual de Ponta Grossa (UEPG), Ponta Grossa, Paraná, Brasil, guilherminomarcos@live.com.pt

Keywords— Artificial Intelligence, Artificial Neural Networks,

agriculture, agrometeorological data. I. INTRODUÇÃO

ONSIDERANDO a complexidade da utilização de Redes Neurais Artificiais (RNAs), torna-se interessante o desenvolvimento de uma ferramenta genérica e simplificada que possa ser utilizada por usuários de diversas áreas de conhecimento.

Para o desenvolvimento do simulador BRNeural, objetivando nessa versão o reconhecimento de padrões, foi selecionado o framework intitulado Encog [1], por fornecer as funcionalidades de criação e treinamento de diversas topologias de RNAs e também de algoritmos de treinamento específicos para cada topologia, dentre outras características, como distintas formas de normalização de saída, processamento multithread, e varias topologias de rede. Em projeto anterior do BRNeural, cujo objetivo foi a aplicação de RNAs para a estimativa de infecção por manchas foliares na cultura do trigo [2] foi necessário o desenvolvimento de uma ferramenta para a simulação de RNAs. Essa ferramenta foi implementada utilizando o

framework MLP [3], o qual fornecia apenas a funcionalidade

de construção de redes Multilayer Perceptron (MLP) com o algoritmo de treinamento Backpropagation.

Dentro desse contexto, o objetivo desse trabalho foi a ampliação do projeto BRNeural [4], desenvolvendo um módulo para construção e treinamento de RNAs com topologia MLP contendo os algoritmos de treinamento

Backpropagation, Resilient propagation e Quick propagation,

dando ênfase em uma interface genérica e simplificada para o uso multidisciplinar.

II. REDESNEURAISARTIFICIAIS

Segundo Haykin [5], uma rede neural é um processador maciçamente paralelamente distribuído constituído de unidades de processamento simples, que têm a propensão natural para armazenar conhecimento experimental e torna-lo disponível para o uso. Ela se assemelha ao cérebro nos seguintes aspectos: o conhecimento é adquirido pela rede a partir de seu ambiente através de um processo de aprendizagem e as forças de conexão entre neurônios, conhecidas como pesos sinápticos, são utilizadas para armazenar o conhecimento adquirido.

O objetivo das RNAs é a simulação do funcionamento do cérebro humano, sendo composta por neurônios artificiais. As características mais importantes que atraem essa simulação

I. M. Mathias, L. A. Z. Junior, L. B. Matyak, A. H. Dias, R. F. Duda, G. M. S. Afonso

BRNeural – Artificial Neural Networks

Simulator with Topology Multilayer Perceptron

Using the Encog Framework

(2)

são sua robustez e tolerância a falhas, capacidade de aprendizagem, processamento de informação incerta e paralelismo [6].

As RNAs possuem diversas estruturas, considerando o número de camadas destacam-se as redes com camada única e com múltiplas camadas. A rede com camada única é a forma mais simples de uma rede em camadas, sendo que a camada de entrada se projeta diretamente para a camada de saída. As redes com múltiplas camadas possuem uma ou mais camadas ocultas, que ficam entre a camada de entrada e a de saída [5].

Os métodos de aprendizado das RNAs podem ser divididos em três classes, dependendo do nível de controle fornecido ao usuário. No aprendizado supervisionado, o usuário informa um comportamento de referência preciso para ensinar a rede. O aprendizado semissupervisionado ou aprendizado por reforço ocorre quando o usuário possui apenas indicações imprecisas como sucesso ou insucesso da rede. E o aprendizado não-supervisionado consiste em modificar os pesos da rede em função de critérios internos [7].

III. METODOLOGIA

O BRNeural foi desenvolvido sob a plataforma Java

Enterprise Edition 6 – Java EE [8] utilizando o framework

Encog para a construção do módulo em referência e os respectivos algoritmos de treinamento para a arquitetura MLP. A interface do simulador foi desenvolvida utilizando a tecnologia JavaServer Faces – JSF [9] em conjunto com o

framework PrimeFaces [10], o qual fornece uma suíte de

componentes gráficos para o JSF.

Foi utilizada a estrutura de rede de múltiplas camadas, especificamente a MLP, a qual consiste em uma RNA constituída por neurônios do modelo perceptron. Em relação ao aprendizado, foi o utilizado o método supervisionado, utilizando os algoritmos de treinamento Backpropagation,

Resilient propagation e Quick propagation.

Para a validação do módulo MLP e dos algoritmos de treinamento, as RNAs foram submetidas a testes utilizando os dados agrometeorológicos, descritos na Tabela I, por meio dos quais foi possível fazer uma comparação entre os frameworks Encog e MLP [3], bem como entre os resultados de cada algoritmo contido no Encog.

Foram utilizados dois métodos de normalização para a saída da RNA, o primeiro denominado OneOf onde é atribuído um neurônio para cada índice na camada de saída da rede e o segundo método denominado Equilateral, o qual realiza o cálculo de distância euclidiana entre os índices e atribui a quantidade necessária de neurônios na camada de saída.

A base de dados utilizada para o treinamento e validação das RNAs foi obtida junto à fundação ABC [11] e é composta por variáveis agrometeorológicas, descritas na Tabela I e variáveis de controle, seguidas dos índices de severidade das doenças ferrugem, mancha e oídio na cultura do trigo.

TABELA I. VARIÁVEIS AGROMETEOROLÓGICAS.

Sigla Descrição

TMED Temperatura média

UR Umidade relativa do ar RADI Índice de radiação solar PRESMED Pressão atmosférica média DIRVTEMD Direção média do vento

VTMED Velocidade média do vento TMOL Temperatura do molhamento foliar

O índice de severidade da doença foi mapeado entre valores de 1 a 4, onde o índice 1 indica que a planta está até 25% infectada, o índice 2 de 26% a 50%, o índice 3 de 51% a 75% e o índice 4 de maior grau onde a planta possui infecção superior a 76%.

Na Tabela II, pode ser visualizada uma amostra dos dados utilizados para treinamento e testes das RNAs. No total foram utilizados 1379 registros, os quais formam a base de dados.

TABELA II. AMOSTRA DE DADOS.

Tmed UR Rad Presmed Dirvtmed Vtmed Tmol Mancha

20,88 72,9 95,09 777,83 95,6 2,17 18,7 1 16,76 94,9 17,02 791,71 171 2,05 16,8 1 12,5 81,2 113 799,38 234,52 4,84 10,8 1 12,5 86,8 102 895,3 189,8 2 10,4 2 15 88,7 93,7 894,5 201,3 1,2 14,5 2 15 86,4 77,6 895,6 121,8 0,8 12,7 3 17 83,2 78,3 895,3 126,5 1,3 15,2 3 15,2 96 20,5 892,9 120,2 2,3 15,2 4 15,1 97,5 53,7 895,4 105,1 1,9 15,1 4 13,8 100 23,4 896,9 82,1 3,6 13,8 4 A. Validação do simulador

Para a validação do BRNeural, foram realizados testes e seus resultados foram comparados com os obtidos no simulador desenvolvido com o framework MLP [2] implementado utilizando o ambiente de desenvolvimento Delphi 2009 [12] com funcionalidade específica para a classificação de doenças em índices de severidade.

A arquitetura da RNA utilizada para o teste foi de 10 neurônios na camada de entrada, sendo um para cada variável, uma camada oculta com três vezes os neurônios de entrada mais os neurônios de saída, ou seja, 34 neurônios e 4 neurônios de saída, utilizando o método de normalização

OneOf.

Os dados de entrada foram normalizados entre os valores 0 e 1, e para as sinapses da rede foram gerados valores aleatórios entre -1 e 1, realizando o treinamento por 10000 iterações, utilizando o algoritmo de treinamento

(3)

Backpropagation. A Tabela III demonstra os resultados de

comparação obtidos.

TABELA III. RESULTADOS COMPARADOS DOS FRAMEWORKS.

Simulador Acertos (%) Quantidade Acertos

Registros Ferrugem Framework MLP 85,42 334 BRNeural 78,77 308 Total de registros: 391 Registros Oídio Framework MLP 86,78 512 BRNeural 82,03 484 Total de registros: 590 Registros Mancha Framework MLP 90,95 362 BRNeural 90,7 361 Total de registros: 398

Como pode ser observado, o simulador proposto obteve resultados superiores a 75% enquanto que o simulador desenvolvido com o framework MLP [2] obteve resultados superiores a 85%.

Durante a execução dos testes notou-se que aumentando o número de iterações de treinamento, a margem de acerto com o BRNeural aumenta e o mesmo não ocorre com o framework MLP [2].

IV. RESULTADOS E DISCUSSÃO

Depois de realizada a validação da ferramenta, a mesma foi submetida a outro teste com o intuito de realizar um comparativo de resultados obtidos entre os algoritmos de treinamento Backpropagation, Resilient propagation e Quick

propagation e os métodos de normalização OneOf e Equilateral.

Para o método de normalização OneOf, a arquitetura da RNA possui uma camada oculta contendo 34 neurônios e 4 neurônios de saída. Para o método Equilateral, a arquitetura consiste em uma camada oculta com 33 neurônios e 3 neurônios de saída. Em ambos os métodos a RNA possuía 10 neurônios de entrada e foram realizadas 10000 iterações de treinamento. Os resultados obtidos podem ser visualizados na Tabela III.

TABELA IV. RESULTADOS COMPARADOS DOS ALGORITMOS DE TREINAMENTO.

Algoritmos Normalização Acertos (%) Quantidade Acertos

Registros Ferrugem

Backpropagation OneOf 78,77 308 Equilateral 76,47 299 Resilient Propagation OneOf 82,61 323 Equilateral 82,86 324 Quick Propagation OneOf 81,33 318 Equilateral 83,63 327

Total de Registros: 391

Registros Oídio

Backpropagation OneOf 82,03 484 Equilateral 81,53 481 Resilient Propagation OneOf 86,95 513 Equilateral 85,08 502 Quick Propagation OneOf 85,42 504 Equilateral 82,37 486

Total de Registros: 590

Registros Mancha

Backpropagation OneOf 90,7 361 Equilateral 90,2 359 Resilient Propagation OneOf 90,2 359 Equilateral 91,96 366 Quick Propagation OneOf 91,21 363 Equilateral 91,96 366

Total de Registros: 398

Após verificar que os algoritmos de treinamento utilizados demonstraram desempenho satisfatório em relação ao problema em que foram submetidos, foi desenvolvida a

interface do simulador, buscando a facilidade de uso,

principalmente por usuários que não estejam familiarizados com esse tipo de ferramenta. Na Fig. 1 pode ser visualizada a

interface principal do BRNeural, a qual possui todas as

informações necessárias para o treinamento e teste da RNA em uma única tela.

(4)

Além dessa interface, também foi desenvolvida uma funcionalidade em formato de wizard para auxiliar o usuário, fornecendo informações passo a passo em relação à configuração, treinamento e teste da RNA. O passo a passo do processo de criação e configuração da RNA utilizando o

wizard é detalhado abaixo.

O primeiro passo é inserir o nome do projeto, necessário para o gerenciamento dos arquivos criados para treinamento e testes da RNA.

Figura 2. Interface wizard – Passo 1.

Em seguida, o arquivo que será utilizado para o treinamento e teste da rede, sendo esse em formato csv (dados separados por vírgula).

Figura 3. Interface wizard – Passo 2.

Depois, a porcentagem utilizada para o teste da rede. O arquivo inserido anteriormente será separado em dois novos arquivos, um para treinamento e outro para teste conforme o valor de porcentagem informado. A separação dos dados do arquivo original ocorre de forma aleatória, considerando o percentual informado para cada índice de severidade, ou seja, se o valor de porcentagem inserida for 10%, o arquivo de treinamento será constituído de 90% de registros de cada índice, enquanto que o arquivo de teste, 10% de registros de cada índice.

Figura 4. Interface wizard – Passo 3.

Seguindo, os algoritmos de treinamento que serão utilizados. Se escolhido mais de um, é realizado o treinamento e teste para cada algoritmo informado.

Figura 5. Interface wizard – Passo 4.

No passo 4, é informada a faixa de normalização de entrada dos dados. Para a entrada dos dados na primeira camada da RNA é necessário normalizar os mesmos. A normalização pode ser realizada nas faixas de -1 a 1 ou 0 a1.

Figura 6. Interface wizard – Passo 5.

Após, a forma de normalização de saída, podendo ser

Equilateral ou OneOf, citadas anteriormente.

Figura 7. Interface wizard – Passo 6.

Por fim, a estrutura da RNA. Os neurônios de entrada e saída são definidos automaticamente conforme o número de variáveis de entrada e saída. Podem ser configurados, a quantidade de épocas de treinamento, ou seja, quantas vezes será realizado o ciclo de treinamento e a quantidade de camadas ocultas, bem como o número de neurônios ocultos em cada camada.

(5)

Figura 7. Interface wizard – Passo 6.

V. CONCLUSÃO

Em relação a utilização do framework ENCOG para o desenvolvimento do BRNeural, como demonstrado, o mesmo foi validado em comparação ao framework MLP [2], tornando válida sua proposta de uso.

Por fim, demonstra-se interessante o desenvolvimento de uma interface genérica e autoexplicativa para configuração, treinamento e teste de RNAs, uma vez que seu uso pode ser destinado a diversas áreas e usuários não familiarizados com essa metodologia.

REFERENCES

[1] J. Heaton. Programming Neural Networks with Encog3 in Java. Missouri: Heaton Research, Inc., 2011.

[2] R. A. Rogenski, L. A. J. Zanlorensi, I. M. Mathias, Aplicação de redes neurais artificiais para a estimative de infeção por manchas foliares na cultura do trigo. Revista de Engenharia e Tecnologia , v. 4, nº 2, Agosto 2012, Pag. 58-64.

[3] L. F. Medeiros. Redes neurais em delphi. Florianópolis: Visual books, 2003.

[4] BRNeural, Projeto de pesquisa (Resolução CEPE nº 065, de 27 de setembro de 2011).

[5] S. Haykin. Redes neurais princípios e prática. Porto Alegre: Bookman, 2001.

[6] F. M. Azevedo, L. M. Brasil, L. C. R. Oliveira. Redes neurais com aplicações em controle e sistemas especialistas. Florianópolis: Visual books, 2000.

[7] F. S. Osório, J. R. Bittencourt. “Sistemas inteligentes baseados em Redes Neurais Artificiais aplicados ao processamento de imagens”. I workshop de inteligência artificial, Santa Cruz do Sul, 2000.

[8] JavaEE. Disponível em: <http://www.oracle.com/technetwork/java/ javaee/overview/index.html>. Acesso em 29/04/2014.

[9] JavaServer Faces. Disponível em: <http://www.oracle.com/technetwork /java/javaee/javaserverfaces-139869.html>. Acesso em 29/04/2014. [10] PrimeFaces. Disponível em: <http://primefaces.org/>. Acesso em

29/04/2014.

[11] Fundação ABC. Instituição de Pesquisa e Desenvolvimento agropecuário sem fins lucrativos. Disponível em:

< http://www.fundacaoabc.org.br>. Acesso em 29/04/2014

[12] Embarcadero. Disponível em: <http://www.embarcadero.com/br>. Acesso em 29/04/2014.

Ivo Mário Mathias, possui graduação em Administração de

Empresas pela Universidade Estadual de Ponta Grossa (1983), graduação em Ciências Contábeis pela Universidade Estadual de Ponta Grossa (1985), mestrado em Informática pela Universidade Federal do Paraná (2000) e doutorado em Agronomia (Energia na Agricultura) pela Universidade Estadual Paulista Júlio de Mesquita Filho (2006). Atualmente é professor adjunto do Departamento de Informática da Universidade Estadual de Ponta Grossa. Tem experiência na área de Sistemas de Informação, com ênfase em Inteligência Computacional, atuando principalmente nos seguintes temas: ensino, inteligência artificial, redes neurais artificiais, agroinformática, computação aplicada à agronomia e agricultura. Na área acadêmica também

faz parte do quadro de professores permanentes do Mestrado em Informática Aplicada da Universidade Estadual de Ponta Grossa.

Luiz Antônio Zanlorensi Junior,possui graduação em

Bacharelado em Informática pela Universidade Estadual de Ponta Grossa (2013). Tem experiência na área de inteligência artificial, especificamente redes neurais artificiais. Atualmente é aluno regular do Mestrado em Computação Aplicada, da Universidade Estadual de Ponta Grossa, desenvolvendo pesquisas na área de Inteligência Artificial, Modelagem Computacional e Gestão e Automação de Dados.

Luciano Bueno Matyak, possui graduação em Bacharelado

em Informática pela Universidade Estadual de Ponta Grossa (2013), é pós-graduando MBA em Engenharia de Softwares e lato sensu em Gerência de Projetos de Tecnologia da Informação. Atualmente é Analista de Sistemas na CINQ Technologies. Tem experiência na área de Sistemas de Informação, atuando principalmente nas seguintes frentes: arquitetura, análise, desenvolvimento, tunning, alta disponibilidade, sistemas distribuídos e integrações.

Ariangelo Hauer Dias Graduação em Engenharia Civil pela

Universidade Estadual de Ponta Grossa (1986), graduação em Bacharelado Em Informática pela Universidade Estadual de Ponta Grossa (1989), mestrado em Economia pela Universidade Federal de Santa Catarina (2001) e doutorado em Agronomia (Energia na Agricultura) pela Universidade Estadual Paulista - Júlio de Mesquita Filho (2007). Atualmente é professor assistente da Universidade Estadual de Ponta Grossa. Tem experiência na área de Ciência da Computação, com ênfase em Software Básico, atuando principalmente nos seguintes temas: inovação tecnológica, automação, observatório astronômico, sistema scada e lógica fuzzy. Atualmente responde pela Pró-reitoria de Assuntos Administrativos da Universidade Estadual de Ponta Grossa e ministra aulas para o curso de Engenharia de Computação. Na área acadêmica também faz parte do quadro de professores permanentes do Mestrado em Informática Aplicada da Universidade Estadual de Ponta Grossa.

Robson Fernando Duda, possui graduação em Bacharelado

em Informática pela Universidade Estadual de Ponta Grossa (2011) e mestrado em Computação Aplicada pela Universidade Estadual de Ponta Grossa (2014). Tem experiência na área de Sistemas de Informação, Engenharia de Software e Desenvolvimento de Sistemas Web.

Guilhermino Marcos Silva Afonso, graduação em

andamento em Engenharia de Computação pela Universidade Estadual de Ponta Grossa. Atualmente é aluno de Iniciação Cientifica, realizando o Desenvolvimento de uma plataforma desktop para o sistema BRNeural. Tem experiência na área de Sistemas de Informação, com ênfase em Programação de Computadores e Inteligência Artificial.

Referências

Documentos relacionados

Para facilitar o estudo dividimos a análise em dois períodos: 1940 a 1949 e 1950 a 1960, sendo que em cada período foram analisadas quatro obras que trazem, os elementos

Em nossa análise, são destacadas as concepções de Tall e colaboradores (2001), Vinner (1991) e Domingos (2003) diante os conceitos imagem e definição Para tanto,

Nos capítulos anteriores, foram descritos os diversos componentes necessários para a realização da análise de Insumo-produto (vetores do choque, setores, produtos adicionais,

A seleção portuguesa feminina de andebol de sub-20 perdeu hoje 21-20 com a Hungria, na terceira jornada do Grupo C do Mundial da categoria, a decorrer em Koprivnica, na

SÉRIE 85 Relé temporizador plug-in 7 - 10 A Eletromédica, odontologia Forno de secagem Elevadores Painéis para distribuição de energia Painéis de controle Temporizadores,

The estimate for the constant, plus n times the Time coefficient, represents the estimated real value of revenues from tuition fees in the n th year for a polytechnic

Apresentar as PANC, para uma turma de sétimo ano de uma Escola Municipal de Ensino Fundamental, como alternativa para se trabalhar a Educação Ambiental.. socioambiental

Nv}n zxofnvo vn fixif}nxepi# nk zxekfezeo# zox v~ fncnxemim# y~n ohcebi i v~ fncnxemim# y~n ohcebi i xnm~fex ci fobkefeök xnm~fex ci fobkefeök vek zov}nxbix ci heci}nxicemim fok