alguns destes com acesso livre para download e instalação, outros necessitam da compra de licença para o uso. Com base em pesquisa de algumas ferramentas disponíveis e levando em conta alguns critérios pré-estabelecidos, a Tabela 1 apresenta algumas destas ferramentas para modelagem de RNA juntamente com os critérios avaliados (SUPTITZ; FROZZA; MOLZ, 2015).
Tabela 1 – Relação de algumas ferramentas para modelagem de RNA Nome da ferramenta Gratuita Modelos e algoritmos disponíveis Permite modelagem gráfica Linguagens em que fornecem API1 Propósito Accord.NET Sim Deep Belief Network; Restricted Boltzmann Machine Não C# API para desenvolvimento de visão computacional ADReNA Sim MLP e Self- Organizing Map (SOM) Sim C#; Java Modelagem de RNA para fim didático AForge.NET Sim MLP; SOM; Elastic network Não C# API para desenvolvimento de visão computacional
EasyNN-plus Não MLP Sim - Modelagem de
RNA para predições
Encog Sim
ADALINE; MLP; SOM; Hopfield
Sim Java; .NET; C++
API para
desenvolvimento de sistemas de IA
FANN Sim MLP Não
Java; C#; PHP; C++; Python; Ruby; Delphi; (e mais 18) API para desenvolvimento de RNA rápidas em várias linguagens
IDRISI Não MLP; SOM Sim - Geoprocessamento
NEST Sim
Não
implementa modelo específico
Não Python Simular o cérebro humano
NeuronDotNet Sim MLP; SOM Não C#
API para desenvolvimento de RNA Neuroph Sim ADALINE; MLP; SOM; Hopfield; Não Java API para desenvolvimento de RNA
WEKA Sim MLP; SOM Não Java Mineração de dados
Fonte: Adaptado de Suptitz, Frozza e Molz (2015)
1 Application Programming Interfaces (APIs), ou bibliotecas de códigos-fonte para apoiar o desenvolvimento
2.4.1 Software MATLAB®
O MATLAB® (do inglês, Matrix Laboratory) é um software de computação numérica de análise e visualização de dados. Apesar do significado de seu nome ser laboratório de matrizes, atualmente suas aplicações são bem mais amplas. Foi desenvolvido com o propósito de realizar operações matemáticas através de matrizes, mas ao passar dos anos tornou-se um sistema computacional muito útil e flexível (BECKER et al., 2010).
Conforme MathWorks (2005) o MATLAB® é uma linguagem de alto desempenho para computação técnica. Ele tem a capacidade de integrar computação, visualização e programação, onde problemas e soluções são expressos em notação matemática familiar. Os usos típicos incluem:
Matemática e computação; Desenvolvimento de algoritmos; Aquisição de dados;
Modelagem, simulação e prototipagem; Análise, exploração e visualização de dados; Gráficos científicos e de engenharia;
Desenvolvimento de aplicativos, incluindo criação de interface gráfica com o usuário.
O MATLAB® apresenta um amplo conjunto de soluções específicas para aplicativos complementares, denominadas de caixas de ferramentas (toolboxes). As caixas de ferramentas são coleções abrangentes de funções do MATLAB® (arquivos M) e de grande importância para os usuários do mesmo, pois permitem o aprendizado e aplicação de tecnologia especializada. As
toolboxes estendem o ambiente do MATLAB® para resolver classes específicas de problemas. As áreas nas quais as caixas de ferramentas estão disponíveis incluem processamento de sinal, sistemas de controle, Redes Neurais, lógica fuzzy, wavelets, simulação e muitas outras (MATHWORKS, 2005).
2.4.2 Software Neural Network ToolboxTM
O software Neural Network ToolboxTM fornece funções e aplicativos para modelar sistemas
não-lineares complexos que não são facilmente representados com uma equação de forma fechada. O Neural Network ToolboxTM tem a capacidade de realizar o aprendizado supervisionado e o não
supervisionado. Redes feedforward, de base radial e redes dinâmicas são suportadas por esse software para o aprendizado supervisionado. Do mesmo modo, o programa suporta mapas auto organizáveis (do inglês, Self-Organizing Map (SOM)) e camadas competitivas para o aprendizado não supervisionado. Com esta caixa de ferramentas é possível projetar, treinar, visualizar e simular Redes Neurais. O software Neural Network ToolboxTM pode ser utilizado para aplicativos de ajuste
de dados, ajuste de função, reconhecimento de padrão, clustering, previsão de séries temporais e modelagem e controle dinâmico de sistemas (BEALE; HAGAN; DEMUTH, 2014).
2.4.2.1 Aplicações do Software Neural Network ToolboxTM
Elencar a gama total de aplicações para as quais as Redes Neurais proporcionaram soluções excelentes é impossível. Porém, a Tabela 2 apresenta algumas destas aplicações para as quais as RNA fornecem soluções de ponta, referindo-se ao ajuste de função, reconhecimento de padrões, agrupamento de dados e análise de séries temporais (BEALE; HAGAN; DEMUTH, 2010).
Tabela 2 – Aplicações utilizando Redes Neurais Artificias
Indústria Aplicações de Negócios
Aeroespacial
Piloto automático de aeronave de alto desempenho, simulação de trajetória de voo, sistemas de controle de aeronaves, aprimoramentos de piloto automático, simulação e detecção de falhas de componentes de aeronaves
Automotiva Sistema de orientação automática para automóveis e análise de atividades de garantia
Eletrônica
Previsão de sequência de código, layout de chip de circuito integrado, controle de processo, análise de falha de chip, visão de máquina, síntese de voz e modelagem não-linear
Entretenimento Animação, efeitos especiais e previsão de mercado
Fala Reconhecimento de voz, compactação de voz, classificação de vogal e síntese de texto em fala
Industrial
Previsão de processos industriais, como gases de saída de fornos, substituindo equipamentos complexos e onerosos usados para este fim no passado
Médica
Análise de células de câncer de mama, de Eletroencefalografia (EEG) e Eletrocardiograma (ECG), design de próteses, otimização nos tempos de transplante, aconselhamento em exames de emergência, redução de despesas e melhoria da qualidade hospitalar
Produção
Controle no processo de fabricação, design e análise de produtos, diagnóstico de processo e máquina, identificação de partículas em tempo real, sistemas de inspeção visual de qualidade, teste de cerveja, análise da qualidade de soldagem, previsão de qualidade de papel, análise da qualidade de chip de computador, análise de operações de moagem, design e análise de produtos químicos, análise de manutenção de máquinas, licitação, planejamento e gerenciamento de projetos e modelagem dinâmica de sistemas de processos químicos
Robótica Controle de trajetória, robô empilhadeira, controladores manipuladores e sistemas de visão
Telecomunicações
Compactação de imagens e dados, serviços de informações automatizadas, tradução em tempo real da linguagem falada e sistemas de processamento de pagamentos dos clientes
Transporte Sistemas de diagnóstico de freio de caminhão, programação de veículos e sistemas de roteamento