SlideShare une entreprise Scribd logo
1  sur  64
Télécharger pour lire hors ligne
Introdução a Redes Neurais
Artificiais com a biblioteca
Encog em Java
Apresentação
 Graduada em Sistemas de Informação –
FAP/Parnaíba
 Mestranda do Programa de Pós-Graduação em
Engenharia da Eletricidade - UFMA
Roteiro
 Introdução
 Redes Neurais Artificiais
 Neurônio Biológico
 Neurônio Artificial
 Funções de Ativação
 Estruturas das RNAs
 Aprendizado em RNAs
 Regras de Aprendizagem
 Rede Perceptron Simples
 A biblioteca Encog
Introdução
 O cérebro resolve problemas de maneira inata
 Desejo de construir artefatos de
comportamento inteligente
 Dificuldades de tratar informações imprecisas
e incompletas
Redes Neurais Artificiais
“São modelos computacionais inspirados no
sistema nervoso de seres vivos. Possuem a
capacidade de aquisição e manutenção de
conhecimento e podem ser definidas como um
conjunto de unidades de processamento, que são
interligados por um grande número de
interconexões, sendo as mesmas representadas
por vetores/matrizes de pesos sinápticos.”Silva(
2010)
Redes Neurais Artificiais
 Baseada no neurônio biológico
 Grande capacidade de aprendizado e
generalização
 Processamento paralelo
 Técnica estatística não – linear
 Abordagem conexionista
Áreas relacionadas da IA
Inteligência
Artificial
Conexionista
SimbólicaEvolutiva
Principais tarefas realizadas pela RNAs
 Classificação
 Agrupamento
 Regressão numérica
 Predição
 Reconhecimento de Padrões
Interesse em usar RNAs
 Classificação e predição do câncer com base do
perfil genético;
 Diagnóstico de doenças no coração;
 Sistemas de controle de tratamento da água;
 Previsão de ações do mercado financeiro;
 Classificação de fontes de corrente harmônico
em sistemas de distribuição de energia;
Histórico das RNAs
 Modelo neurônio artificial por McCulloch &
Pitts (1943)
 Regra de aprendizado de Hebb (1949)
 O modelo Perceptron de Rosenblatt (1958)
 Descoberta da limitação do Perceptron por
Minsky e Papert (1969)
 Abordagem de energia de Hopfield (1982)
 Algoritmo de aprendizagem Backpropagation
para redes Perceptron Múltiplas Camadas por
Rumelhart (1986)
Neurônio Biológico
Neurônio Biológico
 Corpo celular ou Soma - Produz um potencial de
ativação que indicará se o neurônio poderá disparar um
impulso elétrico ao longo do axônio.
 Dendritos - Responsáveis pela captação, de forma
contínua, dos estímulos vindos de diversos outros
neurônios.
 Axônio - Formado por um único prolongamento, têm por
função conduzir os impulso elétricos para os outros
neurônios conectores chegando até os dendritos.
 Sinapses - Que se configuram como as conexões que
viabilizam a transferência de impulsos elétricos do axônio
de um neurônio para os dendritos dos outros.
Neurônio Biológico
Neurônio Artificial
 Os sinais de entrada representados pelo
conjunto {𝒙 𝟏, 𝒙 𝟐, … , 𝒙 𝒏}, equivalem aos impulsos
elétricos externos captados pelos dendritos.
 As sinapses são representadas pelas
ponderações sinápticas ajustadas em
{𝒘 𝟏, 𝒘 𝟐, … , 𝒘 𝒏}.
 O potencial de ativação 𝒖 determinado pela
função soma, equivale ao corpo celular.
 A saída propagada pelo axônio é representada
por 𝒚.
Neurônio Artificial
Sinais de entrada
Pesos sinápticos
Combinador Linear
Limiar de ativação
Potencial de ativação
𝑢 = 𝑤𝑖
𝑛
𝑖=1
∗ 𝑥𝑖 − 𝜃
Função de ativação
Sinal de saída
y = 𝑔(𝑢)
Funções de Ativação
 Função linear 𝑔 𝑢 = 𝑢
Funções de Ativação
 Função degrau 𝑔(𝑢) =
1 𝑠𝑒 (𝑢 ≥ 0)
0 𝑠𝑒 (𝑢 < 0)
Funções de Ativação
 Função degrau bipolar 𝑔(𝑢) =
1 𝑠𝑒 (𝑢 > 0)
0 𝑠𝑒 (𝑢 = 0)
−1 𝑠𝑒 (𝑢 < 0)
𝑔(𝑢) =
1 𝑠𝑒 (𝑢 ≥ 0)
−1 𝑠𝑒 (𝑢 < 0)
Funções de Ativação
 Função logística 𝑔(𝑢) =
1
1 + 𝑒−𝛽𝑢
𝑒 = 2,718281 ⇒ 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝐸𝑢𝑙𝑒𝑟
𝛽 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑑𝑒 𝑖𝑛𝑐𝑙𝑖𝑛𝑎çã𝑜
Funções de Ativação
 Função tangente hiperbólica 𝑔(𝑢) =
1 − 𝑒−𝛽𝑢
1 + 𝑒−𝛽𝑢
Funções de Ativação
 Função gaussiana 𝑔 𝑢 = 𝑒
−
(𝑢−𝑐)2
2𝜎2
𝑒 = 2,718281 ⇒ 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝐸𝑢𝑙𝑒𝑟
𝜎 ⇒ 𝐷𝑒𝑠𝑣𝑖𝑜 𝑃𝑎𝑑𝑟ã𝑜
𝑐 ⇒ 𝐶𝑒𝑛𝑡𝑟𝑜 𝑑𝑎 𝐹𝑢𝑛çã𝑜 𝐺𝑎𝑢𝑠𝑠𝑖𝑎𝑛𝑎
Estruturas das RNAs
 Redes feedforward de camada simples
Este tipo de estrutura é formada por apenas uma
camada de entrada e uma única camada de
neurônios, que é a mesma camada de saída.
Estruturas das RNAs
 Redes feedforward de camada múltipla
São constituídas pela presença de uma ou mais
camadas escondidas de neurônios.
Estruturas das RNAs
 Redes recorrentes
São redes em que as saídas dos neurônios são
realimentadas como sinais de entrada para
outros neurônios.
Aprendizado em RNAs
“A aprendizagem é um processo pelo qual os
parâmetros livres de uma rede neural são
adaptados através de um processo de
estimulação pelo ambiente no qual a rede está
inserida. O tipo de aprendizagem é determinado
pela maneira pela qual a modificação dos
parâmetros ocorre.” Haykin (2001)
Aprendizado em RNAs
 Aprendizado supervisionado
São fornecidos pares de entrada-saída para a rede;
A cada entrada fornecida, a saída é comparada com a
saída correta.
Se a saída obtida for diferente da saída correta, os pesos
sinápticos são corrigidos.
Aprendizado em RNAs
 Aprendizado não-supervisionado
- Aprendizagem por reforço
É realizado através de um crítico que procura
maximizar as boas ações executadas pela rede neural
- Aprendizagem não-supervisionada
Não existe qualquer supervisor ou crítico, são dadas
condições para a rede se auto organizar de acordo com
uma medida de representação
Regras de Aprendizagem
 Aprendizagem por correção de erro
Seu princípio básico é usar o sinal de erro, para modificar os
pesos gradualmente.
𝒆 𝒌 𝒏 = 𝒅 𝒌 𝒏 − 𝒚 𝒌(𝒏)
 Aprendizagem baseada em memória
As experiências são armazenadas em uma grande memória
de exemplos de entrada-saída
 Aprendizagem competitiva
- Os neurônios disputam entre si, único vencedor de saída
Regras de Aprendizagem
 Aprendizagem hebbiana
- Dois neurônios ativados sincronamente => Força
sináptica ativada
- Dois neurônios ativados assincronamente => Força
sináptica enfraquecida
 Aprendizagem de boltzman
- Máquina de boltzman derivado da mecânica estatística,
distribuição de probabilidade desejada
Rede Perceptron Simples
 Estrutura da Rede
- Duas entradas
𝑦 =
1, 𝑠𝑒 𝑤𝑖 ∗ 𝑥𝑖 − 𝜃
𝑛
𝑖=1
≥ 0 ↔ 𝑤1 ∗ 𝑥1 + 𝑤2 ∗ 𝑥2 − 𝜃 ≥ 0
−1, 𝑠𝑒 𝑤𝑖 ∗ 𝑥𝑖 − 𝜃
𝑛
𝑖=1
< 0 ↔ 𝑤1 ∗ 𝑥1 + 𝑤2 ∗ 𝑥2 − 𝜃 < 0
Rede Perceptron Simples
 Classificador de padrões linearmente
separável
Rede Perceptron Simples
 Processo de ajuste dos pesos
– η  Constante da taxa de aprendizado (0 < η < 1)
– y  Valor de saída produzida pelo Perceptron
– d(k)  Valor desejado para k-ésima amostra de
treinamento
– x(k)  K-ésima amostra de treinamento
– w  Vetor contendo os pesos (inicialmente gerados
aleatoriamente)
Notação matemática: 𝑤 𝐴𝑡𝑢𝑎𝑙 = 𝑤 𝐴𝑛𝑡𝑒𝑟𝑖𝑜𝑟 + η ∗ 𝑑 𝑘 − 𝑦 ∗ 𝑥 𝑘
Notação algorítmica: 𝑤 = 𝑤 + η ∗ 𝑑 𝑘 − 𝑦 ∗ 𝑥 𝑘
Rede Perceptron Simples
 Algoritmo de aprendizagem
Rede Perceptron Simples
 Algoritmo de aprendizagem
Rede Perceptron Simples
 Exemplo de aplicação
 Porta lógica OR
Rede Perceptron Simples
 Exemplo de aplicação
 Porta lógica OR
Representação dos Sinais e Saídas
y
x0
1
0 1
Representação dos Sinais, Saídas e Possíveis
Retas (Soluções)
y
x0
1
0 1
Rede Perceptron Simples
 Não classifica (não linearmente separável)
Rede Perceptron Simples
 XOR -> Não linearmente separável
Rede Perceptron Simples
 XOR -> Não linearmente separável
Representação dos Sinais e Saídas
y
x0
1
0 1
Representação dos Sinais, Saídas e
Impossível Separar Linearmente
y
x0
1
0 1
Rede Perceptron Simples
 Exemplo
x1
(Fósforo - mg)
x2
(Acidez - mg)
x3
(Cálcio - mg)
Classe (1 = tangerina)
(-1 = laranja)
0,1 0,4 0,7 1
0,5 0,7 0,1 1
0,6 0,9 0,8 -1
0,3 0,7 0,2 -1
Rede Perceptron Simples
 Exemplo
𝑑(1)
= 1
w =
0,34
−0,23
0,94
0,05
𝑑(2) = 1
𝑑(3) = −1
𝑑(4)
= −1
𝑥(1) =
−1
0,1
0,4
0,7
𝑥(2) =
−1
0,5
0,7
0,1
𝑥(3) =
−1
0,6
0,9
0,8
𝑥(4) =
−1
0,3
0,7
0,2
η = 0,05
Rede Perceptron Simples
 Exemplo - Ajuste dos pesos
w =
0,34
−0,23
0,94
0,05
+ 0,05 1 − 1
−1
0,6
0,9
0,8
𝑤 = 𝑤 + η ∗ 𝑑 𝑘 − 𝑦 ∗ 𝑥 𝑘
Rede Perceptron Simples
 Exemplo - Pesos ajustados
y = 1
∑
x0
x1
x2
x3
w0 = -0,241
w1 = 0,680
w2 = -0,778
w3 = 0,015
0,1
0,4
0,7
𝑢 = 𝑤𝑖 ∗ 𝑥𝑖 = 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑤3 𝑥3 + 𝑤4 𝑥4
𝑛
𝑖=0
𝑢 = −1 −0,241 + 0,1 0,680
+ 0,4 −0,778 + 0,7 0,015
𝑢 = 0,0083
g(u)
yu = 0,0083u
g(0,0083)
Rede Adaline
 Ajustado pelo método dos Mínimos Quadrados
dos Erros (LMS – least mean square)
 Essência da regra Delta (ajuste de pesos de redes
múltiplas camadas)
Rede Multiplas Camadas
 Usa regra delta generalizada ou método
gradiente descendente.
Etapas para desenvolver uma
aplicação de RNA
 Coleta de dados
 Separação em conjuntos
 Configuração da rede
 Treinamento da rede
 Testes da rede
A biblioteca Encog
“O Encog é um framework da Inteligência
Artificial para Java que suporta não só redes
neurais como outras áreas da IA. É uma estrutura
de aprendizagem de máquina avançada que
suporta uma variedade de algoritmos avançados,
bem como métodos de apoio para normalizar e
processar dados. Algoritmos de aprendizagem de
máquina, como Support Vector Machines, Redes
Neurais Artificiais, redes Bayesianas e algoritmos
genéticos são suportados.” [Heaton 2011]
Instalação
 Para instalar é necessário baixar a última versão
do Encog no seguinte link:
http://www.heatonresearch.com/encog/
 Depois é só extrair os seguintes arquivos em um
local desejado e incluir o caminho das bibliotecas
ao usar uma IDE.
The Encog Core
The Encog Examples
The Encog Workbench
Elementos básicos de construção da
rede neural no Encog
 O Encog está estruturado em camadas,
sinapses, propriedades, classe lógica neural e
funções de ativação.
Elementos básicos de construção da
rede neural no Encog
 Camada de entrada:
MLData – Interface usada para definir que
classes mantém esses arrays de dados de
entrada. O array pode ser convertido em um
objeto MLData, através do seguinte código:
MLData data = new BasicMLData (input);
Elementos básicos de construção da
rede neural no Encog
 Camada de entrada:
- A classe BasicMLData implementa a interface
MLData.
- Existem outras classes que implementam o MLData
para diferentes tipos de entrada de dados.
 Camada de saída:
- Utiliza a mesma estrutura da camada de entrada, um
array BasicMLData.
Elementos básicos de construção da
rede neural no Encog
 Configuração da rede:
- A classe BasicNetwork implementa uma
rede neural.
- Implementa as interfaces MLProperties e
MLMethod que definem o tipo de
aprendizado de máquina e suas propriedades.
Elementos básicos de construção da
rede neural no Encog
 Configuração da rede:
- A classe BasicLayer implementa as
funcionalidades básicas das camadas.
- Implementa a interface Layer que define
todos os métodos necessários a uma camada.
Elementos básicos de construção da
rede neural no Encog
 Treinamento da rede:
- A classe MLDataSet e BasicMLDataSet
configuram as entradas e saídas ideais da rede.
MLDataSet trainingSet = new BasicMLDataSet(input, ideal);
Elementos básicos de construção da
rede neural no Encog
 Treinamento da rede:
- Os métodos de treinamento podem ser
utilizados através da interface MLTrain, aqui
todos os métodos de treinamento
implementam essa interface.
Elementos básicos de construção da
rede neural no Encog
 Treinamento da rede:
- Backpropagation
- ResilientPropagation
- ManhattanPropagation
- QuickPropagation
- ScaledConjugateGradient
- LevenbergMarquardtTraining
Elementos básicos de construção da
rede neural no Encog
 Teste da rede:
- O teste da rede ocorre através das classes
MLDataPair que recebe os pares de entrada
e saída do treinamento e a classe MLData que
computa os respectivas saídas da rede, dado
somente os dados de entrada e a rede treinada.
Implementação do BackPropagation -
Problema do XOR
 Algoritmo simplicado:
1. Apresentação de um padrão X a rede, a qual fornece a saída;
2. Calculo do erro (diferença entre o valor desejado e a saída) para
cada saída;
3. Determinação do erro pela rede associado a derivada parcial do
erro quadrático;
4. Ajuste dos pesos de cada elemento;
5. Por fim, um novo padrão é apresentado a rede e o processo é
repetido até que ocorra a convergência (erro < tolerância
estabelecida) ou o número de interações atinja a um valor máximo
estabelecido;
Implementação do BackPropagation -
Problema do XOR
 Definição dos dados:
Implementação do BackPropagation -
Problema do XOR
 Configuração da rede neural
Implementação do BackPropagation -
Problema do XOR
 Treinamento da rede neural
Implementação do BackPropagation -
Problema do XOR
 Teste da rede neural
Bibliografia
SILVA, I. N.; Redes Neurais
Artificiais para engenharia e
ciências aplicadas.
HEATON, J.; Programming
Neural Networks with Encog3 in
Java.
HAYKIN, S.; Redes Neurais:
Princípios e práticas
Obrigada pela atenção!
 Contato:
 rachel.msousanet@gmail.com

Contenu connexe

Tendances

Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Aula - Interfaces e Estilos de Interação
Aula - Interfaces e Estilos de InteraçãoAula - Interfaces e Estilos de Interação
Aula - Interfaces e Estilos de InteraçãoFabio Moura Pereira
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosElaine Cecília Gatto
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Gerações de computadores
Gerações de computadoresGerações de computadores
Gerações de computadoresSamuel Carvalho
 
Tecnologias De Redes De Computadores
Tecnologias De Redes De ComputadoresTecnologias De Redes De Computadores
Tecnologias De Redes De ComputadoresMatheus
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaFernando Palma
 
Spr3001 -1._visao_geral_da_producao
Spr3001  -1._visao_geral_da_producaoSpr3001  -1._visao_geral_da_producao
Spr3001 -1._visao_geral_da_producaoGrp Di Bobera
 
Manutenção de computadores
Manutenção de computadoresManutenção de computadores
Manutenção de computadoresAmadeo Santos
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Leinylson Fontinele
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Aula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDIAula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDIJarley Nóbrega
 
Aula IA - Redes Neurais Artificiais | PML e SOM
Aula IA - Redes Neurais Artificiais  | PML e SOMAula IA - Redes Neurais Artificiais  | PML e SOM
Aula IA - Redes Neurais Artificiais | PML e SOMCloves da Rocha
 
História da informática (Parte I)
História da informática (Parte I)História da informática (Parte I)
História da informática (Parte I)Nécio de Lima Veras
 
Árvore B estruturas de dados e técnicas de programação
Árvore B estruturas de dados e técnicas de programaçãoÁrvore B estruturas de dados e técnicas de programação
Árvore B estruturas de dados e técnicas de programaçãoEverson Wolf
 
Vantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redesVantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redesMarco Martins
 

Tendances (20)

Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Aula - Interfaces e Estilos de Interação
Aula - Interfaces e Estilos de InteraçãoAula - Interfaces e Estilos de Interação
Aula - Interfaces e Estilos de Interação
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dados
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Gerações de computadores
Gerações de computadoresGerações de computadores
Gerações de computadores
 
Tecnologias De Redes De Computadores
Tecnologias De Redes De ComputadoresTecnologias De Redes De Computadores
Tecnologias De Redes De Computadores
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
 
Spr3001 -1._visao_geral_da_producao
Spr3001  -1._visao_geral_da_producaoSpr3001  -1._visao_geral_da_producao
Spr3001 -1._visao_geral_da_producao
 
Manutenção de computadores
Manutenção de computadoresManutenção de computadores
Manutenção de computadores
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
 
Token ring
Token ringToken ring
Token ring
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Redes de Computadores - Modelo de Referência OSI/ISO
Redes de Computadores - Modelo de Referência OSI/ISORedes de Computadores - Modelo de Referência OSI/ISO
Redes de Computadores - Modelo de Referência OSI/ISO
 
Aula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDIAula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDI
 
Aula IA - Redes Neurais Artificiais | PML e SOM
Aula IA - Redes Neurais Artificiais  | PML e SOMAula IA - Redes Neurais Artificiais  | PML e SOM
Aula IA - Redes Neurais Artificiais | PML e SOM
 
História da informática (Parte I)
História da informática (Parte I)História da informática (Parte I)
História da informática (Parte I)
 
1S - 4° bim Exercícios
1S - 4° bim Exercícios 1S - 4° bim Exercícios
1S - 4° bim Exercícios
 
Ensino pós secundario
Ensino pós secundarioEnsino pós secundario
Ensino pós secundario
 
Árvore B estruturas de dados e técnicas de programação
Árvore B estruturas de dados e técnicas de programaçãoÁrvore B estruturas de dados e técnicas de programação
Árvore B estruturas de dados e técnicas de programação
 
Vantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redesVantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redes
 

Similaire à Introdução a redes neurais artificiais com a biblioteca encog

[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLPAhirton Lopes
 
INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNACarlos Cheth
 
Inteligência Artificial Parte 6 [IA]
Inteligência Artificial Parte 6 [IA]Inteligência Artificial Parte 6 [IA]
Inteligência Artificial Parte 6 [IA]ronaldo ramos
 
Aplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturasAplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturasFamília Schmidt
 
Apostila redes neurais
Apostila redes neuraisApostila redes neurais
Apostila redes neuraisBruno Souza
 
Redes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e HopfieldRedes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e HopfieldLucas Sabadini
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRenato Ximenes
 
Redes_Neurais.ppt
Redes_Neurais.pptRedes_Neurais.ppt
Redes_Neurais.pptCsfe076280
 
Introdução à redes neurais artificiais
Introdução à redes neurais artificiaisIntrodução à redes neurais artificiais
Introdução à redes neurais artificiaisRobson Gomes
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais ArtificiaisRicardo Zalla
 
IA Redes Neurais Artificiais
IA Redes Neurais ArtificiaisIA Redes Neurais Artificiais
IA Redes Neurais Artificiaisrafael.joi
 
Aula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAhirton Lopes
 
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Ricardo Brasil
 
Banner sic 02
Banner sic 02Banner sic 02
Banner sic 02siridakis
 

Similaire à Introdução a redes neurais artificiais com a biblioteca encog (20)

Redes Neuronais
Redes NeuronaisRedes Neuronais
Redes Neuronais
 
[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP[José Ahirton Lopes] Apresentação MLP
[José Ahirton Lopes] Apresentação MLP
 
rn_1_int.pdf
rn_1_int.pdfrn_1_int.pdf
rn_1_int.pdf
 
INTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNAINTELIGENCIA ARTIFICIAL RNA
INTELIGENCIA ARTIFICIAL RNA
 
Inteligência Artificial Parte 6 [IA]
Inteligência Artificial Parte 6 [IA]Inteligência Artificial Parte 6 [IA]
Inteligência Artificial Parte 6 [IA]
 
Aplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturasAplicação de redes neurais artificiais à engenharia de estruturas
Aplicação de redes neurais artificiais à engenharia de estruturas
 
Apostila redes neurais
Apostila redes neuraisApostila redes neurais
Apostila redes neurais
 
ArtigoFinal_v02
ArtigoFinal_v02ArtigoFinal_v02
ArtigoFinal_v02
 
Redes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e HopfieldRedes Neurais Perceptron e Hopfield
Redes Neurais Perceptron e Hopfield
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzy
 
Redes_Neurais.ppt
Redes_Neurais.pptRedes_Neurais.ppt
Redes_Neurais.ppt
 
Introdução à redes neurais artificiais
Introdução à redes neurais artificiaisIntrodução à redes neurais artificiais
Introdução à redes neurais artificiais
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
P910Aula05
P910Aula05P910Aula05
P910Aula05
 
IA Redes Neurais Artificiais
IA Redes Neurais ArtificiaisIA Redes Neurais Artificiais
IA Redes Neurais Artificiais
 
Aula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neurais
 
Apresentacao
ApresentacaoApresentacao
Apresentacao
 
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
 
Banner sic 02
Banner sic 02Banner sic 02
Banner sic 02
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 

Dernier

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 

Dernier (9)

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 

Introdução a redes neurais artificiais com a biblioteca encog

  • 1. Introdução a Redes Neurais Artificiais com a biblioteca Encog em Java
  • 2. Apresentação  Graduada em Sistemas de Informação – FAP/Parnaíba  Mestranda do Programa de Pós-Graduação em Engenharia da Eletricidade - UFMA
  • 3. Roteiro  Introdução  Redes Neurais Artificiais  Neurônio Biológico  Neurônio Artificial  Funções de Ativação  Estruturas das RNAs  Aprendizado em RNAs  Regras de Aprendizagem  Rede Perceptron Simples  A biblioteca Encog
  • 4. Introdução  O cérebro resolve problemas de maneira inata  Desejo de construir artefatos de comportamento inteligente  Dificuldades de tratar informações imprecisas e incompletas
  • 5. Redes Neurais Artificiais “São modelos computacionais inspirados no sistema nervoso de seres vivos. Possuem a capacidade de aquisição e manutenção de conhecimento e podem ser definidas como um conjunto de unidades de processamento, que são interligados por um grande número de interconexões, sendo as mesmas representadas por vetores/matrizes de pesos sinápticos.”Silva( 2010)
  • 6. Redes Neurais Artificiais  Baseada no neurônio biológico  Grande capacidade de aprendizado e generalização  Processamento paralelo  Técnica estatística não – linear  Abordagem conexionista
  • 7. Áreas relacionadas da IA Inteligência Artificial Conexionista SimbólicaEvolutiva
  • 8. Principais tarefas realizadas pela RNAs  Classificação  Agrupamento  Regressão numérica  Predição  Reconhecimento de Padrões
  • 9. Interesse em usar RNAs  Classificação e predição do câncer com base do perfil genético;  Diagnóstico de doenças no coração;  Sistemas de controle de tratamento da água;  Previsão de ações do mercado financeiro;  Classificação de fontes de corrente harmônico em sistemas de distribuição de energia;
  • 10. Histórico das RNAs  Modelo neurônio artificial por McCulloch & Pitts (1943)  Regra de aprendizado de Hebb (1949)  O modelo Perceptron de Rosenblatt (1958)  Descoberta da limitação do Perceptron por Minsky e Papert (1969)  Abordagem de energia de Hopfield (1982)  Algoritmo de aprendizagem Backpropagation para redes Perceptron Múltiplas Camadas por Rumelhart (1986)
  • 12. Neurônio Biológico  Corpo celular ou Soma - Produz um potencial de ativação que indicará se o neurônio poderá disparar um impulso elétrico ao longo do axônio.  Dendritos - Responsáveis pela captação, de forma contínua, dos estímulos vindos de diversos outros neurônios.  Axônio - Formado por um único prolongamento, têm por função conduzir os impulso elétricos para os outros neurônios conectores chegando até os dendritos.  Sinapses - Que se configuram como as conexões que viabilizam a transferência de impulsos elétricos do axônio de um neurônio para os dendritos dos outros.
  • 14. Neurônio Artificial  Os sinais de entrada representados pelo conjunto {𝒙 𝟏, 𝒙 𝟐, … , 𝒙 𝒏}, equivalem aos impulsos elétricos externos captados pelos dendritos.  As sinapses são representadas pelas ponderações sinápticas ajustadas em {𝒘 𝟏, 𝒘 𝟐, … , 𝒘 𝒏}.  O potencial de ativação 𝒖 determinado pela função soma, equivale ao corpo celular.  A saída propagada pelo axônio é representada por 𝒚.
  • 15. Neurônio Artificial Sinais de entrada Pesos sinápticos Combinador Linear Limiar de ativação Potencial de ativação 𝑢 = 𝑤𝑖 𝑛 𝑖=1 ∗ 𝑥𝑖 − 𝜃 Função de ativação Sinal de saída y = 𝑔(𝑢)
  • 16. Funções de Ativação  Função linear 𝑔 𝑢 = 𝑢
  • 17. Funções de Ativação  Função degrau 𝑔(𝑢) = 1 𝑠𝑒 (𝑢 ≥ 0) 0 𝑠𝑒 (𝑢 < 0)
  • 18. Funções de Ativação  Função degrau bipolar 𝑔(𝑢) = 1 𝑠𝑒 (𝑢 > 0) 0 𝑠𝑒 (𝑢 = 0) −1 𝑠𝑒 (𝑢 < 0) 𝑔(𝑢) = 1 𝑠𝑒 (𝑢 ≥ 0) −1 𝑠𝑒 (𝑢 < 0)
  • 19. Funções de Ativação  Função logística 𝑔(𝑢) = 1 1 + 𝑒−𝛽𝑢 𝑒 = 2,718281 ⇒ 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝐸𝑢𝑙𝑒𝑟 𝛽 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑑𝑒 𝑖𝑛𝑐𝑙𝑖𝑛𝑎çã𝑜
  • 20. Funções de Ativação  Função tangente hiperbólica 𝑔(𝑢) = 1 − 𝑒−𝛽𝑢 1 + 𝑒−𝛽𝑢
  • 21. Funções de Ativação  Função gaussiana 𝑔 𝑢 = 𝑒 − (𝑢−𝑐)2 2𝜎2 𝑒 = 2,718281 ⇒ 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝐸𝑢𝑙𝑒𝑟 𝜎 ⇒ 𝐷𝑒𝑠𝑣𝑖𝑜 𝑃𝑎𝑑𝑟ã𝑜 𝑐 ⇒ 𝐶𝑒𝑛𝑡𝑟𝑜 𝑑𝑎 𝐹𝑢𝑛çã𝑜 𝐺𝑎𝑢𝑠𝑠𝑖𝑎𝑛𝑎
  • 22. Estruturas das RNAs  Redes feedforward de camada simples Este tipo de estrutura é formada por apenas uma camada de entrada e uma única camada de neurônios, que é a mesma camada de saída.
  • 23. Estruturas das RNAs  Redes feedforward de camada múltipla São constituídas pela presença de uma ou mais camadas escondidas de neurônios.
  • 24. Estruturas das RNAs  Redes recorrentes São redes em que as saídas dos neurônios são realimentadas como sinais de entrada para outros neurônios.
  • 25. Aprendizado em RNAs “A aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo de estimulação pelo ambiente no qual a rede está inserida. O tipo de aprendizagem é determinado pela maneira pela qual a modificação dos parâmetros ocorre.” Haykin (2001)
  • 26. Aprendizado em RNAs  Aprendizado supervisionado São fornecidos pares de entrada-saída para a rede; A cada entrada fornecida, a saída é comparada com a saída correta. Se a saída obtida for diferente da saída correta, os pesos sinápticos são corrigidos.
  • 27. Aprendizado em RNAs  Aprendizado não-supervisionado - Aprendizagem por reforço É realizado através de um crítico que procura maximizar as boas ações executadas pela rede neural - Aprendizagem não-supervisionada Não existe qualquer supervisor ou crítico, são dadas condições para a rede se auto organizar de acordo com uma medida de representação
  • 28. Regras de Aprendizagem  Aprendizagem por correção de erro Seu princípio básico é usar o sinal de erro, para modificar os pesos gradualmente. 𝒆 𝒌 𝒏 = 𝒅 𝒌 𝒏 − 𝒚 𝒌(𝒏)  Aprendizagem baseada em memória As experiências são armazenadas em uma grande memória de exemplos de entrada-saída  Aprendizagem competitiva - Os neurônios disputam entre si, único vencedor de saída
  • 29. Regras de Aprendizagem  Aprendizagem hebbiana - Dois neurônios ativados sincronamente => Força sináptica ativada - Dois neurônios ativados assincronamente => Força sináptica enfraquecida  Aprendizagem de boltzman - Máquina de boltzman derivado da mecânica estatística, distribuição de probabilidade desejada
  • 30. Rede Perceptron Simples  Estrutura da Rede - Duas entradas 𝑦 = 1, 𝑠𝑒 𝑤𝑖 ∗ 𝑥𝑖 − 𝜃 𝑛 𝑖=1 ≥ 0 ↔ 𝑤1 ∗ 𝑥1 + 𝑤2 ∗ 𝑥2 − 𝜃 ≥ 0 −1, 𝑠𝑒 𝑤𝑖 ∗ 𝑥𝑖 − 𝜃 𝑛 𝑖=1 < 0 ↔ 𝑤1 ∗ 𝑥1 + 𝑤2 ∗ 𝑥2 − 𝜃 < 0
  • 31. Rede Perceptron Simples  Classificador de padrões linearmente separável
  • 32. Rede Perceptron Simples  Processo de ajuste dos pesos – η  Constante da taxa de aprendizado (0 < η < 1) – y  Valor de saída produzida pelo Perceptron – d(k)  Valor desejado para k-ésima amostra de treinamento – x(k)  K-ésima amostra de treinamento – w  Vetor contendo os pesos (inicialmente gerados aleatoriamente) Notação matemática: 𝑤 𝐴𝑡𝑢𝑎𝑙 = 𝑤 𝐴𝑛𝑡𝑒𝑟𝑖𝑜𝑟 + η ∗ 𝑑 𝑘 − 𝑦 ∗ 𝑥 𝑘 Notação algorítmica: 𝑤 = 𝑤 + η ∗ 𝑑 𝑘 − 𝑦 ∗ 𝑥 𝑘
  • 33. Rede Perceptron Simples  Algoritmo de aprendizagem
  • 34. Rede Perceptron Simples  Algoritmo de aprendizagem
  • 35. Rede Perceptron Simples  Exemplo de aplicação  Porta lógica OR
  • 36. Rede Perceptron Simples  Exemplo de aplicação  Porta lógica OR Representação dos Sinais e Saídas y x0 1 0 1 Representação dos Sinais, Saídas e Possíveis Retas (Soluções) y x0 1 0 1
  • 37. Rede Perceptron Simples  Não classifica (não linearmente separável)
  • 38. Rede Perceptron Simples  XOR -> Não linearmente separável
  • 39. Rede Perceptron Simples  XOR -> Não linearmente separável Representação dos Sinais e Saídas y x0 1 0 1 Representação dos Sinais, Saídas e Impossível Separar Linearmente y x0 1 0 1
  • 40. Rede Perceptron Simples  Exemplo x1 (Fósforo - mg) x2 (Acidez - mg) x3 (Cálcio - mg) Classe (1 = tangerina) (-1 = laranja) 0,1 0,4 0,7 1 0,5 0,7 0,1 1 0,6 0,9 0,8 -1 0,3 0,7 0,2 -1
  • 41. Rede Perceptron Simples  Exemplo 𝑑(1) = 1 w = 0,34 −0,23 0,94 0,05 𝑑(2) = 1 𝑑(3) = −1 𝑑(4) = −1 𝑥(1) = −1 0,1 0,4 0,7 𝑥(2) = −1 0,5 0,7 0,1 𝑥(3) = −1 0,6 0,9 0,8 𝑥(4) = −1 0,3 0,7 0,2 η = 0,05
  • 42. Rede Perceptron Simples  Exemplo - Ajuste dos pesos w = 0,34 −0,23 0,94 0,05 + 0,05 1 − 1 −1 0,6 0,9 0,8 𝑤 = 𝑤 + η ∗ 𝑑 𝑘 − 𝑦 ∗ 𝑥 𝑘
  • 43. Rede Perceptron Simples  Exemplo - Pesos ajustados y = 1 ∑ x0 x1 x2 x3 w0 = -0,241 w1 = 0,680 w2 = -0,778 w3 = 0,015 0,1 0,4 0,7 𝑢 = 𝑤𝑖 ∗ 𝑥𝑖 = 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑤3 𝑥3 + 𝑤4 𝑥4 𝑛 𝑖=0 𝑢 = −1 −0,241 + 0,1 0,680 + 0,4 −0,778 + 0,7 0,015 𝑢 = 0,0083 g(u) yu = 0,0083u g(0,0083)
  • 44. Rede Adaline  Ajustado pelo método dos Mínimos Quadrados dos Erros (LMS – least mean square)  Essência da regra Delta (ajuste de pesos de redes múltiplas camadas)
  • 45. Rede Multiplas Camadas  Usa regra delta generalizada ou método gradiente descendente.
  • 46. Etapas para desenvolver uma aplicação de RNA  Coleta de dados  Separação em conjuntos  Configuração da rede  Treinamento da rede  Testes da rede
  • 47. A biblioteca Encog “O Encog é um framework da Inteligência Artificial para Java que suporta não só redes neurais como outras áreas da IA. É uma estrutura de aprendizagem de máquina avançada que suporta uma variedade de algoritmos avançados, bem como métodos de apoio para normalizar e processar dados. Algoritmos de aprendizagem de máquina, como Support Vector Machines, Redes Neurais Artificiais, redes Bayesianas e algoritmos genéticos são suportados.” [Heaton 2011]
  • 48. Instalação  Para instalar é necessário baixar a última versão do Encog no seguinte link: http://www.heatonresearch.com/encog/  Depois é só extrair os seguintes arquivos em um local desejado e incluir o caminho das bibliotecas ao usar uma IDE. The Encog Core The Encog Examples The Encog Workbench
  • 49. Elementos básicos de construção da rede neural no Encog  O Encog está estruturado em camadas, sinapses, propriedades, classe lógica neural e funções de ativação.
  • 50. Elementos básicos de construção da rede neural no Encog  Camada de entrada: MLData – Interface usada para definir que classes mantém esses arrays de dados de entrada. O array pode ser convertido em um objeto MLData, através do seguinte código: MLData data = new BasicMLData (input);
  • 51. Elementos básicos de construção da rede neural no Encog  Camada de entrada: - A classe BasicMLData implementa a interface MLData. - Existem outras classes que implementam o MLData para diferentes tipos de entrada de dados.  Camada de saída: - Utiliza a mesma estrutura da camada de entrada, um array BasicMLData.
  • 52. Elementos básicos de construção da rede neural no Encog  Configuração da rede: - A classe BasicNetwork implementa uma rede neural. - Implementa as interfaces MLProperties e MLMethod que definem o tipo de aprendizado de máquina e suas propriedades.
  • 53. Elementos básicos de construção da rede neural no Encog  Configuração da rede: - A classe BasicLayer implementa as funcionalidades básicas das camadas. - Implementa a interface Layer que define todos os métodos necessários a uma camada.
  • 54. Elementos básicos de construção da rede neural no Encog  Treinamento da rede: - A classe MLDataSet e BasicMLDataSet configuram as entradas e saídas ideais da rede. MLDataSet trainingSet = new BasicMLDataSet(input, ideal);
  • 55. Elementos básicos de construção da rede neural no Encog  Treinamento da rede: - Os métodos de treinamento podem ser utilizados através da interface MLTrain, aqui todos os métodos de treinamento implementam essa interface.
  • 56. Elementos básicos de construção da rede neural no Encog  Treinamento da rede: - Backpropagation - ResilientPropagation - ManhattanPropagation - QuickPropagation - ScaledConjugateGradient - LevenbergMarquardtTraining
  • 57. Elementos básicos de construção da rede neural no Encog  Teste da rede: - O teste da rede ocorre através das classes MLDataPair que recebe os pares de entrada e saída do treinamento e a classe MLData que computa os respectivas saídas da rede, dado somente os dados de entrada e a rede treinada.
  • 58. Implementação do BackPropagation - Problema do XOR  Algoritmo simplicado: 1. Apresentação de um padrão X a rede, a qual fornece a saída; 2. Calculo do erro (diferença entre o valor desejado e a saída) para cada saída; 3. Determinação do erro pela rede associado a derivada parcial do erro quadrático; 4. Ajuste dos pesos de cada elemento; 5. Por fim, um novo padrão é apresentado a rede e o processo é repetido até que ocorra a convergência (erro < tolerância estabelecida) ou o número de interações atinja a um valor máximo estabelecido;
  • 59. Implementação do BackPropagation - Problema do XOR  Definição dos dados:
  • 60. Implementação do BackPropagation - Problema do XOR  Configuração da rede neural
  • 61. Implementação do BackPropagation - Problema do XOR  Treinamento da rede neural
  • 62. Implementação do BackPropagation - Problema do XOR  Teste da rede neural
  • 63. Bibliografia SILVA, I. N.; Redes Neurais Artificiais para engenharia e ciências aplicadas. HEATON, J.; Programming Neural Networks with Encog3 in Java. HAYKIN, S.; Redes Neurais: Princípios e práticas
  • 64. Obrigada pela atenção!  Contato:  rachel.msousanet@gmail.com