12
Redes Neurais Prof. Paulo Martins Engel Redes Multicamadas O MLP e o algoritmo Backpropagation Informática UFRGS Prof. Paulo Martins Engel 2 Redes multicamadas e o MLP Problemas não-linearmente separáveis podem ser resolvidos por redes que tenham pelo menos uma camada intermediária (oculta) para transformar o problema (em LS). O MLP (Multilayer Perceptron), ou perceptron multicamadas, utiliza nós com o modelo não-linear de neurônio e apresenta uma topologia com pelo menos 3 camadas: Camada de entrada: com neurônios sensoriais; distribui o vetor de entrada para todos os neurônios da camada oculta; Camada oculta: com neurônios computacionais; realiza um mapeamento intermediário do problema, gerando vetores linearmente separáveis para a camada de saída; Camada de saída: composta de neurônios computacionais; realiza a rotulação das classes ou o mapeamento desejado. Alternativamente, o mapeamento intermediário do problema pode ser realizado por sucessivas camadas ocultas. Qualquer função contínua pode ser aproximada por um MLP de 3 camadas, com um número suficiente de neurônios na camada oculta (aproximador universal). Esta mesma propriedade pode ser provada para redes multicamadas com unidades RBF. Informática UFRGS Prof. Paulo Martins Engel 3 Camada de entrada Camada oculta Camada de saída A topologia do Perceptron de Múltiplas Camadas MLP 1 k M y k (n) w s k1 w s kj w s kL 1 1 N i j L w o j1 w o ji w o jN x 1 (n) x i (n) x N (n) w o j0 x 0 =1 i 0 =1 w s k0 i j (n) : valor de saída do neurônio genérico (j) da camada oculta gerado por x(n). y k (n): valor de saída do neurônio genérico (k) da camada de saída gerado por x(n). d k (n): valor de saída desejado do neurônio k correspondente a x(n). w o ji e w s kj : pesos genéricos da camada oculta e de saída, respectivamente. d k (n) d 1 (n) d M (n) x 1 (n) x i (n) x N (n) i 1 (n) i j (n) i L (n) y 1 (n) y M (n) x(n) Informática UFRGS Prof. Paulo Martins Engel 4 Problema NLS Problema LS com ruído Solução por MLP

Redes Neurais - inf.ufrgs.brengel/data/media/file/cmp121/bp.pdf · O MLP e o algoritmo ... valor de saída desejado do neurônio k correspondente a x(n). wo ji e ws kj: ... (n), são

Embed Size (px)

Citation preview

Redes Neurais

Prof. Paulo Martins Engel

Redes MulticamadasO MLP e o algoritmo Backpropagation

Informática

UFRGS Prof. Paulo Martins Engel

2

Redes multicamadas e o MLP• Problemas não-linearmente separáveis podem ser resolvidos por redes que tenham pelo

menos uma camada intermediária (oculta) para transformar o problema (em LS).• O MLP (Multilayer Perceptron), ou perceptron multicamadas, utiliza nós com o modelo

não-linear de neurônio e apresenta uma topologia com pelo menos 3 camadas:• Camada de entrada: com neurônios sensoriais; distribui o vetor de entrada para todos

os neurônios da camada oculta;• Camada oculta: com neurônios computacionais; realiza um mapeamento intermediário

do problema, gerando vetores linearmente separáveis para a camada de saída;• Camada de saída: composta de neurônios computacionais; realiza a rotulação das

classes ou o mapeamento desejado. • Alternativamente, o mapeamento intermediário do problema pode ser realizado por

sucessivas camadas ocultas.• Qualquer função contínua pode ser aproximada por um MLP de 3 camadas, com um

número suficiente de neurônios na camada oculta (aproximador universal).• Esta mesma propriedade pode ser provada para redes multicamadas com unidades RBF.

Informática

UFRGS Prof. Paulo Martins Engel

3

Camada de entrada

Camadaoculta

Camada de saída

A topologia do Perceptron de Múltiplas Camadas MLP

1

k

M

yk(n)wsk1

wskj

wskL

11

N

i j

L

woj1

woji

wojN

x1(n)

xi(n)

xN(n)

woj0

x0 =1 i0=1

wsk0

ij(n) : valor de saída do neurônio genérico (j) da camada oculta gerado por x(n).yk(n): valor de saída do neurônio genérico (k) da camada de saída gerado por x(n).dk(n): valor de saída desejado do neurônio k correspondente a x(n). wo

ji e wskj : pesos genéricos da camada oculta e de saída, respectivamente.

dk(n)

d1(n)

dM(n)

x1(n)

xi(n)

xN(n)

i1(n)

ij(n)

iL(n)

y1(n)

yM(n)

x(n)

Informática

UFRGS Prof. Paulo Martins Engel

4

Problema NLS

Problema LS com ruído

Solução por MLP

Informática

UFRGS Prof. Paulo Martins Engel

5

• A tabela-verdade da função booleana XOR induz uma partição que não érealizável por meio de uma única reta.

• Assim, este problema é não-linearmente separável e um perceptron elementar não o consegue resolver.

O problema do XOR

x1 x2

−1 −1−1 +1+1 −1+1 +1

−1+1+1−1

x(1)x(2)x(3)x(4)

x1⊕x2

x(1)

x(4)

x(3)

x(2)

Informática

UFRGS Prof. Paulo Martins Engel

6

Solução do problema do XOR por MLPAs funções booleanas XOR e EQV são não-linearmente separáveis e podem ser implementadas por perceptrons de múltiplas camadas, MLP.A solução do problema é equivalente a ajustar os pesos dos neurônios ocultos de modo a corresponder a mapeamentos intermediários em i1 e i2, que tornam o problema linearmente separável para a camada de saída.

x1

x2

x0

x0

y1

23

i0i1

i2

Exemplo de solução possível:x1 x2 d

–1 –1–1 +1+1 –1+1 +1

–1+1+1–1

i1 i2

–1 –1+1 –1–1 +1–1 –1

i1 = ( x1∧ x2)

i2 = (x1∧x2)

y = ( i1∨ i2 )

Equivale à transformação: x1 ⊕ x2 = ( x1 ∧ x2) ∨ (x1 ∧ x2)

Informática

UFRGS Prof. Paulo Martins Engel

7

Representação gráfica da solução do problema do XOR

–1 –1+1 –1–1 +1–1 –1

x1 x2 d–1 –1–1 +1+1 –1+1 +1

–1+1+1–1

i1 i2

x1

x2

−1

(+1,−1)

(+1,+1)(−1,+1)

(−1,−1)

+1

i1 = ( x1∧ x2)

−1

−1

x1

x2

(+1,−1)

(+1,+1)(−1,+1)

(−1,−1)

i2 = (x1∧x2)

−1+1

−1 −1

y = ( i1∨ i2 )

Informática

UFRGS Prof. Paulo Martins Engel

8

Representação gráfica da solução do problema do XOR

–1 –1+1 –1–1 +1–1 –1

x1 x2 d–1 –1–1 +1+1 –1+1 +1

–1+1+1–1

i1 i2

x1

x2

-1 +1

(+1,-1)

(+1,+1)

(-1,+1)

(-1,-1)

+1 -1

i1 = ( x1∧ x2)

i2 = (x1∧x2)

-1 -1

-1 -1

i1

i2

Classe: +1

Classe: –1

(+1,−1)

(+1,+1)(−1,+1)

(−1,−1)

y = ( i1 ∨ i2 )

y = ( i1∨ i2 )

Informática

UFRGS Prof. Paulo Martins Engel

9

Mapeamento de entrada-saída da solução do problema do XOR

–1 –1+1 –1–1 +1–1 –1

x1 x2 d–1 –1–1 +1+1 –1+1 +1

–1+1+1–1

i1 i2

x1 ⊕ x2 = ( x1 ∧ x2) ∨ (x1 ∧ x2)

Informática

UFRGS Prof. Paulo Martins Engel

10

• O processamento de informação em MLPs acontece em duas fases:

• a fase de propagação, onde o sinal de entrada é propagado através de toda a rede, camada por camada, gerando inicialmente os valores de saída dos neurônios da camada oculta, que servem de entrada para a camada de saída, e finalmente, gerando os valores de saída da rede.

• Esta fase é responsável pela atuação da rede e, portanto, ocorre on-line.

• a fase de adaptação, onde ocorrem os ajustes dos pesos da rede. • Nesta fase, o fluxo de informação se dá da camada de saída em direção à camada de

entrada. • As diferenças entre os valores de saída da rede e os valores desejados causam

parcelas individuais de erro para cada neurônio, que são usadas para corrigir os pesos, segundo o algoritmo backpropagation.

• Esta fase é utilizada apenas durante o treinamento da rede, que é realizado off-line, ou seja, sem que a rede atue no ambiente.

O processamento de informação na rede MLP

Informática

UFRGS Prof. Paulo Martins Engel

11

A fase de propagação

• Nesta fase, os sinais de entrada, correspondentes às componentes do vetor de entrada x(n), são propagados pela rede gerando as saídas intermediárias i(n) e as saídas da rede y(n).

x(n)

x1(n)

x2(n)

x0 = 1

x1(n)

x2(n)

i(n)

i0 = 1

i1(n)

i2(n)

i3(n)

wo20

1

2

2

1

3

1

2

wo12

wo21

wo22

wo32

wo31

ws10

ws13

ws24

ws20

wo30

wo10

wo11

ws11

ws12

ws21

ws23

y(n)

y2(n)

y1(n)

Informática

UFRGS Prof. Paulo Martins Engel

12

A fase de propagação• Nesta fase, os sinais de entrada, correspondentes às componentes do vetor de

entrada x(n), são propagados pela rede gerando as saídas intermediárias i(n) e as saídas da rede y(n).

• O potencial de ativação voj(n) e o valor de saída ij(n) de um neurônio genérico (j) da

camada oculta causados pelo vetor de entrada x(n) são calculados por:

yk(n) = f (vsk(n))

vsk(n) = Σ ws

kj · ij(n)j=0

L

voj(n) = Σ wo

ji · xi(n) i=0

N

ij(n) = f (voj(n))

• Analogamente, o potencial de ativação vsk(n) e o valor de saída yk(n) de um neurônio

genérico (k) da camada de saída para a entrada x(n) são calculados por:

Informática

UFRGS Prof. Paulo Martins Engel

13

• Os MLP são treinados pelo algoritmo de retropropagação de erros, que é baseado na regra delta de aprendizado por correção de erro [Paul Werbos 74].

• O algoritmo Backprop pode ser visto como uma generalização do algoritmo LMS desenvolvido para um único neurônio.

• Como existem vários neurônios na camada de saída, deve-se definir a soma instantânea dos quadrados dos erros em cada nó de saída da rede, E(n), quando o n-ésimo vetor de treinamento x(n) é apresentado na entrada da rede:

O algoritmo Backpropagation

e2k (n) = (dk(n) − yk(n) ) 2

Com o erro quadrado instantâneo na unidade k de saída definido por:

ek é o erro numa unidade de saída k, quando o vetor x(n) é propagado pela rede:

ek(n) = dk(n) − yk(n)dk(n) é a saída desejada, correspondente a x(n), e yk(n) é a saída instantânea obtida no neurônio de saída k, pela propagação de x(n).

E(n) = Σ e2k(n)

k=1

M12

Informática

UFRGS Prof. Paulo Martins Engel

14

Atualização dos pesos do MLP

• Assim como no algoritmo LMS, no algoritmo Backprop será usado o erro quadrado instantâneo na saída da rede, E(n), como função de custo a ser minimizada no processo iterativo.

• O desempenho do treinamento é medido pelo erro médio quadrado definido como a média dos erros instantâneos, para todos os P vetores de treinamento:

• As modificações dos pesos acontecem a cada apresentação de um padrão de entrada, x(n), segundo a regra do gradiente descendente (LMS).

• Cada peso é ajustado de acordo com a sua contribuição ao erro, de forma a produzir deslocamentos na direção do gradiente descendente do erro E(n).

• Observando o princípio da mínima perturbação, o erro médio quadrado será minimizado com este procedimento.

• A expressão genérica para ajuste dos pesos pode ser escrita como (regra delta):

EMQ =P

Σ E(n)n=1

1P

w(n+1) = w(n) + η (− ∇ E(n) ) ↔ ∆w(n) = − η ∇ E(n)

Informática

UFRGS Prof. Paulo Martins Engel

15

• Na camada de saída, a expressão para atualização de um peso genérico é análoga à do perceptron elementar, pois aqui um vetor de pesos ws

k (n) é responsável apenas pela parcela de erro correspondente ao seu neurônio k, isto é, ek(n).

Atualização dos pesos da camada de saída do MLP

1

L

i1(n)

i0=1

wsk1

1d1(n)

MiL(n)

x1 (n)

x0 = 1

xN (n) dM(n)

y1(n)wo11

woLN

φ(·)vs

1(n)

yM(n)φ(·)

vsM(n)

φ(·)vo

1(n)

φ(·)vo

L(n)

jij(n) ws

kj k dk(n)xi (n)yk(n)wo

jiφ(·)

vsk(n)

φ(·)vo

j(n)

wskL

wsk0

wsk(n) = [ ws

k0 , wsk1 , ⋅⋅⋅, ws

kj , ⋅⋅⋅, wskL ]T

e2k(n) = ( dk(n) − yk(n) )2 = ( dk(n) − f s(vs

k(n)) )2 = ( dk(n) − fs( i(n)T .wsk(n) ) )2

∑=

=M

kk nenE

1

2 )(21)(

E(n)

Informática

UFRGS Prof. Paulo Martins Engel

16

Cálculo de um termo do gradiente pela regra da cadeia

1

L

i1(n)

i0=1

wsk1

1 d1(n)

MiL(n)

x1 (n)

x0 = 1

xN (n) dM(n)

y1(n)

wo11

woLN

φ(·)vs

1(n)

yM(n)φ(·)

vsM(n)

φ(·)vo

1(n)

φ(·)vo

L(n)

jij(n) ws

kjk dk(n)xi (n)

yk(n)woji

φ(·)vs

k(n)φ(·)

voj(n)

wskL

wsk0

skj

sk

sk

skj w

nvnvnE

wnE

∂∂

∂∂

=∂

∂ )()()()(

E(n)

kj

sk

wnv

∂∂ )(

)()(

nvnE

sk∂

skL

sk

sk

skL w

nvnvnE

wnE

∂∂

∂∂

=∂∂ )(

)()()(…

Informática

UFRGS Prof. Paulo Martins Engel

17

Cálculo de um termo do gradiente pela regra da cadeia

skj

sk

sk

skj w

nvnvnE

wnE

∂∂

∂∂

=∂

∂ )()()()(

E(n) = Σ e2k(n)

k=1

M12

ek(n) = dk(n) − yk(n) yk(n) = f (vsk(n))

( e21(n) + e2

2(n) + ⋅⋅⋅ + e2k(n) + ⋅⋅⋅ + e2

M(n) )= 12

vsk(n) = Σ ws

kj · ij(n)j=0

L

= wsk0 · i0(n) + ws

k1 · i1(n) + ⋅⋅⋅ + wskj · ij(n) + ⋅⋅⋅ + ws

kL · iL(n)

?)(=

∂∂

skjwnE

( ))()()()( nvfne

nvnE s

kksk

′−=∂∂ )(ns

kδ−≡

)()(

)()(

)()(

)()(

nvny

nyne

nenE

nvnE

sk

k

k

k

ksk ∂

∂∂∂

∂∂

=∂∂

jkj

sk iw

nv=

∂∂ )(

Informática

UFRGS Prof. Paulo Martins Engel

18

Atualização dos pesos da camada de saída do MLP

• Com isso, o (vetor) gradiente da função de custo do algoritmo BP para um neurônio k na camada de saída é:

• Para simplificar a notação, definimos o gradiente local δ sk(n) de um neurônio k da camada de saída como:

wsk (n + 1) = ws

k (n) + η δ sk(n) .i (n)

• Assim, a expressão para o ajuste do vetor de peso de um neurônio genérico na camada de saída do MLP depende diretamente do gradiente local do neurônio correspondente:

δ sk(n) ≡ ek(n) fs´ (vsk(n))

∂E(n)∂ ws

k (n)= – δ sk(n) . i(n)∇k E(n) =

wsk(n+1) = ws

k(n) + η (− ∇k E(n) )

Informática

UFRGS Prof. Paulo Martins Engel

19

Ajuste dos pesos da camada de saída

1

2

i1(n)

i0=1

ws11

1

2

d1(n)1

2i2(n)

x1 (n)

x0 = 1

x2 (n)

x1(n)

x2(n)d2(n)

y1(n)

y2(n)

ws10

ws12

ws20

ws21

ws22

wo10

wo11

wo12

wo20wo

21

wo22

δsk(n) ≡ (dk(n) − yk(n) ). (1 − yk(n)2 )

wskj (n + 1) = ws

kj (n) + η δsk(n) .ij (n)

δs1(n)

δs1(n) ≡ (d1(n) – y1(n) ). (1 – y1(n)2 )

δs2(n) ≡ (d2(n) – y2(n) ). (1 – y2(n)2 )

δs2(n)

Informática

UFRGS Prof. Paulo Martins Engel

20

• Um vetor de pesos woj (n) da camada oculta influencia todas as parcelas de erro na

saída da rede, por meio da saída do seu neurônio correspondente, ij(n).

Influência dos pesos da camada oculta no erro

e2k(n) = (dk(n) − yk(n))2 = (dk(n) − f s(vs

k(n)))2 = (dk(n) − fs (i(n)T ⋅ wsk (n)))2

1

L

i1(n)

i0=1

1d1(n)

MiL(n)

x1 (n)

x0 = 1

xN (n) dM(n)

y1(n)

woj0

woLN

φ(·)vs

1(n)

yM(n)φ(·)

vsM(n)

φ(·)vo

1(n)

φ(·)vo

L(n)

jws

kj k dk(n)xi (n)yk(n)wo

jiφ(·)

vsk(n)

φ(·)vo

j(n)

wsMj

ws1jwo

j1

wojN

ij(n)

ij(n) = fo (x(n)T ⋅ woj (n))

E(n) = Σ e2k(n)

k=1

M12

Informática

UFRGS Prof. Paulo Martins Engel

21

1

L

i1(n)

i0=1

1 d1(n)

MiL(n)

x1 (n)

x0 = 1

xN (n) dM(n)

y1(n)

woj0

woLN

φ(·)vs

1(n)

yM(n)φ(·)

vsM(n)

φ(·)vo

1(n)

φ(·)vo

L(n)

jws

kjk dk(n)xi (n)

yk(n)woji φ(·)

vsk(n)

φ(·)vo

j(n)

wsMj

ws1j

woj1

wojN

ij(n)

Cálculo de um termo do gradiente pela regra da cadeia

E(n)

oji

oj

oj

j

j

sM

sMj

sk

skj

s

soji w

nvnvni

inv

nvnE

inv

nvnE

inv

nvnE

wnE

∂∂

∂∂

++∂

∂∂∂

++∂

∂∂∂

=∂

∂ )()()()(

)()()(

)()()(

)()()( 1

1

LL

Informática

UFRGS Prof. Paulo Martins Engel

22

Cálculo de um termo do gradiente pela regra da cadeia

oji

oj

oj

j

j

sM

sMj

sk

skj

s

soji w

nvnvni

inv

nvnE

inv

nvnE

inv

nvnE

wnE

∂∂

∂∂

++∂

∂∂∂

++∂

∂∂∂

=∂

∂ )()()()(

)()()(

)()()(

)()()( 1

1

LL

• Mas como:

• Então:

)()()( n

nvnE s

ksk

δ−=∂∂ s

kjj

sk wi

nv=

∂∂ )( ( ))(

)()(

nvfnvni o

joj

j ′=∂

∂io

ji

oj xw

nv=

∂ )(

( ) ( ) iojMj

sMkj

skj

soji

xnvfwwww

nE )()(11 ′−−−−−=

∂∂ δδδ LL

• Definindo:δo

j (n) ≡ Σk=1

M

δsk(n) ws

kj(n) fo′ (voj(n))

• Obtemos:= − δo

j (n) x(n)∂E(n)

∂ woj (n)

∇j E(n) ≡

Informática

UFRGS Prof. Paulo Martins Engel

23

Atualização dos pesos da camada oculta do MLP

woj (n + 1) = wo

j (n) + η δoj (n) .x (n)

• A expressão para o ajuste do vetor de peso de um neurônio genérico na camada de saída do MLP depende diretamente do gradiente local do neurônio correspondente:

woj (n+1) = wo

j (n) + η (− ∇j E(n) )

Informática

UFRGS Prof. Paulo Martins Engel

24

Ajuste dos pesos da camada oculta

1

2

i1(n)

i0=1

ws11

1

2

d1(n)1

2i2(n)

x1 (n)

x0 = 1

x2 (n)

x1(n)

x2(n)d2(n)

y1(n)

y2(n)

ws10

ws12

ws20

ws21

ws22

wo10

wo11

wo12

wo20wo

21

wo22

δo1(n)

δo1(n) ≡ (1 – i1(n)2)⋅(δs

1(n) ws11 + δs

2(n) ws21 )

δo2(n)

woji (n + 1) = wo

ji (n) + η δoj (n) .xi (n)

δs1(n)

δs2(n)

δo2(n) ≡ (1 – i2(n)2)⋅(δs

1(n) ws12 + δs

2(n) ws22 )

δoj (n) ≡ Σ

k=1

M

δsk(n) ws

kj(n) fo′ (voj(n))

Informática

UFRGS Prof. Paulo Martins Engel

25

Resumo do treinamento por retropropagação de erro

1. Inicializar os pesos com valores arbitrários não nulos.2. Apresentar um padrão de entrada x(n) e propagá-lo até a saída da rede.3. Calcular os erros instantâneos na saída da rede, ek(n). 4. Calcular os gradientes locais dos neurônios da camada de saída, δs

k(n).5. Ajustar os pesos da camada de saída pela expressão:

woji (n + 1) = wo

ji (n) + η δoj (n) .xi (n)

6. Calcular os gradientes locais dos neurônios da camada oculta, δoj (n).

7. Ajustar os pesos da camada oculta pela expressão:

wskj (n + 1) = ws

kj (n) + η δsk(n) .ij (n)

8. Repetir os passos de 2 a 7 para todos os padrões de treinamento (1 época)9. Calcular o erro médio quadrado (EMQ) para o arquivo de treinamento. 10. Se o EMQ for maior que o valor desejado, repetir o passo 8.

Informática

UFRGS Prof. Paulo Martins Engel

26

Representação da saída e regra de decisão• O problema de classificar um vetor numa determinada classe Ck entre M classes

possíveis, para o qual a união das M classes distintas forma o espaço de entrada, requer M saídas para representar todas as possíveis decisões de classificação.

• Se o MLP for treinado com a função logística para os neurônios de saída e com os valores das saídas desejadas correspondendo à rotulação binária:

MLPxj

y1,j

yk,jyM,j

dkj =1 se xj ∈ Ck

0 se xj ∉ Ck

• Então, após o treinamento, quando um vetor x for propagado pela rede, o valor de um nó de saída, yk, corresponde à probabilidade a posteriori que x pertença a classe Ck, isto é, P(Ck |x).

Informática

UFRGS Prof. Paulo Martins Engel

27

• Desta forma, cada nó de saída do MLP apresentará um valor que é uma estimativa de probabilidade a posteriori que o vetor de entrada pertença à classe respectiva.

• Com isso, nós podemos utilizar a regra de Bayes para decidir a que classe o vetor de entrada pertence.

• A regra de Bayes decide a classificação de um vetor pela máxima estimativa da probabilidade a posteriori.

• Esta regra é utilizada nos classificadores estatístico por máxima verossimilhança.

• Então, considerando que um vetor x foi propagado através de um MLP treinado segundo as condições descritas anteriormente, gerando as saídas da rede y1(x), y2(x), …, yj(x), …, yM(x), a regra de classificação em uma das M classes possíveis pode ser expressa como:

Classifique o vetor x como pertencente a Ck se

yk(x) > yj(x) para todo j ≠ k

Informática

UFRGS Prof. Paulo Martins Engel

28

Soluções do problema do jogo de tênis por BP

Informática

UFRGS Prof. Paulo Martins Engel

29

• Há dois modos de treinamento para os algoritmos iterativos supervisionados:1. Modo seqüencial. Neste modo, também referenciado como modo incremental, ou

on-line, a atualização dos pesos é realizada após a apresentação de cada exemplo de treinamento (adapt).

2. Modo por lote. Neste modo, o ajuste de pesos é realizado após a apresentação de todos os exemplos de treinamento, que constituem uma época (train).

• Do ponto de vista operacional, o modo seqüencial é preferível porque requer menos armazenamento local para cada conexão sináptica.

• Além disso, pela aleatoriedade na apresentação dos padrões, a atualização dos pesos na base de padrão por padrão torna a busca no espaço de pesos de natureza estocástica, tornando o algoritmo menos propenso a ficar preso em mínimos locais.

• Por outro lado, a natureza estocástica do modo seqüencial torna difícil estabelecer as condições teóricas para convergência do algoritmo.

• Já o modo por lote fornece, por exemplo, uma estimativa precisa do vetor gradiente, garantindo assim a convergência para um mínimo local.

Modos de Treinamento

Informática

UFRGS Prof. Paulo Martins Engel

30

Heurísticas para melhorar a convergência e a generalização• Atualização seqüencial comparada à atualização por lote: o modo seqüencial do

algoritmo BP é computacionalmente mais rápido que o modo por lote.• Maximização do conteúdo de informação: Como regra geral, todo exemplo de

treinamento apresentado deve ser escolhido de forma que o seu conteúdo de informação seja o maior possível:

• exemplo que resulta no maior erro de treinamento• exemplo que seja bem diferente dos outros

• Soluções práticas: tornar aleatória a ordem de apresentação dos exemplo ou apresentar à rede um número maior de exemplos difíceis (maior erro).

• Função de ativação: a aprendizagem é mais rápida quando se utiliza uma função anti-simétrica do tipo:

ϕ(v) = a tanh(bv)com a = 1,7159 e b = 2/3Com isso, a inclinação da função de ativação na origem fica próximo da unidade e a sua derivada segunda atinge o seu valor máximo em v = 1.

Informática

UFRGS Prof. Paulo Martins Engel

31

Função de ativação anti-simétrica

a = 1,7159

-a = -1,7159

ϕ (v)

v

Informática

UFRGS Prof. Paulo Martins Engel

32

Heurísticas para melhorar a convergência e a generalização

• Valores-alvo: É importante escolher os valores-alvo (resposta desejada) dentro do intervalo da função de ativação, ou seja afastados por uma quantidade do valor limite da sigmóide.

• Caso contrário, o algoritmo BP tende a levar os pesos para o infinito, reduzindo a velocidade do processo de treinamento, levando os neurônios ocultos à saturação.

• Solução: escolher d = ±1 quando a da função de ativação for 1,7159.• Outra solução: escolher d = ±0,9 quando a da função de ativação for 1.

• Normalizar as entradas: Cada variável de entrada deve ser pré-processada de modo que o seu valor médio seja pequeno comparado com o desvio padrão.

• Isto pode ser feito em três passos: remoção da média, descorrelação e equalização dascovariâncias.

• Com isso, os pesos sinápticos aprendem aproximadamente com a mesma velocidade.

Informática

UFRGS Prof. Paulo Martins Engel

33

Normalização das entradas

remoção da média

descorrelação

equalização da covariância

dados originais

Informática

UFRGS Prof. Paulo Martins Engel

34

Heurísticas para melhorar a convergência e a generalização

• Inicialização: Os valores dos pesos devem ser inicializados uniformemente dentro de um intervalo de valores pequenos, para reduzir a probabilidade de que os neurônios da rede saturem, produzindo gradientes pequenos.

• Entretanto, se os pesos forem muito pequenos, os gradientes serão também muito pequenos no início.

• Quando utilizamos a função de ativação especificada anteriormente, uma solução é inicializar os pesos aleatoriamente dentro do intervalo (−2,4/Fi, +2,4/Fi) onde Fi é o fan-in do neurônio i da rede.

• Pelo método de Nguyen e Widrow, os pesos são inicializados aleatoriamente numintervalo regulado pelo núm. de unidades ocultas (H) e a dimensão dos padrões (N), 0,7H1/N.

• Regra delta generalizada: Para aumentar a taxa de aprendizagem, evitando o perigo da instabilidade, introduz-se um termo de momento na expressão de correção dos pesos, correspondente a uma parcela (α) da correção no passo anterior:

∆ wskj (n) = η δs

k(n) .ij (n) + α ∆ wskj (n – 1)

Informática

UFRGS Prof. Paulo Martins Engel

35

• A avaliação empírica da capacidade preditiva de hipóteses (desempenho preditivo) é fundamental para tarefas de aprendizado.

• A dificuldade em se estimar este desempenho está no fato de normalmente se dispor de uma amostra limitada de dados que pode não representar corretamente a distribuição geral dos dados.

• Com isso, a estimativa de desempenho feita sobre uma amostra de dados disponível para este fim, não corresponde exatamente ao desempenho verdadeiro, medido sobre a distribuição geral dos dados.

• Para contornar esta dificuldade, são aplicados métodos estatísticos e feitas suposições sobre as distribuições dos dados.

• A taxa de erro de previsão da classe é uma medida natural de desempenho para tarefas de classificação.

Avaliação de modelos

Informática

UFRGS Prof. Paulo Martins Engel

36

• Como obter uma estimativa confiável sobre o desempenho do modelo?• Erro sobre os dados de treinamento não é um bom indicador de desempenho sobre

dados futuros (estimativa com viés otimista)• Solução simples se existirem muitos dados rotulados:

– Dividir dados em conjuntos de treinamento e de teste (amostras independentes)• Mas: normalmente o número de dados rotulados é limitado

– São necessárias técnicas mais sofisticadas de avaliação• Mesmo que a estimativa seja realizada sobre um arquivo sem viés (amostras

independentes de teste), a acurácia medida pode ainda ser diferente da acurácia real, dependendo de como o arquivo de teste foi composto. Quanto menor o arquivo de teste, maior será a variância esperada entre estas acurácias.

• Desempenho do modelo pode depender de outros fatores, além do algoritmo de aprendizagem:– Distribuição de classes, custo para classificação errada, tamanho dos conjuntos de

treinamento e teste

Métodos para avaliação de modelos

Informática

UFRGS Prof. Paulo Martins Engel

37

Curva de aprendizado

Curva de aprendizado mostra como a acurácia varia com o tamanho da amostraEfeito de uma amostra pequena:

Viés na estimativaVariância de estimativa

• Medindo a dependência da acurácia com o tamanho da amostra

Informática

UFRGS Prof. Paulo Martins Engel

38

• É importante que os dados de teste não sejam usados para criar o modelo

• Alguns esquemas de aprendizagem operam em dois estágios:– Estágio 1: constrói a estrutura básica– Estágio 2: otimiza os parâmetros da estrutura

• Os dados de teste não podem ser usados para ajustar parâmetros!

• Neste caso são precisos três conjuntos: de treinamento, de validação (ou configuração) e de teste.– Conjunto de validação é usado para otimizar parâmetros

Nota sobre ajuste de parâmetros

Informática

UFRGS Prof. Paulo Martins Engel

39

• Após a avaliação, todos os dados podem ser usados para construir o classificador final

• Geralmente, quanto maior o arquivo de treinamento melhor o classificador

• Quanto maior o arquivo de teste mais exata será a estimativa de erro

• Procedimento holdout (retenção): dividir os dados originais em conjuntos de treinamento e de teste– Dilema: queremos tanto um grande arquivo de treinamento quanto

um grande arquivo de teste

Tirando o máximo dos dados

Informática

UFRGS Prof. Paulo Martins Engel

40

• O que fazer se a quantidade de dados é limitada?• Método holdout reserva uma certa quantidade dos dados para

teste e usa o resto para o treinamento– Usualmente 1/3 para teste, o resto para treinamento

• Mas: as amostras podem não ser representativas– Exemplo: pode não haver amostras de uma classe nos dados de teste

• Versão avançada usa estratificação– Assegura que cada classe esteja representada com proporções

aproximadamente iguais em ambos os conjuntos• Bootstrap

– Amostragem com substituição

Estimação por retenção (holdout)

Informática

UFRGS Prof. Paulo Martins Engel

41

• Validação cruzada evita superposição dos conjuntos de teste– Primeiro passo: conjunto de dados é dividido em k subconjuntos de

tamanhos iguais– Segundo passo: cada subconjunto é usado para teste e os demais

para treinamento.– O segundo passo é repetido k vezes– Esta é a chamada validação cruzada por k vezes

• Muitas vezes os subconjuntos são estratificados antes de realizar a validação cruzada

• A estimativa de erro global é calculada como a média das kestimativas de erro de cada iteração

Validação cruzada (cross-validation)

Informática

UFRGS Prof. Paulo Martins Engel

42

Avaliação do modelo gerado• Validação cruzada (CV): o problema do treinamento da rede pode ser visto como o da

escolha da melhor configuração de um conjunto de configurações possíveis de rede (parametrizações).

• A validação cruzada consiste em se dividir o conjunto de dados disponível aleatoriamente num conjunto de treinamento e num conjunto de teste.

• O conjunto de treinamento é dividido ainda num subconjunto de estimação e num subconjunto de validação.

• Deve-se treinar o modelo com o conjunto de estimação e validá-lo com o conjunto de validação.

• O desempenho de generalização é medido pelo conjunto de teste.• Na versão k-fold-CV, o conjunto de dados é dividido em k subconjuntos de tamanhos

iguais.• A seguir, cada subconjunto é usado para teste e os demais para treinamento• A estimativa de erro global é calculada como a média das k estimativas de erro de

cada iteração.

Informática

UFRGS Prof. Paulo Martins Engel

43

four-fold-cross-validation

subconj 1

subconj 2

subconj 3

subconj 4

Conjunto de

Exemplos

subconj 1

subconj 2

subconj 3

subconj 4

teste

treino

treino

treino subconj 1

subconj 2

subconj 3

subconj 4

teste

treino

treino

treino

subconj 1

subconj 2

subconj 3

subconj 4

teste

treino

treino

treino

subconj 1

subconj 2

subconj 3

subconj 4teste

treino

treino

treino

Modelo 1 Modelo 2 Modelo 3 Modelo 4

Informática

UFRGS Prof. Paulo Martins Engel

44

• A validação cruzada deixando um fora (leave-one-out c-v):– O número de vezes é escolhido como o número de exemplos de

treinamento

– Isto é, deve-se construir n classificadores, onde n é o número de exemplos de treinamento

• Aproveita ao máximo os dados

• Não envolve sub-amostragem aleatória

• Computacionalmente muito custoso

Validação cruzada deixando um fora

Informática

UFRGS Prof. Paulo Martins Engel

45

• O foco deve estar na capacidade preditiva do modelo• Apesar de a taxa de erro, ser uma medida natural de desempenho de

classificação, ela não distingue entre erros feitos sobre exemplos positivos daqueles feitos sobre exemplos negativos.

• A matriz de confusão é uma ferramenta que contabiliza os acertos e os erros feitos pela hipótese avaliada:

Métricas para avaliação de desempenho

Verdadeiro Negativo (VN)

FalsoPositivo (FP)

Negativo

FalsoNegativo (FN)

VerdadeiroPositivo (VP)

PositivoClassereal

NegativoPositivo

Classe prevista

Informática

UFRGS Prof. Paulo Martins Engel

46

Métricas para avaliação de desempenho...

Verdadeiro Negativo (VN)

FalsoPositivo (FP)

Neg

FalsoNegativo (FN)

VerdadeiroPositivo (VP)

PosClassereal

NegativoPositivo

Classe prevista

• Métricas mais usadas: – Acurácia (mais usada), Erro

nVNVP +

FNFPVNVPn +++=

nFNFP +

Acurácia:

Erro:

P : número de exemplos positivos (8)N : número de exemplos negativos (12)n = P + N : número total de exemplos (20)Pr(P)= P/n = 0,4 : Probabilidade a priori da classe PPr(N)= N/n = 0,6 : Probabilidade a priori da classe NAcurácia(M) = 15/20 = 0,75Erro(M) = 5/20 = 0,25

93N

26PReal

NP

Prevista

Modelo M

+−

−−

−−−

−−−

+ +++ +

+ +

−−

+−

−−

−−−

−−−

+ +++ +

+ +

−−