| Linha 73: | Linha 73: | ||
<p>As redes neurais são de muitos tipos e cada uma delas vem com um caso de uso específico. </p> | <p>As redes neurais são de muitos tipos e cada uma delas vem com um caso de uso específico. </p> | ||
<p><span style="font-weight:700">Rede Neural Feedforward: </span>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. </p> | <p><span style="font-weight:700">Rede Neural Feedforward: </span>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. </p> | ||
<p>[[Arquivo:FeedforwardRNA.jpg| | <p>[[Arquivo:FeedforwardRNA.jpg|200px|center]] </p> | ||
<p><span style="font-weight:700">Rede Neural Recorrente: </span>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.</p> | <p><span style="font-weight:700">Rede Neural Recorrente: </span>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.</p> | ||
<p>[[Arquivo:RNArecorrente.jpg| | <p>[[Arquivo:RNArecorrente.jpg|200px|center]] </p> | ||
Edição das 23h12min de 11 de agosto de 2020
Fase I - Estudo
Título da Idéia
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.
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.
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
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