1 aplicação de otimização irrestrita: treinamento de redes neurais artificiais das-6651 - mspo...

36
1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

Upload: adelino-lencastre-antas

Post on 07-Apr-2016

219 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

1

Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais

Artificiais

DAS-6651 - MSPOEduardo Camponogara

Page 2: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

2

0. Agenda

Introdução a Redes Neurais (RNs) Representação Treinamento de RNs Aplicações Dificuldades/Limitações Perceptron Referências

Page 3: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

3

1. Introdução a Redes Neurais

Redes Neurais (RNs) constituem métodos “robustos” de aproximação de funções de valores vetoriais, reais ou discretos.

– No sentido de que tolera erros nos pares de treinamento

Uma rede neural é um aproximador universal (ou melhor, interpolador universal).

Entrada Saída

Page 4: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

4

1. Introdução a Redes Neurais

Entrada Saída

O algoritmo de treinamento (de propagação reversa, back-propagation) nada mais é do que uma implementação especializada do algoritmo de descenso.

Page 5: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

5

1. Motivação Biológica

Como o próprio nome sugere, redes neurais são inspiradas em sistemas biológicos de aprendizagem que tipicamente consistem de redes complexas de unidades elementares.

Page 6: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

6

1. Motivação Biológica

Alguns números interessantes.

– O cérebro humano possui aproximadamente 1011 neurônios, cada um conectado a cerca de 104 neurônios. (100 bilhões de neurônios.)

– O tempo de resposta de um neurônio é aproximadamente 10-3 s, muito mais lento do que um computador (10-10 s, tempo de resposta de uma porta ló gica)

– O tempo de reconhecimento de uma figura é de cerca de 10-1s.

Page 7: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

7

1. Especulações

Dado o tempo relativamente lento de resposta do neurônio, em comparação com a velocidade de processamento de informação, podemos concluir que:

– O sistema de aprendizagem biológico é extremamente paralelo e distribuído, todavia não possui um número muito grande de camadas.

Page 8: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

8

1. Especulações

Existem incompatibilidades entre redes neurais artificiais e as unidades do sistema biológico de aprendizagem. (A saída de uma unidade artificial é um valor constante, enquanto que as unidades biológicas emitem uma série complexa de sinais.)

Page 9: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

9

1. Rede Neural: Elementos Básicos

x1

x2

xn

y1

y2

ym

wn

w1

w1 nS=wixi i =1

f(S)

Pesos das sinapses

Entrada Saída

Page 10: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

10

2. Representação de Redes Neurais

x1

x2

xn

y1

y2

ym

Camada de Entrada

Camada de Saída

Camadas Intermediárias

Page 11: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

11

3. O Problema de Treinamento

Dados:– Uma rede neural (a sua topologia), ou seja,

um grafo G = (V, E).– Exemplos de treinamento, ou seja, uma lista de pares de

entradas e saídas desejadasD = {(x1,y1), ..., (xK,yK)}

Problema:– Encontrar os pesos das sinapses tal que o erro de estimação

das saídas seja o menor possível (Least Squares Problem).

Page 12: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

12

3. O Problema de Treinamento

Representação:Seja f(w,x) a função representada pela rede neural com pesos dados pelo vetor w. Dado x, a rede responde com um valor

y = f(w,x).

Problema: K

Minimize ||f(w,xk) yk||2 w k = 1

Page 13: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

13

4. Representação no ALVINN

Imagem de Entrada

Rede Neural

Esquerda DireitaReto Comandos

Page 14: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

14

4. Detalhes do ALVINN

O ALVINN utilizou com sucesso o modelo de redes neurais para dirigir um veículo, a uma velocidade de até 100 Km/h, por cerca de 120 Km, em uma freeway.

Mais recentemente, este mesmo sistema dirigiu um veículo na maior parte do tempo, de Pittsburgh (Pennsylvania) até Berkeley (California).

Page 15: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

15

5. Problemas Apropriados para RNs

RNs são recomendadas para problemas de aproximação complexos (tipicamente sistemas não-lineares)

– Dados com ruídos, tais como dados provenientes de câmeras e microfones.

Page 16: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

16

5. Problemas Apropriados para RNs

As RNs em combinação com o algoritmo de propagação reversa (back-propagation) são adequadas para problemas com as seguintes características:

1) Instâncias que são representadas por pares contendo muitos atributos (múltiplas entradas e múltiplas saídas).

2) O atributo de saída tenha um valor discreto, real ou um vetor de valores. (No ALVINN a saída é um vetor com cerca de 30 saídas, cada uma representando a probabilidade de um comando).

Page 17: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

17

5. Problemas Apropriados para RNs

As RNs em combinação com o algoritmo de propagação reversa (back-propagation) são adequadas para problemas com as seguintes características:

3) O treinamento pode ser feito off-line.

4) A avaliação da função deve ser muito rápida, para uso em aplicações de tempo-real.

5) A habilidade de se entender o significado da aproximação não é necessária.

6) Os exemplos de treinamento podem conter erros.

Page 18: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

18

6. Perceptron

x0 = 1

x1

xn

y1 = o(x) = sign(wTx)

y2= sign(wTx)

ym = sign(wTx)

wn

w0

Threshold

o(x0,...,xn) =+1 if w0 + w1x1 + ... + wnxn > 0

1 caso contrário

Page 19: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

19

6. Treinamento de um Perceptron

Dados um conjunto de exemplos,(x1,t1), ..., (xM,tM)

encontre w tal que o erro de predição seja minimizado. M

(P) Minimize ||sign(wTxm) - tm||2

w m = 1

Quais são os possíveis obstáculos na resolução de (P)?

Page 20: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

20

6. Dificuldades de Treinamento

++

+

+

+

+

+

+

Conjunto linearmente separável

Conjunto que não podeser separado linearmente

(P) não é diferenciável

Page 21: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

21

6. Capacidade Representacional

O perceptron define um subespaço multidimensional, classificando como positivo os exemplos que estão de um lado e como negativo os demais.

O perceptron pode ser usado para representar as funções lógicas “AND” , “OR”, “NOR” e “NAND”.

IMPORTANTE: Qualquer função booleana pode ser representada por uma rede de perceptrons, que executam as operações acima. (Representação de função booleana na forma normal disjuntiva, i.e., disjunção de cláusulas).

Page 22: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

22

6. Treinamento de um Perceptron

O procedimento de treinamento de um perceptron é o elemento básico para desenvolver o procedimento de treinamento de uma rede.

x0 = 1

x1

xn

y = o(x)wn

w0

Threshold

o(x) = sign(wTx)

Page 23: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

23

6. Algoritmo de Treinamento

w = [w0, ..., wn] é inicializado randomicamente (tipicamente -0.5 < wi < 0.5).

um número correspondendo à taxa de aprendizagem (normalmente, = 0.01).

m 1 // Temos M exemplos de treinamentoRepita

Para i = 0, ..., nwi = [ tm o(xm)]xm

i

wi = wi + wi

FimParam mod(m, M) +1

FimRepita

Page 24: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

24

6. Algoritmo de Treinamento

w = [w0, ..., wn] é inicializado randomicamente (tipicamente -0.5 < wi < 0.5).

um número correspondendo à taxa de aprendizagem (normalmente, = 0.01).

m 1 // Temos M exemplos de treinamentoRepita

Para i = 0, ..., nwi = [ tm o(xm)]xm

i

wi = wi + wi

FimParam mod(m, M) +1

FimRepitaO algoritmo converge se o problema é linearmente separável

Page 25: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

25

6. Regra Delta e o Algortimo de Descenso

Lembre-se que o algoritmo de treinamento de perceptrons encontra um vetor de pesos, w, quando os exemplos são linearmente separáveis, mas pode falhar em caso contrário.

A regra delta supera esta dificuldade; o algoritmo converge para a melhor aproximação linear da relação entre entrada e saída.

o(x) = sign(wTx)

o(x) = wTx

Page 26: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

26

6. Treinamento de uma Unidade

x0 = 1

x1

xn

y = o(x)

wn

w0

o(x) = wTx

wTx

Page 27: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

27

6. O Problema de Treinamento

Dado um conjunto fixo de exemplos (x1, t1), ..., (xM, tM)

Encontre w Rn tal que o erro de predição seja minimizado.

M

(P) Minimize E(w) = ½ [o(xm) - tm ]2

w m = 1

M

(P) Minimize E(w) = ½ [wTxm - tm ]2

w m = 1

E(w) é o erro de predição.

Page 28: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

28

6. Derivando o Gradiente de E(w)

E

--- = --- { ½ [wTxm tm ]2 }

w1 w1 m=1

= [wTxm tm

] ---- [wTxm tm ]

m=1 w1

= [wTxm tm ][xm

1 ]

m=1

Page 29: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

29

6. O Algoritmo de Descenso

Na iteração k, tem-se a solução candidata wk e deseja-se encontrar outra solução, wk+1, com menor erro de predição.

(P) Minimize f() = E[wk E(wk)] Sujeito à:

0

Page 30: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

30

6. Redes com Múltiplas Camadas

Redes com múltiplas camadas podem representar funções não-lineares de elevada complexidade.

head

had

hud

heedhid

who’dhood

heard

hem

F1 (Hz)

F2 (Hz)

F2F1

head hid who’d hood

Page 31: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

31

6. Redes com Múltiplas Camadas

A capacidade representacional de uma rede com múltiplas camadas de unidades lineares é superior ao de apenas uma unidade linear?

Page 32: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

32

6. Redes com Múltiplas Camadas

Uma rede com múltiplas camadas contendo unidades lineares é, também, uma função linear.

Page 33: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

33

6. Uma Unidade Diferenciável

(y)

½

1

y

(y) = 1 /(1 + ey)

Page 34: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

34

6. Unidade Sigmoide

x0 = 1

x1

xn

y1

y2

ym

wn

w0

Sigmoide

y = o(x) =

= (net) =

= 1/(1+enet)

Propriedade daSigmoide

net

nnet =wixi i =0

d(z)--- = (z)[1 (z)] dz

Page 35: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

35

6. Algoritmo de Propagação Reversa

Dados um grafo representando a rede de múltiplas camadas, e uma lista com exemplos de treinamento(x1, t1), ..., (xM, tM).

O algoritmo de propagação reversa utiliza o algoritmo de descenso com o objetivo de minimizar o erro entre as saídas da rede e os valores desejados. M

(P) Minimize E(w) = [ tmk o(xm)k ]2

w m = 1 k Saída

Page 36: 1 Aplicação de Otimização Irrestrita: Treinamento de Redes Neurais Artificiais DAS-6651 - MSPO Eduardo Camponogara

36

7. Referências

T. M. Mitchell, Machine Learning, McGraw-Hill, 1997.