Fase I - Estudo


Título da Idéia

Redes Neurais Artificiais


Objetivos

O principal objetivo desse estudo é destacar a importância das Redes Neurais Artificiais, analisando possíveis aplicações e visando oportunidades de crescimento nesse mercado.


Conceito


Apesar de muitos terem a ideia de que as RNA's são sistemas computacionais que imitam o cérebro humano, na realidade, essa ideia é apenas uma metáfora. As RNA's são baseadas nas redes neurais biológicas associadas ao processamento paralelo do cérebro humano, ou seja, elas são uma abstração da rede neural biológica. Seu objetivo não é replicar, mas sim servir de modelo para o aprendizado, resoluções de problemas complexos. Além disso, as RNA's também são utilizadas principalmente para criar sistemas de inteligência artificial.

As RNA's pode ser encontradas nos seguintes macrotemas:

  • Reconhecimento de padrões e classificação;
  • Identificação de sistema e controle;
  • Processamento de sinais.
  • Processamento de imagem e visão;
  • Identificação de sistema e controle;


Abaixo, seguem algumas aplicações específicas:

  • Reconhecimento de voz;
  • Software de OCR;
  • Identificação de spam;
  • Cloud computing;
  • Mercado financeiro;
  • Agricultura;
  • Previsão do tempo;
  • Medicina.


Para se ter uma ideia do uso das RNAs na medicina, Karabatak, em 2009, apresentou um sistema de diagnóstico automático para câncer de mama, utilizando a base de dados Breast Cancer, baseado nas regras de associação e em uma RNA multilayer perceptron.



Características 


Uma rede neural artificial é composta por várias unidades de processamento, cujo funcionamento é bastante simples. Essas unidades, geralmente são conectadas por canais de comunicação que estão associados a determinado peso. As unidades fazem operações apenas sobre seus dados locais, que são entradas recebidas pelas suas conexões. O comportamento inteligente de uma Rede Neural Artificial vem das interações entre as unidades de processamento da rede.


Redes neurais consistem nos seguintes componentes:

  • Uma camada de entrada ;
  • Uma quantidade arbitrária de camadas ocultas;
  • Uma camada de saída .
  • Um conjunto de pesos e desvios entre cada camada;
  • Uma opção de função de ativação para cada camada oculta;

Tipos de Redes Neurais

As redes neurais são de muitos tipos e cada uma delas vem com um caso de uso específico.

Rede Neural Feedforward: Este é o tipo mais comum de rede neural. onde a informação viaja em uma direção única, isto é, da entrada para a saída.

Arquivo:FeedforwardRNA.png

Rede Neural Recorrente: Um tipo de rede usado com mais frequência em que os dados podem ser transferidos em várias direções. Eles possuem maiores capacidades de aprendizagem e são freqüentemente usados ​​para tarefas complexas, como aprender a escrever a mão ou reconhecer o idioma.

Arquivo:RNArecorrente.png


A operação de uma unidade de processamento, proposta por McCullock e Pitts em 1943, consiste em sinais que são apresentados à entrada, cada sinal é multiplicado por um número, ou peso, que indica a sua influência na saída da unidade e então é feita a soma ponderada dos sinais que produz um nível de atividade, se este nível de atividade exceder um certo limite (threshold) a unidade produz uma determinada resposta de saída.


Ferramentas Utilizadas

As RNA's podem ser implementadas através de diversas ferramentas, entre elas, podemos destacar:

Accord.NET: é um framework de código aberto escrito na linguagem C#. Ela tem por finalidade fornecer a estrutura necessária para a construção de visão e audição computacional, processamento de sinal e aplicações estatísticas. Apesar de ser uma biblioteca de código, disponibiliza 47 exemplos prontos para uso, juntamente com os respectivos códigos fonte.


ADReNA: é um software para apoiar o desenvolvimento de dois modelos de redes neurais artificiais. A ferramenta disponibiliza uma interface para criar modelos perceptron e de Kohonen, bem como para salvar, carregar e executar estes modelos. Também disponibiliza uma API para desenvolvimento de aplicações nas linguagens C# e Java.


AForge.NET: é um framework escrito na linguagem C# e também tem o código aberto. Possibilita trabalhar com processamento de imagens, algoritmos genéticos, lógica fuzzy, aprendizagem de máquina e robótica.


EasyNN-plus: é um software comercial desenvolvido pela empresa “Neural Planner Software”. O objetivo é modelar uma RNA multicamadas, treinar a rede com matrizes de dados que podem ser importados de arquivos texto, planilhas e imagens, e, em seguida, efetuar consultas de predição sobre o modelo criado. De acordo com a página web da empresa, o software é utilizado para fazer previsões em negociação de ações, investimentos, seguros, mercado imobiliário, esportes, previsão do tempo, entre outros. O aplicativo é disponibilizado com uma licença de avaliação para um período de 30 dias, após o qual é necessário comprar uma licença permanente. A mesma companhia também disponibiliza uma versão da ferramenta de uso gratuito sob o nome de “JustNN", porém com limitações de escala de uso.


Encog: é um framework em desenvolvimento desde 2008. Estão implementados algoritmos de aprendizado de máquina, Redes Neurais Artificiais, Algoritmos Genéticos, Redes Bayesianas, entre outros. De acordo com o autor, os algoritmos implementados são altamente escaláveis, operando com Multi-Threads. Além disso, pode fazer uso do processador da placa gráfica para melhorar os tempos de processamento. Como as bibliotecas de código requerem um elevado conhecimento de programação, é disponibilizada uma interface gráfica por meio do software “Encog Workbench” com o objetivo de facilitar o uso das funções da API.


FANN: é uma biblioteca open source que implementa uma estrutura genérica de redes neurais em linguagem de programação C. Tem como objetivo disponibilizar um núcleo robusto para instanciação de RNA em 25 diferentes linguagens de programação (C#, Java, C++, node.js, PHP, Python, D, MQL4, Perl, Ruby, Delphi, Tcl, Lua, Visual Prolog 7, SWI Prolog, Go, Soap, Matlab, R, Ada, Haskel, Grass, Octave, Squeark Smalltalk e Pure Data). A biblioteca não oferece uma implementação pronta de um modelo de RNA, ao invés disso o desenvolvedor deve especificar o número de camadas, a conexão entre os neurônios e o algoritmo de aprendizado.


IDRISI: é um software de licença paga utilizado para geoprocessamento, portanto, ele é muito específico para processamento de fotos de relevo. Pode ser utilizada gratuitamente por um período de avaliação de 30 dias. A ferramenta oferece diversos algoritmos para fazer processamento de imagens, entre eles o MLP e o SOM ambos atuando como classificadores de imagens. Ela trabalha com um formato de dados próprio das imagens (basicamente são convertidas para uma matriz de números inteiros). Todos os algoritmos são manipulados por meio de interface gráfica. Não é disponibilizada API para desenvolvimento.


NEST: é um software de código aberto construído para simular redes neurais semelhantes às do cérebro humano. Diferentemente de outras ferramentas de RNA que possuem morfologia bem definida de neurônios e conexões, o NEST suporta mescla de diferentes tipos de neurônio e de sinapses na rede, pois o foco está na estrutura da rede como um todo. O programa roda em uma Shell com comandos para o interpretador Python. O usuário precisa descrever a rede nesta interface e iniciar a execução da simulação.


Vantagens das Redes Neurais

Erro ao criar miniatura: Arquivo não encontrado

Algumas vantagens das RNA's estão listadas abaixo:

Auto-Organização: Uma RNA pode gerar sua própria representação das informações que recebe no momento do aprendizado. Operação em tempo real: Cálculos de RNA podem ser feitos simultaneamente, e alguns dispositivos especiais (hardware) são fabricados para aproveitar essa capacidade.

Aprendizagem adaptativa: a capacidade de aprender a resolver tarefas é baseada nos dados fornecidos para o conjunto de treinamento.

Operação em tempo real: Cálculos de RNA podem ser feitos simultaneamente, e alguns dispositivos especiais (hardware) são fabricados para aproveitar essa capacidade.


Codificação de informações redundantes por meio da tolerância a falhas: A semidestruição de uma rede leva à degradação do desempenho correspondente. Além disso, algumas redes terão a capacidade de reter dados mesmo quando ocorrer um grande dano à rede.

Informe sobre as particularidades, aspectos e atributos desta idéia.



Estudo Dirigido


Coloque aqui o plano de estudos bem como as possíveis fontes de informação.


Fase II - Ensino


Conteúdo

Desenvolva um conteúdo que possa transmitir o conhecimento adquirido para outros
Crie um material (Wiki, PDF, PPT, ...) que possa ser armazenado e facilmente atualizável


Apresentação

Apresente ao grupo (reunião, EAD, Blog, ...)
Publique aqui


Metodologia


Descrevas as metodologias usadas. Alguns exemplos:
Estratégia de Job Rotation
Estudos básicos para conhecimento do potencial
Estudos básicos para entendimento sobre o problema
Estudos para dar base aos pesquisadores
Benchmarking com empresas estrangeiras 
Aceleradoras de empresas
Adoção de novas tecnologias
Utilização da proposta de soluções Open-source
Priorização no desenvolvimento interno
Foco na não dependência de fornecedores
Prática de formação dos talentos necessários 


Fase III - Exemplo de Caso de Negócio


Product Backlog


Descreva os requisitos deste projeto


Benefícios para quem for oferecer esta solução

    Descrever em tópicos os benefícios que uma pessoa ou uma empresa podem obter: ganhos, receitas, novos negócios, novos produtos, novas parcerias



Benefícios para o usuário

    Descrever em tópicos os benefícios para os usuários desta solução.
    Pode se inspirar no Canvas.


Direcionadores chave para esta iniciativa

    Descrever em tópicos o que esta iniciativa pode proporcionar



Possíveis modelos de negócios

    Descrever em tópicos os possíveis modelos de negócios

Business Case

    Descrever um exemplo de negócio que permita avaliar a solução comercialmente


Alinhamento com Lei do Bem


  • Projeto possui algum elemento tecnologicamente novo ou inovador?
Elemento tecnologicamente novo ou inovador pode ser entendimento como o avanço tecnológico pretendido pelo projeto, ou a hipótese que está sendo testada


  • Projeto possui barreira ou desafio tecnológico superável?
Barreira ou desafio tecnológico superável pode ser entendido como aquilo que dificulta o atingimento do avanço tecnológico pretendido, ou dificulta a comprovação da hipótese


  • Projeto utiliza metodologia/método para superação da barreira ou desafio tecnológico?
Metodologia/método para superação da barreira ou desafio tecnológico pode ser entendido como aqueles atividades que foram realizadas para superação da barreira ou do desafio tecnológico existente no projeto


  • Projeto é desenvolvido em parceira com alguma instituição acadêmica, ICT ou startup?
Se sim, o desenvolvimento tecnológico é executado por associado ou por alguma empresa terceira? qual o nome da empresa? 
Anexar cópia do contrato


Fase IV - Protótipo orientado ao Negócio


Escopo


Explique o escopo deste protótipo


Limitações


Informe sobre as limitações técnicas, comerciais, operacionais, recursos, etc.


PoC


Desenvolva um PoC (Proof of Concept)


Detalhamento Técnico


Descreva especificamente os aspectos técnicos desta pesquisa





Cronograma Macro


Histórico

  • 22/07/2020: Início dos estudos sobre o tópico;
  • 23/07/2020: Início da escrita da fase 1;
  • 27/07/2020: Finalização da escrita Objetivos
  • 29/07/2020: Finalização da escrita Conceitos
  • 03/082020: Finalização da escrita Características

Pesquisadores

  • Alana Soares Reis