Aprendizagem Supervisionada II

35
Mestrado em Engenharia Informática

Transcript of Aprendizagem Supervisionada II

Page 1: Aprendizagem Supervisionada II

Mestrado em Engenharia Informática

Page 2: Aprendizagem Supervisionada II

Aprendizagem Supervisionada

18-10-2010 Aprendizagem Automática / Machine Learning 2

Page 3: Aprendizagem Supervisionada II

Dado um conjunto de exemplos, será que é possível treinar uma “unidade simples de computação” para aproximar (e generalizar) esse comportamento. Exemplo simples:

x1 x2 Resposta (d)esejada

1 2 5

2 1 4

1 3 7

3 1 ?

2 3 8

1 -1 -1

-1 2 0

Page 4: Aprendizagem Supervisionada II

Dado um conjunto de exemplos, será que é possível treinar uma “unidade simples de computação” para diferenciar duas classes (e generalizar o comportamento). Exemplo simples:

Entrada - Resposta 0,1 11,0 10,0 01,1 ?

Page 5: Aprendizagem Supervisionada II

Se assumirmos que a função é linear

Será que a partir de um conjunto de pontos (x, f(x)) conseguimos saber w1 e w2? (i.e., qual a “regra” usada para gerar os pontos)

Encontrar os pesos para minimizar o erro:

2211)( wxxwxf

i

ii dxfE 2))((

x1 x2 d

1 2 5

2 1 4

1 3 7

3 1 ?

2 3 8

1 -1 -1

-1 2 0

Page 6: Aprendizagem Supervisionada II

A derivada de uma função indica que :

Se soubermos (o gradiente do erro, i.e. derivada do erro em relação a cada uma das variáveis) saberemos qual a direcção para alterar w1 e w2 de modo a diminuir o erro (a oposta à derivada).

Sinal da

Deriv. em

relação a x

x x

>0 E(x) E(x)

<0 E(x) E(x)

21 /,/ wEwE

Page 7: Aprendizagem Supervisionada II

21)( wxwxf

i

ii dxfE 2))((

i

ii dwxwE 2

21 )(

i

iii dxfxwE ))((2/ 1

i

ii dxfwE ))((2/ 2

Page 8: Aprendizagem Supervisionada II

Por exemplo, se soubermos que: Se , e fizermos:

O erro diminui (se o passo (α) for suf. pequeno)

Demonstração

111 / wEww0/ 1wE

Page 9: Aprendizagem Supervisionada II

Queremos uma função com parâmetros wij, que dê os seguintes resultados:

Que tipo de função é mais adequado?

x1 x2 f(x)

-1 -1 -1

-1 1 -1

1 -1 -1

1 1 1

Page 10: Aprendizagem Supervisionada II

Algo como:

Mas a derivada é sempre zero ou infinita (?)

0,1

0,1)(

2211

2211

bxwxw

bxwxwxf

x1 x2 f(x)

-1 -1 -1

-1 1 -1

1 -1 -1

1 1 1

Perceptrão [McCullogh & Pitts 43]

Regra Delta (delta-rule)

ii xdow )(

Page 11: Aprendizagem Supervisionada II

É necessária uma aproximação contínua:

TANH

-1,5

-1

-0,5

0

0,5

1

1,5

-2-1

,6-1

,2-0

,8-0

,4 00,

40,

81,

21,

6 2

)...( 22111

1)(

bxwxwe

xf

)...tanh()( 2211 bxwxwxf

ou …

b - Termo de polarização (bias). Funciona como uma fasquia regulável.

Page 12: Aprendizagem Supervisionada II

Função não linear simples: capacidade de representação limitada

Conjunto de unidades encadeadas (com uma ou mais camadas-escondidas) podem aproximar qualquer função com uma precisão arbitrária (desde que … )

entradas

pesos

pesos

saídas

Page 13: Aprendizagem Supervisionada II

Capacidade de divisão do espaço

Page 15: Aprendizagem Supervisionada II

Projecção num espaço de maiores dimensões de modo a tornar as classes separáveis (na prática, combinando de modos diferentes as features de entrada de modo a criar características que definem bem as classes)

Page 16: Aprendizagem Supervisionada II

Os métodos analíticos de classificação / regressão têm desvantagens quando os dados têm ruído e/ou muitos exemplos. São também sensíveis em relação a aproximações numéricas.

As ANN são: Robustas em relação ao ruído e aproximações

Baseadas num modelo (muito simplificado) do funcionamento dos neurónios

Podem ser treinadas incrementalmente

Condensam a informação de grandes conjuntos de dados num conjunto comparativamente pequeno de pesos

Page 17: Aprendizagem Supervisionada II

1. Apresentar cada exemplo (xi,di)2. Calcular a resposta da rede para xi: f(xi)3. Propagar para trás o erro (construindo a

derivada do erro em relação a cada peso)4. Ao fim de cada época: actualizar os pesos

Page 18: Aprendizagem Supervisionada II

Vantagens das funções de activação apresentadas:

As derivadas num ponto calculam-se à custa do valor nesse ponto (possibilidade de implementação paralela)

)tanh()( 2211 bxwxwxf

)( 22111

1)(

bxwxwe

xf

))(1()( 2 xfxf

))(1)(()( xfxfxf

Page 19: Aprendizagem Supervisionada II

-4

-3

-2

-1

0

1

2

3

4

-4 -3 -2 -1 0 1 2 3 4

Series1

Series2

-4

-3

-2

-1

0

1

2

3

4

-4 -2 0 2 4

Series1

Series2

Boa generalização (mesmo com erros)

Overfitting / Sobre-aprendizagem

Page 20: Aprendizagem Supervisionada II

Generalização e “overfitting”Como saber quando parar o treino:

treino

teste Paragem

Page 21: Aprendizagem Supervisionada II

Validação => três conjuntos de dados:◦ Treino, Teste, Validação

Conjuntos pequenos (k-fold validation/leave n-off)1. Dividir dados em k subconjuntos2. Em cada uma de k experiências usar um dos conjuntos para validação3. Calcular nº médio de iterações (n) para minimizar erro de validação4. Treinar com todos os dados n épocas

Page 22: Aprendizagem Supervisionada II

Termo de momento (momentum)

Duas vezes na mesma direcção, acelera,

Em direcções contrárias, trava (ou não é usado).

Valor típico: 0.8

)( ,1,,,1 ijtijtijtijt wwww

x

ijijt xw ,

Page 23: Aprendizagem Supervisionada II

A mesma taxa de aprendizagem para todos os pesos faz com que se mova com a mesma “velocidade” em todas as direcções

Solução: taxas de aprendizagem diferentes para cada peso

Page 24: Aprendizagem Supervisionada II

ALR (Adaptive Learning Rates):

x

ijijt xw ,ijtijtijt www ,,,1

x

ijijt xw , ijtijtijtijt www ,,,,1

Ec

wwd

wwu

ijt

ijtijtijt

ijtijtijt

ijt

,

0,

0,

,

,,,

,,,

,

5.01

8.01

2.11

c

d

u

Page 25: Aprendizagem Supervisionada II

Técnica dos passos-adaptativosAdaptive Learning Rates

F. M. Silva and L. B. Almeida, "Acceleration Techniques for the Backpropagation Algorithm", in L. B. Almeida and C. J. Wellekens (eds.), Neural Networks, Springer-Verlag, 1990.

Page 26: Aprendizagem Supervisionada II

Dicas de implementação: Deve ser fácil mudar a função (e a sua derivada), a tanh()

é, normalmente, melhor

Deve ser possível ter 2 ou 3 camadas

Deve ser fácil mudar a taxa de aprendizagem

Experimentar primeiro com um caso muito simples

Use sempre uma taxa de aprendizagem baixa para começar (1E-7)

Vá aumentando a taxa até verificar que de uma época para a seguinte há alteração da média do erro

Diminua a taxa de aprendizagem ao longo do treino

Use valores desejados abaixo do limite da função (e.g. -0.9 e 0.9, para a tanh)

27AA/ML, Luís Nunes, DCTI/ISCTE

Page 27: Aprendizagem Supervisionada II

[Rumelhart, Hinton, Williams 86] D.E.Rumelhart, G.E.Hinton and R.J.Williams, "Learning internal representa-tions by error propagation", In David E. Rumelhart and James A. McClelland, volume 1. The MIT Press, 1986.

[Rumelhart, Widrow, Lehr] David E. Rumelhart, Bernard Widrow, Michael A. Lehr, The basic ideas in neural networks, Communications of the ACM archive, Volume 37 , Issue 3 (March 1994) table of contents, pp 87 –92, 1994, ISSN:0001-0782 , Publisher ACM Press New York, NY, USA

F. M. Silva and L. B. Almeida, "Acceleration Techniques for the Backpropagation Algorithm", in L. B. Almeida and C. J. Wellekens(eds.), Neural Networks, Springer-Verlag, 1990.

Outras Referências: [McCullough & Pitts 43] W. S. McCullough, W. Pitts, Logical Calculus of the ideas

immanent in nervous activity, Contemp. Math, 113, pp. 189-219 [Minsky & Papert 69] Minsky M L and Papert S A 1969 Perceptrons (Cambridge, MA: MIT

Press)

28AA/ML, Luís Nunes, DCTI/ISCTE

Page 28: Aprendizagem Supervisionada II

Aprendizagem Supervisionada

18-10-2010 Aprendizagem Automática / Machine Learning 29

Page 29: Aprendizagem Supervisionada II

ixi

ijijj wxbs )tanh( jj so

ijwjkw knw

j

jkjkk wobs )tanh( kk so

k

knknn wobs)tanh( nn so

2)()(

n

nn dooE

Page 30: Aprendizagem Supervisionada II

ix

ijwjkw knw

k

nkknn wobs )tanh( nn so

2)()(

n

nn dooE

knnnnkn wodowE )(2

knnnnnkn wssdowE ))tanh(1()(2 2

knnnkn osdowE ))tanh(1)((2 2

))tanh(1)((2 2

nnnnnnnn sdosooEsE

knkn ow

Page 31: Aprendizagem Supervisionada II

ix

ijwjkw knw

jkn

n

n

n

jknnnnjk wswssdowE ))tanh(1()(2 2

jkkk

n

knnjkk

n

knnjk wsswwowwE ))tanh(1( 2

knkn owE

n

jknnnjk wodowE )(2

jkjk

n

knnjk ooswwE ))tanh(1( 2

jkjk own

kknnkkkkk swsooEsE ))tanh(1( 2

Page 32: Aprendizagem Supervisionada II

ix

ijwjkw knwijn

n

nij wswE

ijk

n k

knnij wowwE

n

jknnnij wodowE )(2

n

kknnk sw ))tanh(1( 2

ijk

n k

kknnij wsswwE ))tanh(1( 2

ijk

k n

kknnij wsswwE ))tanh(1( 2

Page 33: Aprendizagem Supervisionada II

ijij xw

ijijjk

k

kij xxswwE ))tanh(1( 2

k

jjkkjjjjj swsooEsE ))tanh(1( 2

ijjjjk

k

kij wsswwE ))tanh(1( 2

Page 34: Aprendizagem Supervisionada II

x

ijij xw

x

jjb

ijijij www

jjj bbb

… ou, para evitar que seja um valor muito grande (overflow):

x

ijij xwijijij www

ijw

Page 35: Aprendizagem Supervisionada II

ijij xw

jjb

ijijij www

jjj bbb