introdução às redes neurais artificiais

87
Introdução às Redes 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

Upload: others

Post on 15-Jul-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: Introdução às Redes Neurais Artificiais

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

Page 3: Introdução às Redes Neurais Artificiais

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

Page 4: Introdução às Redes Neurais Artificiais

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

Page 5: Introdução às Redes Neurais Artificiais

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

Page 6: Introdução às Redes Neurais Artificiais

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

Page 7: Introdução às Redes Neurais Artificiais

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

Page 8: Introdução às Redes Neurais Artificiais

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

Page 9: Introdução às Redes Neurais Artificiais

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

Page 10: Introdução às Redes Neurais Artificiais

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

Page 11: Introdução às Redes Neurais Artificiais

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

Page 12: Introdução às Redes Neurais Artificiais

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

Page 13: Introdução às Redes Neurais Artificiais

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

Page 14: Introdução às Redes Neurais Artificiais

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

Page 15: Introdução às Redes Neurais Artificiais

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

Page 16: Introdução às Redes Neurais Artificiais

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

Page 17: Introdução às Redes Neurais Artificiais

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

Page 18: Introdução às Redes Neurais Artificiais

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

Page 19: Introdução às Redes Neurais Artificiais

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

Page 20: Introdução às Redes Neurais Artificiais

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

Page 21: Introdução às Redes Neurais Artificiais

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

Page 22: Introdução às Redes Neurais Artificiais

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

Page 23: Introdução às Redes Neurais Artificiais

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

Page 24: Introdução às Redes Neurais Artificiais

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

Page 25: Introdução às Redes Neurais Artificiais

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

Page 26: Introdução às Redes Neurais Artificiais

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

Page 27: Introdução às Redes Neurais Artificiais

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

Page 28: Introdução às Redes Neurais Artificiais

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

Page 29: Introdução às Redes Neurais Artificiais

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

Page 30: Introdução às Redes Neurais Artificiais

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

Page 31: Introdução às Redes Neurais Artificiais

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

Page 32: Introdução às Redes Neurais Artificiais

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

Page 33: Introdução às Redes Neurais Artificiais

Exemplo 2

Prof. João Marcos Meirelles da Silva – p. 33/60

Page 34: Introdução às Redes Neurais Artificiais

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

Page 35: Introdução às Redes Neurais Artificiais

Exemplo 2

Prof. João Marcos Meirelles da Silva – p. 35/60

Page 36: Introdução às Redes Neurais Artificiais

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

Page 37: Introdução às Redes Neurais Artificiais

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

Page 38: Introdução às Redes Neurais Artificiais

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

Page 39: Introdução às Redes Neurais Artificiais

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

Page 40: Introdução às Redes Neurais Artificiais

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

Page 41: Introdução às Redes Neurais Artificiais

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

Page 42: Introdução às Redes Neurais Artificiais

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

Page 43: Introdução às Redes Neurais Artificiais

Overtraining

Prof. João Marcos Meirelles da Silva – p. 40/60

Page 44: Introdução às Redes Neurais Artificiais

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

Page 45: Introdução às Redes Neurais Artificiais

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

Page 46: Introdução às Redes Neurais Artificiais

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

Page 47: Introdução às Redes Neurais Artificiais

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

Page 48: Introdução às Redes Neurais Artificiais

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

Page 49: Introdução às Redes Neurais Artificiais

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

Page 50: Introdução às Redes Neurais Artificiais

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

Page 51: Introdução às Redes Neurais Artificiais

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

Page 52: Introdução às Redes Neurais Artificiais

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

Page 53: Introdução às Redes Neurais Artificiais

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

Page 54: Introdução às Redes Neurais Artificiais

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

Page 55: Introdução às Redes Neurais Artificiais

Parada Prematura

Prof. João Marcos Meirelles da Silva – p. 44/60

Page 56: Introdução às Redes Neurais Artificiais

Regularização

• Outra forma de evitar o overtraining e melhorar a generalização

Prof. João Marcos Meirelles da Silva – p. 45/60

Page 57: Introdução às Redes Neurais Artificiais

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

Page 58: Introdução às Redes Neurais Artificiais

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

Page 59: Introdução às Redes Neurais Artificiais

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

Page 60: Introdução às Redes Neurais Artificiais

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

Page 61: Introdução às Redes Neurais Artificiais

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

Page 62: Introdução às Redes Neurais Artificiais

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

Page 63: Introdução às Redes Neurais Artificiais

Convergência Prematura

• Problema de Mínimos Locais;

Prof. João Marcos Meirelles da Silva – p. 48/60

Page 64: Introdução às Redes Neurais Artificiais

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

Page 65: Introdução às Redes Neurais Artificiais

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

Page 66: Introdução às Redes Neurais Artificiais

Como Evitar a Paralisia?

• Utilizar uma “grande” quantidade de dados para treinamento;

Prof. João Marcos Meirelles da Silva – p. 49/60

Page 67: Introdução às Redes Neurais Artificiais

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

Page 68: Introdução às Redes Neurais Artificiais

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

Page 69: Introdução às Redes Neurais Artificiais

Melhorias de Desempenho

Prof. João Marcos Meirelles da Silva – p. 50/60

Page 70: Introdução às Redes Neurais Artificiais

Melhorias de Desempenho

• Atualização sequencial versus batelada;

Prof. João Marcos Meirelles da Silva – p. 50/60

Page 71: Introdução às Redes Neurais Artificiais

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

Page 72: Introdução às Redes Neurais Artificiais

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

Page 73: Introdução às Redes Neurais Artificiais

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

Page 74: Introdução às Redes Neurais Artificiais

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

Page 75: Introdução às Redes Neurais Artificiais

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

Page 76: Introdução às Redes Neurais Artificiais

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

Page 77: Introdução às Redes Neurais Artificiais

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

Page 78: Introdução às Redes Neurais Artificiais

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

Page 79: Introdução às Redes Neurais Artificiais

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

Page 80: Introdução às Redes Neurais Artificiais

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

Page 81: Introdução às Redes Neurais Artificiais

Exemplo 4

• Compressão de Imagens

Prof. João Marcos Meirelles da Silva – p. 54/60

Page 82: Introdução às Redes Neurais Artificiais

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

Page 83: Introdução às Redes Neurais Artificiais

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

Page 84: Introdução às Redes Neurais Artificiais

Exemplo 4

Prof. João Marcos Meirelles da Silva – p. 57/60

Page 85: Introdução às Redes Neurais Artificiais

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

Page 86: Introdução às Redes Neurais Artificiais

FIM

Prof. João Marcos Meirelles da Silva – p. 59/60

Page 87: Introdução às Redes Neurais Artificiais

FIM

Prof. João Marcos Meirelles da Silva – p. 60/60