Introdução às Redes Neurais Artificiais
Transcript of Introdução às Redes Neurais Artificiais
Introdução àsRedes Neurais Artificiais
Perceptrons de Múltiplas Camadas II
Prof. João Marcos Meirelles da Silva
www.professores.uff.br/jmarcos
Departamento de Engenharia de Telecomunicações
Escola de Engenharia
Universidade Federal Fluminense
Prof. João Marcos Meirelles da Silva – p. 1/60
Créditos autorais
Este curso e estes slides são parcialmente adaptados da bibliografiacitada e das aulas do professor Luiz Pereira Calôba - COPPE/UFRJ
www.lps.ufrj.br
Prof. João Marcos Meirelles da Silva – p. 2/60
Sumário
• Taxa de Aprendizado
• Momento
• Backpropagation
• Modos de Treinamento
• Critérios de Parada
• Resumo do Algoritmo BP
• Exemplo: O problema da porta lógica XOR
• Problemas no Treinamento
Prof. João Marcos Meirelles da Silva – p. 3/60
Sumário
• Regularização
• Melhorias de Desempenho
• Exemplo: Classificação
• Exemplo: Compressão de Imagens
Prof. João Marcos Meirelles da Silva – p. 4/60
Taxa de Aprendizado
• Quanto menor η, menor será a modificação nos pesos dassinapses e mais suave será a trajetória no espaço de busca doproblema → treinamento mais demorado e tendência a umamaior acurácia da rede;
• Quanto maior η, maior será a modificação nos pesos dassinapses → treinamento mais rápido e tendência à instabilidade.
⇒ Uma forma de aumentar a taxa de aprendizado e evitar o perigo deinstabilidade é a chamada Regra Delta Generalizada.
Prof. João Marcos Meirelles da Silva – p. 5/60
Momento
∆wji(n) = α∆wji(n − 1) + ηδj(n)yi(n) (1)
onde α > 0 é chamada de constante de momento. Se α = 0, então aequação (1) reduz-se à Regra Delta já conhecida.
Prof. João Marcos Meirelles da Silva – p. 6/60
Back-Propagation Algorithm
Vamos reescrever a equação (1) como uma série temporal de índice t.O índice t varia do instante inicial 0 até o instante corrente n.
∆wji(n) = ηn
∑
t=0
αn−tδj(t)yi(t) (2)
Relembrando que
δj(n)yi(n) = −∂E(n)
∂wi(n)(3)
Prof. João Marcos Meirelles da Silva – p. 7/60
Back-Propagation Algorithm
podemos reescrever a equação (2) em sua forma equivalente:
∆wji(n) = −η
n∑
t=0
αn−t ∂E(n)
∂w(jit)
(4)
• ∆wji(n) representa um somatório de uma série temporalponderada exponencialmente. Para que a série sejaconvergente → 0 ≤ α < 1;
Prof. João Marcos Meirelles da Silva – p. 8/60
Back-Propagation Algorithm
• Se ∂E(n)/∂wji(n) possui o mesmo sinal algébrico em iteraçõesconsecutivas, ∆wji cresce em magnitude;
• Se ∂E(n)/∂wji(n) possui o sinais algébricos opostos emiterações consecutivas, ∆wji decresce em magnitude;
Prof. João Marcos Meirelles da Silva – p. 9/60
Modos de Treinamento
• Modo Sequencial
• Também conhecido como modo on-line ou modo estocástico;
• A correção das sinapses ∆wji(n) é aplicada a cada padrãoapresentado em cada época;
• Lida bem com padrões redundantes na base de dados;
• Padrões devem ser apresentados à rede de forma aleatória →
melhor forma de explorar o espaço de busca de wji;
• Requer uma quantidade menor de memória quando comparadoao processo em lote (batelada);
Prof. João Marcos Meirelles da Silva – p. 10/60
Modos de Treinamento
• Modo Batelada (Batch Mode)
• A correção das sinapses ∆wji(n) é aplicada ao final de umaépoca:
∆wji = −η
N
N∑
n=1
ej(n)∂ej(n)
∂wji
(5)
• Permite uma estimativa mais acurada do vetor gradiente local;
• Permite uma paralelização mais fácil da rede;
Prof. João Marcos Meirelles da Silva – p. 11/60
Critérios de Parada
• Norma Euclidiana do vetor gradiente menor que um valorespecífico;
• Taxa de alteração em Eavg menor que um valor específico(tipicamente 0,1% a 1%);
• Teste de generalização da rede.
Prof. João Marcos Meirelles da Silva – p. 12/60
Resumo do Algoritmo
Inicialização Pesos das sinapses e thresholds a partir de umadistribuição uniforme de média zero e variância de forma que odesvio padrão de vj(t) esteja na região linear de φj(vj(t));
Padrões de treinamento Apresentar todos os padrões xi à rede deforma aleatória, formando uma época;
Prof. João Marcos Meirelles da Silva – p. 13/60
Resumo do Algoritmo
Propagação da Entrada Calcular o campo de indução local (v(l)j (n))
para todos os neurônios, camada a camada. O campo deindução local (v(l)
j (n)) para o neurônio j da camada l é dado por:
v(l)j (n) =
m0∑
i=0
w(l)ji (n)y
(l−1)i (n) (6)
onde y(l−1)i é o sinal de saída do neurônio i da camada anterior
(l − 1) na iteração n, e w(l)ji (n) é o peso da sinapse do neurônio j
da camada l oriunda da saída do neurônio i.
Prof. João Marcos Meirelles da Silva – p. 14/60
Resumo do Algoritmo
Para i = 0, temos y(l−1)0 (n) = +1 e w
(l)j0 (n) = b
(l)j (n) é o bias aplicado
ao neurônio j na camada l.
Calculando o erro
ej(n) = dj(n) − yj(n) (7)
onde dj(n) é o j-ésimo elemento da vetor de saídas desejadas d(n).
Prof. João Marcos Meirelles da Silva – p. 15/60
Resumo do Algoritmo
Retropropagação Calcule os gradientes locais δs:• Para o neurônio j da camada de saída L
δ(l)j (n) = e
(L)j (n)φ
′
j(v(L)j (n)) (8)
• Para o neurônio j da camada escondida l
δ(l)j (n) = φ
′
j(v(l)j (n))
∑
k
δ(l+1)k (n)w
(l+1)kj (n) (9)
e modifique as sinapses de acordo com:
w(l)ji (n + 1) = w
(l)ji (n) + ηδ
(l)j (n)y
(l−1)i (n) (10)
Prof. João Marcos Meirelles da Silva – p. 16/60
Resumo do Algoritmo
Iteração Apresenta à rede tantas épocas de treinamento quantoforem necessárias até que o critério de parada seja atingido,como por exemplo:
Eavg =1
N
N∑
n=1
E(n) ≤ 0.1 (11)
⇒ ver equações (2) e (3) da aula 4 !
Prof. João Marcos Meirelles da Silva – p. 17/60
Exemplo 1
Seja a rede mostrada abaixo:
Figura 1: Rede Multilayer Perceptron 3-2-3 como exemplo.
Prof. João Marcos Meirelles da Silva – p. 18/60
Exemplo 1
Para a fase feedfoward e camada escondida, temos que:
v(1)1 = w
(1)10 + w
(1)11 x1 + w
(1)12 x2 + w
(1)13 x3
v(1)2 = w
(1)20 + w
(1)21 x1 + w
(1)22 x2 + w
(1)23 x3
Em notação matricial:
v(1)1
v(1)2
=
w(1)10 w
(1)11 w
(1)12 w
(1)13
w(1)20 w
(1)21 w
(1)22 w
(1)23
+1
x1
x2
x3
(12)
Prof. João Marcos Meirelles da Silva – p. 19/60
Exemplo 1
Logo:
v(1) = W(1)xb, (13)
onde v(1) ∈ R2×1, W
(1) ∈ R2×4 e xb = [+1 x]T ∈ R
4×1.
A saída da camada intermediária é dada por:
o = tanh(v(1)) (14)
onde o ∈ R2×1.
Prof. João Marcos Meirelles da Silva – p. 20/60
Exemplo 1
Para a camada de saída,temos:
v(2)1 = w
(2)10 + w
(2)11 o1 + w
(2)12 o2
v(2)2 = w
(2)20 + w
(2)21 o1 + w
(2)22 o2
v(2)3 = w
(2)30 + w
(2)31 o1 + w
(2)32 o2
Em notação matricial:
v(2)1
v(2)2
v(2)3
=
w(2)10 w
(2)11 w
(2)12
w(2)20 w
(2)21 w
(2)22
w(2)30 w
(2)31 w
(2)32
+1
o1
o2
(15)
Prof. João Marcos Meirelles da Silva – p. 21/60
Exemplo 1
Logo:
v(2) = W(2)ob, (16)
onde v(2) ∈ R3×1, W
(2) ∈ R3×3 e ob = [+1 o]T ∈ R
3×1.
A saída da camada intermediária é dada por:
y = tanh(v(2)) (17)
onde y ∈ R3×1
Prof. João Marcos Meirelles da Silva – p. 22/60
Exemplo 1
Calculando os erros, temos:
e1 = d1 − y1
e2 = d2 − y2
e3 = d3 − y3
No caso desse exemplo (rede autoassociativa), temos que d , x. Naforma matricial:
e = x − y, e ∈ R3×1 (18)
Prof. João Marcos Meirelles da Silva – p. 23/60
Exemplo 1
Agora, vamos retropropagar os erros. Vamos inicialmente calcular osgradientes (camada de saída):
δ(2)1 = e1(1 − y1)(1 + y1) = e1(1 − y2
1)
δ(2)2 = e2(1 − y2)(1 + y2) = e2(1 − y2
2)
δ(2)3 = e3(1 − y3)(1 + y3) = e3(1 − y2
3)
Na forma matricial:
δ(2) = diag(e)[1 − diag(y)y], δ(2) ∈ R2×1 (19)
⇒ No Matlab: delta2 = e. ∗ (1 − y.∧2);
Prof. João Marcos Meirelles da Silva – p. 24/60
Exemplo 1
Para a camada escondida, temos:
vδ = W(2)T
δ(2) (20)
onde vδ ∈ R2×1, W
(2)T
∈ R3×3 e δ(2) ∈ R
3×1.
Calculando os gradientes da camada 1 de forma escalar:
δ(1)1 = (1 − o2
1)vδ(1)
δ(1)2 = (1 − o2
2)vδ(2)
Prof. João Marcos Meirelles da Silva – p. 25/60
Exemplo 1
Em notação matricial:
δ(1) = diag[1 − diag(o)o]vδ (21)
Agora que temos os gradientes da camada (1) e (2), podemosproceder com a atualização dos pesos: W
(1) e W(2)
W(1) = W
(1) + η.δ(1)xb
W(2) = W
(2) + η.δ(2)ob
Prof. João Marcos Meirelles da Silva – p. 26/60
Exemplo 1
De forma genérica, para uma rede MLP m-N-L, temos:
m Número de neurônios da camada de entrada;
N Número de neurônios da camada escondida ou intermediária;
L Número de neurônios da camada de saída;
x Vetor de entrada. x ∈ Rm×1;
xb Vetor de entrada com bias. xb = [+1 x]T ;
o Vetor de saída da camada escondida. o ∈ RN×1.
o = [tanh(v(1)1 ), tanh(v
(1)2 ), . . . , tanh(v
(1)N )]T ;
ob Vetor de entrada da camada de saída. ob = [+1 o]T ;
Prof. João Marcos Meirelles da Silva – p. 27/60
Exemplo 1
W(1) Matriz de pesos da camada escondida
W(1) =
w(1)10 w
(1)11 . . . w
(1)1m
......
. . ....
w(1)N0 w
(1)N1 . . . w
(1)Nm
, W(1) ∈ R
N×(m+1)
W(2) Matriz de pesos da camada de saída
W(2) =
w(2)10 w
(2)11 . . . w
(2)1N
......
. . ....
w(2)L0 w
(2)L1 . . . w
(2)LN
, W(2) ∈ R
L×(N+1)
Prof. João Marcos Meirelles da Silva – p. 28/60
Exemplo 1
• Propagação
v(1) = W(1)xb (22)
o = tanh(v(1)) (23)
v(2) = W(2)ob (24)
y = tanh(v(2)) (25)
• Cálculo do Erro
e = d − y, e ∈ RL×1 (26)
Prof. João Marcos Meirelles da Silva – p. 29/60
Exemplo 1
• Retropropagação
δ(2) = diag(e)[1 − diag(y)y], δ(2) ∈ RL×1 (27)
vδ = W(2)T
δ(2), vδ ∈ R(N+1)×1 (28)
δ(1) = diag[1 − diag(y)y]vδ, δ(2) ∈ RL×1 (29)
• Atualização dos Pesos
W(1) = W
(1) + η.diag(δ(1))xb (30)
W(2) = W
(2) + η.diag(δ(2))ob (31)
Prof. João Marcos Meirelles da Silva – p. 30/60
Exemplo 2
• O problema da porta lógica XORVamos considerar o problema da função lógica XOR (Ou Exclusivo),que é um problema não linearmente separável.
Cor vermelha → classe C0
Cor verde → classe C1
Prof. João Marcos Meirelles da Silva – p. 31/60
Exemplo 2
• O problema não pode ser resolvido através de uma rede neuralde camada única;
• Mas pode ser resolvido através utilizando-se uma camadaescondida com dois neurônios.
Vamos assumir que:
• Cada neurônio é representado pelo modelo de McCulloch-Pitts,com um threshold na função de ativação;
• Os valores “0” e “1” serão representados de forma binária: 0 e+1, respectivamente.
Prof. João Marcos Meirelles da Silva – p. 32/60
Exemplo 2
Prof. João Marcos Meirelles da Silva – p. 33/60
Exemplo 2
• Neurônio 1
v1 = x1w11 + x2w12 + b1 = x1 + x2 − 1, 5 (32)
• Neurônio 2
v2 = x1w21 + x2w22 + b2 = x1 + x2 − 0, 5 (33)
• Neurônio 3
v3 = y1w31 + y2w32 + b3 = −2y1 + y2 − 0, 5 (34)
Prof. João Marcos Meirelles da Silva – p. 34/60
Exemplo 2
Prof. João Marcos Meirelles da Silva – p. 35/60
Exemplo 2
% xor_backprop.m
% Rede Feedfoward para o problema da função lógica XOR
% treinamento back-propagation
clear all
close all
clc
disp(’Criando os padrões de entrada x...’)
x = [0 0; 0 1; 1 0; 1 1]’
pause(1);
disp(’Criando as saídas desejadas (targets)y...’)
y = [0 1 1 0]Prof. João Marcos Meirelles da Silva – p. 36/60
Exemplo 2
pause(1); disp(’Criando rede com 2 unidades na camada escon dida.’)
% 2 Neurônios na camada escondida.
nnet = newff(x,y,2,{’tansig’,’tansig’});
pause(1);
disp(’Treinando a rede...’)
nnet = train(nnet, x, y);
disp(’Testanto os padrões’)
sim(nnet,[0 0; 0 1; 1 0; 1 1]’)
Prof. João Marcos Meirelles da Silva – p. 37/60
Problemas no Treinamento
Problemas usuais nas redes feedfoward multicamadas treinadasatravés do algoritmo back-propagation:
• Overtraining (ou overfitting)
Prof. João Marcos Meirelles da Silva – p. 38/60
Problemas no Treinamento
Problemas usuais nas redes feedfoward multicamadas treinadasatravés do algoritmo back-propagation:
• Overtraining (ou overfitting)
• Convergência prematura
Prof. João Marcos Meirelles da Silva – p. 38/60
Overtraining
• O erro sobre o conjunto de treinamento torna-se bem pequeno,mas quando novos dados são apresentados à rede, ela nãoreconhece ⇒ Problemas de generalização;
Prof. João Marcos Meirelles da Silva – p. 39/60
Overtraining
• O erro sobre o conjunto de treinamento torna-se bem pequeno,mas quando novos dados são apresentados à rede, ela nãoreconhece ⇒ Problemas de generalização;
• A rede “memorizou” os dados do conjunto de treinamento, masnão consegue generalizar em novas situações;
Prof. João Marcos Meirelles da Silva – p. 39/60
Overtraining
• O erro sobre o conjunto de treinamento torna-se bem pequeno,mas quando novos dados são apresentados à rede, ela nãoreconhece ⇒ Problemas de generalização;
• A rede “memorizou” os dados do conjunto de treinamento, masnão consegue generalizar em novas situações;
• Ocorre devido à capacidade da rede “ajustar” uma função sobredados contaminados com ruído (o que é natural em aplicaçõesreais);
Prof. João Marcos Meirelles da Silva – p. 39/60
Overtraining
Prof. João Marcos Meirelles da Silva – p. 40/60
Overtraining
Como evitar o overtraining e melhorar a generalização?
• Utilizar redes “suficientemente” pequenas → Demonstração:nnd11gn.ma
aNove neurônios na camada escondida e difficult index = 1.
Prof. João Marcos Meirelles da Silva – p. 41/60
Overtraining
Como evitar o overtraining e melhorar a generalização?
• Utilizar redes “suficientemente” pequenas → Demonstração:nnd11gn.ma
• Parada Prematura
aNove neurônios na camada escondida e difficult index = 1.
Prof. João Marcos Meirelles da Silva – p. 41/60
Overtraining
Como evitar o overtraining e melhorar a generalização?
• Utilizar redes “suficientemente” pequenas → Demonstração:nnd11gn.ma
• Parada Prematura
• Regularização
aNove neurônios na camada escondida e difficult index = 1.
Prof. João Marcos Meirelles da Silva – p. 41/60
Tamanho da Rede
• Em geral, uma única camada escondida é suficiente paraaproximar qualquer função. No entanto, em algumas situações,uma segunda camada escondida pode facilitar o treinamento;
Prof. João Marcos Meirelles da Silva – p. 42/60
Tamanho da Rede
• Em geral, uma única camada escondida é suficiente paraaproximar qualquer função. No entanto, em algumas situações,uma segunda camada escondida pode facilitar o treinamento;
• Mas quantos neurônios devemos dispor na camada escondida?
Prof. João Marcos Meirelles da Silva – p. 42/60
Tamanho da Rede
• Em geral, uma única camada escondida é suficiente paraaproximar qualquer função. No entanto, em algumas situações,uma segunda camada escondida pode facilitar o treinamento;
• Mas quantos neurônios devemos dispor na camada escondida?
Tentativa e Erro !
Prof. João Marcos Meirelles da Silva – p. 42/60
Tamanho da Rede
• Em geral, uma única camada escondida é suficiente paraaproximar qualquer função. No entanto, em algumas situações,uma segunda camada escondida pode facilitar o treinamento;
• Mas quantos neurônios devemos dispor na camada escondida?
Tentativa e Erro !
⇒ “Network Growing” × “Network Pruning”
Prof. João Marcos Meirelles da Silva – p. 42/60
Parada Prematura
• Validação Cruzada: Nesta técnica, o conjunto de dados édidivido em 3 sub-conjuntos:• Treinamento• Validação• Teste
Prof. João Marcos Meirelles da Silva – p. 43/60
Parada Prematura
• Validação Cruzada: Nesta técnica, o conjunto de dados édidivido em 3 sub-conjuntos:• Treinamento• Validação• Teste
⇒ Treinamento (60%): Cálculo dos gradientes, pesos e bias.
Prof. João Marcos Meirelles da Silva – p. 43/60
Parada Prematura
• Validação Cruzada: Nesta técnica, o conjunto de dados édidivido em 3 sub-conjuntos:• Treinamento• Validação• Teste
⇒ Treinamento (60%): Cálculo dos gradientes, pesos e bias.⇒ Validação (20%): O erro sobre este conjunto é monitorado.
Prof. João Marcos Meirelles da Silva – p. 43/60
Parada Prematura
• Validação Cruzada: Nesta técnica, o conjunto de dados édidivido em 3 sub-conjuntos:• Treinamento• Validação• Teste
⇒ Treinamento (60%): Cálculo dos gradientes, pesos e bias.⇒ Validação (20%): O erro sobre este conjunto é monitorado.⇒ Teste (20%): Usado para comparar diferentes “modelos” de redes(conjunto de controle).
Prof. João Marcos Meirelles da Silva – p. 43/60
Parada Prematura
Prof. João Marcos Meirelles da Silva – p. 44/60
Regularização
• Outra forma de evitar o overtraining e melhorar a generalização
Prof. João Marcos Meirelles da Silva – p. 45/60
Regularização
• Outra forma de evitar o overtraining e melhorar a generalização
• Envolve a modificação da função custo, a qual geralmente é asoma dos quadrados do erro da rede sobre o conjunto detreinamento
Prof. João Marcos Meirelles da Silva – p. 45/60
Regularização
• Outra forma de evitar o overtraining e melhorar a generalização
• Envolve a modificação da função custo, a qual geralmente é asoma dos quadrados do erro da rede sobre o conjunto detreinamento
A função custo utilizada para o aprendizado no algoritmoback-propagation normalmente é dada por:
Eavg = mse =1
N
N∑
j=1
e2j (37)
Prof. João Marcos Meirelles da Silva – p. 45/60
Regularização
É possível melhorar a capacidade de generalização da redemodificando a função de custo utilizada, adicionando-se um termo queconsiste na média da soma dos quadrados dos pesos e dos bias.
msereg = (γ)mse + (1 − γ)msw (38)
onde
msw =1
n
n∑
j=1
w2j (39)
n é o número de pesos da rede (incluindo os bias).
Prof. João Marcos Meirelles da Silva – p. 46/60
Regularização
• Utilizando esta nova função custo, a rede passa a treinar comvalores de pesos e bias menores → respostas mais suáveis emenos propensas a cyanovertraining
Prof. João Marcos Meirelles da Silva – p. 47/60
Regularização
• Utilizando esta nova função custo, a rede passa a treinar comvalores de pesos e bias menores → respostas mais suáveis emenos propensas a cyanovertraining
• Dificuldade em determinar um valor ótimo para γ:• Se γ ≈ 0 → a rede não aprende• Se γ ≈ 1 → overtraining
Prof. João Marcos Meirelles da Silva – p. 47/60
Regularização
• Utilizando esta nova função custo, a rede passa a treinar comvalores de pesos e bias menores → respostas mais suáveis emenos propensas a cyanovertraining
• Dificuldade em determinar um valor ótimo para γ:• Se γ ≈ 0 → a rede não aprende• Se γ ≈ 1 → overtraining
Demonstração: Exemplo_Reg.m
Prof. João Marcos Meirelles da Silva – p. 47/60
Convergência Prematura
• Problema de Mínimos Locais;
Prof. João Marcos Meirelles da Silva – p. 48/60
Convergência Prematura
• Problema de Mínimos Locais;
• A rede opera com um desempenho, muitas vezes, inadequado;
Prof. João Marcos Meirelles da Silva – p. 48/60
Convergência Prematura
• Problema de Mínimos Locais;
• A rede opera com um desempenho, muitas vezes, inadequado;
• Como comparar as diversas soluções possíveis → somente viaobservação do erro;
Prof. João Marcos Meirelles da Silva – p. 48/60
Como Evitar a Paralisia?
• Utilizar uma “grande” quantidade de dados para treinamento;
Prof. João Marcos Meirelles da Silva – p. 49/60
Como Evitar a Paralisia?
• Utilizar uma “grande” quantidade de dados para treinamento;
• Acompanhar a evolução do erro durante o treinamento (métododa validação cruzada);
Prof. João Marcos Meirelles da Silva – p. 49/60
Como Evitar a Paralisia?
• Utilizar uma “grande” quantidade de dados para treinamento;
• Acompanhar a evolução do erro durante o treinamento (métododa validação cruzada);
• Executar o treinamento diversas vezes e optar pelos pesos queresultaram no menor erro encontrado.
Prof. João Marcos Meirelles da Silva – p. 49/60
Melhorias de Desempenho
Prof. João Marcos Meirelles da Silva – p. 50/60
Melhorias de Desempenho
• Atualização sequencial versus batelada;
Prof. João Marcos Meirelles da Silva – p. 50/60
Melhorias de Desempenho
• Atualização sequencial versus batelada;
• Maximizando o conteúdo de informação;
Prof. João Marcos Meirelles da Silva – p. 50/60
Melhorias de Desempenho
• Atualização sequencial versus batelada;
• Maximizando o conteúdo de informação;
• Função de ativação;
Prof. João Marcos Meirelles da Silva – p. 50/60
Melhorias de Desempenho
• Atualização sequencial versus batelada;
• Maximizando o conteúdo de informação;
• Função de ativação;
• Valores de saída desejada;
Prof. João Marcos Meirelles da Silva – p. 50/60
Melhorias de Desempenho
• Atualização sequencial versus batelada;
• Maximizando o conteúdo de informação;
• Função de ativação;
• Valores de saída desejada;
• Normalização das entradas;
Prof. João Marcos Meirelles da Silva – p. 50/60
Melhorias de Desempenho
• Atualização sequencial versus batelada;
• Maximizando o conteúdo de informação;
• Função de ativação;
• Valores de saída desejada;
• Normalização das entradas;
• Inicialização;
Prof. João Marcos Meirelles da Silva – p. 50/60
Melhorias de Desempenho
• Atualização sequencial versus batelada;
• Maximizando o conteúdo de informação;
• Função de ativação;
• Valores de saída desejada;
• Normalização das entradas;
• Inicialização;
• Aprendizado a partir de “dicas”;
Prof. João Marcos Meirelles da Silva – p. 50/60
Melhorias de Desempenho
• Atualização sequencial versus batelada;
• Maximizando o conteúdo de informação;
• Função de ativação;
• Valores de saída desejada;
• Normalização das entradas;
• Inicialização;
• Aprendizado a partir de “dicas”;
• Taxas de aprendizado;
Prof. João Marcos Meirelles da Silva – p. 50/60
Exemplo 3
O objetivo deste exemplo é o distinguir entre duas classes C1 e C2,bidimensionais, Gaussianas e parcialmente sobrepostas. Podemosexpressar as PDFs condicionais para as duas classes como:
Classe C1 : fx(x|C1) =1
2πσ21
exp
(
−1
2σ21
||x − µ1||2
)
Classe C2 : fx(x|C2) =1
2πσ22
exp
(
−1
2σ22
||x − µ2||2
)
onde µ1
= [0, 0]T e µ2
= [2, 0]T são os vetores média, e σ21 = 1 e
σ22 = 4 são as variâncias. As duas classes são assumidas como sendo
equiprováveis, logo, p1 = p2 = 0.5.
Prof. João Marcos Meirelles da Silva – p. 51/60
Exemplo 3
• Função densidade de Probabilidade para as classes C1 e C2
−10
−5
0
5
10
−10
−5
0
5
100
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
x1
PDF da Classe C1
x2 −10
−5
0
5
10
−10
−5
0
5
100
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
x1
PDF da Classe C2
x2
Prof. João Marcos Meirelles da Silva – p. 52/60
Exemplo 3
• Base de Dados Rotulada (ClassesC1eC2.m)
−5 0 5 10−6
−4
−2
0
2
4
6
8
x1
x2
Base de Dados Rotulada
C1C2
⇒ No Matlab, digite: load ClassesC1eC2.mat.
Prof. João Marcos Meirelles da Silva – p. 53/60
Exemplo 4
• Compressão de Imagens
Prof. João Marcos Meirelles da Silva – p. 54/60
Exemplo 4
• Entrada: Padrões de A até J formados por 63 pixeis (7x9)
• Sabe-se que um conjunto de N padrões ortogonais podem sermapeados em log2 N neurônios na camada escondida
• Como os padrões neste exemplo não são ortogonais, estarelação pode ser tomada como um valor mínimo:
log2 63 = 5, 9773 ≈ 6
⇒ A rede deverá ser, no mínimo, do tipo 63-6-63.
Prof. João Marcos Meirelles da Silva – p. 55/60
Exemplo 4
• A camada de saída só é útil para a fase de treinamento;
• A “nova” saída da rede, durante a fase de operação, é a saídada camada escondida (padrão comprimido). É este novo padrão(retirado da camada escondida) que será transmitido;
• O receptor deverá possuir um rede neural de uma única camadacom 63 neurônios e cujos pesos de entrada deverão ser iguaisaos pesos da camada de saída da rede onde os padrões forem“aprendidos”.
Prof. João Marcos Meirelles da Silva – p. 56/60
Exemplo 4
Prof. João Marcos Meirelles da Silva – p. 57/60
Referências
1. Haykin, S., “Neural Networks - A Comprehensive Foundation,”2nd edition - Prentice Hall, 1999.
2. Fausett, L., “Fundamental of Neural Networks - Architectures,Algorithms and Applications,” Prentice Hall, 1994.
3. Theodoris, S., Koutroumbas, K, “Pattern Recognition,” 4th
edition, Academic Press.
Prof. João Marcos Meirelles da Silva – p. 58/60
FIM
Prof. João Marcos Meirelles da Silva – p. 59/60
FIM
Prof. João Marcos Meirelles da Silva – p. 60/60