Redes Neurais Artificiais

53
Redes Neurais Redes Neurais Artificiais Artificiais Multi-layer Perceptrons e Backpropagation Marcílio Souto DIMAp/UFRN

description

Redes Neurais Artificiais. Multi-layer Perceptrons e Backpropagation Marcílio Souto DIMAp/UFRN. Redes de várias camadas. MLP - Multi-Layer Perceptron (Adaline?!) Backpropagation network Superar as limitações das redes de camada única Regressão linear - PowerPoint PPT Presentation

Transcript of Redes Neurais Artificiais

Page 1: Redes Neurais Artificiais

Redes Neurais ArtificiaisRedes Neurais Artificiais

Multi-layer Perceptrons e Backpropagation

Marcílio Souto

DIMAp/UFRN

Page 2: Redes Neurais Artificiais

2

Redes de várias camadasRedes de várias camadas

• MLP - Multi-Layer Perceptron (Adaline?!)• Backpropagation network• Superar as limitações das redes de

camada única• Regressão linear• Classificação de problemas

linearmente separáveis

Page 3: Redes Neurais Artificiais

3

Regressão não linearRegressão não linear

Page 4: Redes Neurais Artificiais

4

AdalineAdaline

Page 5: Redes Neurais Artificiais

5

Linear x Não-linearLinear x Não-linear

Page 6: Redes Neurais Artificiais

6

MLPs e não-linearidade (1/3)MLPs e não-linearidade (1/3)

• Adicione um nó com uma função de ativação não-linear

• e.g., a tangente hiperbólica (tanh)

Page 7: Redes Neurais Artificiais

7

MLPs e não-linearidade (2/3)MLPs e não-linearidade (2/3)

Page 8: Redes Neurais Artificiais

8

MLPs e não-linearidade (3/3)MLPs e não-linearidade (3/3)

Page 9: Redes Neurais Artificiais

9

Função contínua qualquer (1/2)Função contínua qualquer (1/2)

• O que faríamos se os dados fossem como estes?

Page 10: Redes Neurais Artificiais

10

Função contínua qualquer (2/2)Função contínua qualquer (2/2)

• A função tangente hiperbólica não se ajusta a estes dados

• Definir uma função de ativação específica para cada conjunto de dados • E o aprendizado? Como fica?

• Encontrar um método geral de aproximação de função não linear que consiga se ajustar a qualquer dado• independente de sua aparência

Page 11: Redes Neurais Artificiais

11

Função contínua - camadas Função contínua - camadas escondidas (1/2)escondidas (1/2)

• Solução: adicione mais nodos na camada escondida

Page 12: Redes Neurais Artificiais

12

Função contínua - camadas Função contínua - camadas escondidas (2/2)escondidas (2/2)

• Teorema: dado um número suficiente de nodos escondidos, uma MLP com apenas uma camada escondida pode aproximar qualquer função contínua (Cybenko, 1989)

• Tradução: qualquer função pode ser expressa como uma combinação linear de funcões tanh• função de base universal• Outros exemplos: funções sigmóides,

gaussiana, ...

Page 13: Redes Neurais Artificiais

13

MLPs - classificação não linear MLPs - classificação não linear

Page 14: Redes Neurais Artificiais

14

Backpropagation (1/2)Backpropagation (1/2)

• Já vimos como treinar redes lineares (Adalines) com o gradiente descendente

• Se tentarmos usar o mesmo algoritmo para as MLPs encontraremos uma dificuldade• Não temos as saídas desejadas para as unidades

da camada escondida• Como poderíamos ajustar os pesos destas

unidades? (credit assignment problem)• Os pesos da camada de saída podem ser

ajustados com a regra das Adalines

Page 15: Redes Neurais Artificiais

15

Backpropagation (2/2)Backpropagation (2/2)

• O problema não resolvido de credit assignment foi uma das razões para o declínio das pesquisas em RNAs • Passou-se quase 30 anos - de 1958 a 1986 - até

que o algoritmo de backpropagation popularizasse uma maneira de treinar as unidades da camada escondidade

• Werbos (1974), (Rumelhart, Hinton, and Williams, 1986), (LeCun,1985)

• Em princípio, o backpropagation propicia uma maneira de treinar redes com qualquer nr. de nodos escondidos organizados em um nr. qualquer de camadas

Page 16: Redes Neurais Artificiais

16

Backpropagation - o algoritmo Backpropagation - o algoritmo (1/2)(1/2)

• Create a feed-forward network with nin inputs; nhidden

hidden units, nout output units

• Initialize all network weights to small random numbers

• Until the termination condition is met, Do• For each (x,t) in training-set, Do

• Propagate the input forward through the network:

• 1. Input instance x to the network and compute the output ou of every unit u

• Propagate the errors backwards through the network:

• 2. For each network output k, calculate its error term k

Page 17: Redes Neurais Artificiais

17

Backpropagation - o algoritmo Backpropagation - o algoritmo (2/2)(2/2)

• Propagate the errors backwards through the network:

• 2. For each network output k, claculate its error term k

• k ok(1 - ok )(tk - ok)

• 3. For each hidden unit h, calculate its error term h

• h oh(1 - oh )k outputs wkh k

• 4.Update each network weight wji

• wji wji + wji

• wji j xji

Page 18: Redes Neurais Artificiais

18

Backpropagation - exemplo (1/9)Backpropagation - exemplo (1/9)

Page 19: Redes Neurais Artificiais

19

Backpropagation - exemplo (2/9)Backpropagation - exemplo (2/9)

• O nó de saída computa uma combinação de duas funções

• yo= f * tanh1(x) + g*tanh2(x) + a, onde

• tanh1(x) = tanh(dx + b)• tanh2(x) = tanh(ex + c)

• Inicializamos os pesos com valores aleatórios• Cada nó escondido computa uma função

tanh aleatória

Page 20: Redes Neurais Artificiais

20

Backpropagation - exemplo (3/9)Backpropagation - exemplo (3/9)

Page 21: Redes Neurais Artificiais

21

Backpropagation - exemplo (4/9)Backpropagation - exemplo (4/9)

• Treinamento da rede• Taxa de aprendizado 0.3• Atualização dos pesos após cada padrão

• Aprendizagem incremental• Depois de passarmos por todo o conjunto

de treinamento 10 vezes (10 training epochs)• As funções computadas pela rede têm a

seguinte forma

Page 22: Redes Neurais Artificiais

22

Backpropagation - exemplo (5/9)Backpropagation - exemplo (5/9)

Page 23: Redes Neurais Artificiais

23

Backpropagation - exemplo (6/9)Backpropagation - exemplo (6/9)

Page 24: Redes Neurais Artificiais

24

Backpropagation - exemplo (7/9)Backpropagation - exemplo (7/9)

Page 25: Redes Neurais Artificiais

25

Backpropagation - exemplo (8/9)Backpropagation - exemplo (8/9)

• As funções são:• streched, scaled and shifted

• através das várias atualizações do pesos

• Na próxima figura, plotamos o gráfico do erro sobre todos os 88 padrões como uma função do ciclo de treinamento• 4 treinamentos são mostrados, com

inicializações de pesos diferentes

Page 26: Redes Neurais Artificiais

26

Backpropagation - exemplo (9/9)Backpropagation - exemplo (9/9)

Page 27: Redes Neurais Artificiais

27

Função Sigmoide (1/3)Função Sigmoide (1/3)

• Uma função sigmoide é capaz de “imitar” uma série de comportamentos dependendo de sua inclinação

F[u(t)] = 1/(1 + e- u(t))F[u(t)]

1

A inclinação é ajustada de acordo com os pesos

u x wj jj

N

1

Page 28: Redes Neurais Artificiais

28

Função Sigmoide (2/3)Função Sigmoide (2/3)

• Uma função sigmoide também pode ser transladada pelo termo constante na Equação 1 (x0 = -1)

F[u(t)] = 1/(1 + e- u(t))F[u(t)]

1

N

jjjwxu

0

Eq. 1

Mudança em w0

Page 29: Redes Neurais Artificiais

29

Função Sigmoide (3/3)Função Sigmoide (3/3)

• Uma função sigmoide também pode ser streched

F[u(t)] = 1/(1 + e- u(t))F[u(t)]

1

N

jjjwxu

0

Eq. 1

Mudança de todos wj j0

Page 30: Redes Neurais Artificiais

30

O problema da otimizaçãoO problema da otimização

• Achar o ponto de máximo ou mínimo de uma função f(x,y,z,u,...) de n parâmetros, x,y,z,u,...

minimizar f(x) = maximizar -f(x)

x0

f(x)

Page 31: Redes Neurais Artificiais

31

Função unimodal x multimodalFunção unimodal x multimodal

x1x0

Minimo global

Minimo local

Função multimodalFunção unimodal

x0

Page 32: Redes Neurais Artificiais

32

Exemplos de Exemplos de

Funções Multimodais Funções Multimodais (1/3)(1/3)

Page 33: Redes Neurais Artificiais

33

Exemplos de Exemplos de

Funções Multimodais Funções Multimodais (2/3)(2/3)

Page 34: Redes Neurais Artificiais

34

Exemplos de Exemplos de

Funções Multimodais Funções Multimodais (3/3)(3/3)

Page 35: Redes Neurais Artificiais

35

Região factível x não factívelRegião factível x não factível

• O espaço de busca se divide em região factível e não factível

• As soluções da região factível são aquelas que satisfazem a todas as restrições

Região factívelEspaço de busca

Page 36: Redes Neurais Artificiais

36

Adição do coeficiente de momento Adição do coeficiente de momento (1/3)(1/3)

• Mínimo local

Page 37: Redes Neurais Artificiais

37

Adição do coeficiente de momento Adição do coeficiente de momento (2/3)(2/3)

• Adiciona uma fração do valor anterior de atualização dos pesos ao atual wji (t+1) j xji + wji (t)

• Qdo. o gradiente se mantém apontando na mesma direção, o tamanho dos passos na direção do mínimo crescerá• Atenção: se ambos e forem muito

grandes, há o risco de passar pelo mínimo

Page 38: Redes Neurais Artificiais

38

Adição do coeficiente de momento Adição do coeficiente de momento (3/3)(3/3)

• Qdo. o gradiente se mantém mudando de direção, o coef. de momento suavizará está variação• Vales longos e estreitos• Plateaus

Page 39: Redes Neurais Artificiais

39

Backpropagation - OverfittingBackpropagation - Overfitting

• No exemplo anterior, usamos uma rede com 2 unidades escondidas• Apenas olhando os dados já dava pra ter uma

idéia que 2 funções tanh resolveriam o problema• Em geral não temos como saber qtos. nodos

escondidos e pesos serão necessários • Procuramos um modelo que produza o melhor

resultado para novos dados (generalização)• Pode haver conflito com a tarefa de modelar o cj.

de treinamento (Memorização)

Page 40: Redes Neurais Artificiais

40

Bias-Variance trade-off (1/5)Bias-Variance trade-off (1/5)

• O conjunto de treinamento foi gerado a partir de uma função suave, h(x), com ruído adicionado

• Obviamente, queremos encontrar um modelo que aproxime h(x), dado um conjunto específico de dados y(x) gerado como:• y(x) = h(x) +

Page 41: Redes Neurais Artificiais

41

Bias-Variance trade-off (2/5)Bias-Variance trade-off (2/5)

Page 42: Redes Neurais Artificiais

42

Bias-Variance trade-off (3/5)Bias-Variance trade-off (3/5)

• No gráfico da esquerda, tentamos ajustar os pontos usando uma função g(x) que tem poucos parâmetros: uma reta• O Modelo é muito rígido e não consegue

modelar nem o cj. de treinamento nem novos dados

• O modelo têm um bias alto • Underfitting

Page 43: Redes Neurais Artificiais

43

Bias-Variance trade-off (4/5)Bias-Variance trade-off (4/5)

• O gráfico da direita mostra um modelo que foi ajustado usando muitos parâmetros livres• Ele se ajusta perfeitamente ao dados do cj.

de treinamento• Porém, este modelo não seria um bom

“previsor” de h(x) para novos valores de x• Dizemos que o modelo tem uma variância

(variance) alta• Overfitting (super-ajustamento)

Page 44: Redes Neurais Artificiais

44

Bias-Variance trade-off (5/5)Bias-Variance trade-off (5/5)

• Claramente, o que queremos é um compromisso entre:• um modelo que seja poderoso o bastante

para representar a estrura básica do dado - h(x) -,

• mas não tão poderoso a ponto de modelar fielmente o ruído associado a um cj. de dados particular

Page 45: Redes Neurais Artificiais

45

Prevensão do overfitting (1/3)Prevensão do overfitting (1/3)

• O bias-variance trade-off é um problema principalmente qdo. o cj. de treinamento é pequeno

• Em geral, qdo. temos um número “infinito” de dados para o treinamento - on-line learning contínuo - não temos o problema de overfitting

• As técnicas seguintes são usadas para prevenir overfitting em off-line learning

Page 46: Redes Neurais Artificiais

46

Prevensão do overfitting (2/3)Prevensão do overfitting (2/3)

• Early stopping • Grande número de dados disponível• Conjunto de treinamento• Conjunto de validação

• usado para testar a generalização da rede durante o treinamento

• Conjunto de teste

Page 47: Redes Neurais Artificiais

47

Prevensão do overfitting (3/3)Prevensão do overfitting (3/3)

• Early stopping

Page 48: Redes Neurais Artificiais

48

Nariz ArtificialNariz Artificial

S1 S2 ... S6

Sensores

Substância

Reconhecimento de Padrões

(Rede Neural)Pré-processamento

Page 49: Redes Neurais Artificiais

49

Problema AbordadoProblema Abordado

• Base de Dados: • Classificação entre odores de duas safras de vinho

(A e B)• Para cada safra, as resistências dos sensores foram

registradas a cada 0.5s.• Cada conjunto de seis valores registrados no

mesmo instante de tempo é um padrão (total de 200 padrões, sendo 100 da safra A e 100 da safra B).

• Divisão do Conjunto de Padrões (Proben1):• 50% dos padrões de cada safra escolhidos

aleatoriamente para treinamento,• 25% para validação,• e 25% para teste.

Page 50: Redes Neurais Artificiais

50

Rede MLPRede MLP

• Rede MLP:• Uma camada intermediária,• 6 unidades de entrada (uma

para cada sensor),• 2 unidades de saída (uma

para cada safra de vinho), • Função de ativação

sigmóide logística,• Todas as possíveis

conexões entre camadas adjacentes, sem conexões entre camadas não-adjacentes,

Page 51: Redes Neurais Artificiais

51

TreinamentoTreinamento

Treinamento

0.12 0.23 0.34 0.45 0.56 0.67 0 1

Page 52: Redes Neurais Artificiais

52

Soma dos Erros Quadráticos Soma dos Erros Quadráticos (SSE)(SSE)

• Saídas da rede:0.98 0.12 ... 0.160.02 0.96 ... 0.88

• Saídas desejadas:1.00 0.00 ... 0.000.00 1.00 ... 1.00

• Soma dos erros quadráticos (SSE): SSE = (0.98 – 1)2 + (0.12 – 0)2 + ... + (0.16 – 0)2

+ (0.02 – 0)2 + (0.96 – 1)2 + ... + (0.88 – 1)2

Page 53: Redes Neurais Artificiais

53

BibliografiaBibliografia

• Braga, A.;Carvalho, A. C. P. L. F. & Ludermir, T. : Redes Neurais Artificiais: Teoria e Aplicações. Publicado pela Editora Livro Técnico e Científico, Rio de Janeiro, Brasil, 2000 (livro texto)

• Rezende, S. O. (Coordenadora): Sistemas Inteligentes: Fundamentos e Aplicações. Publicado pela Editora Manole LTDA, São Paulo, Brasil, 2002 (livro texto)

• Mithcell, T.: Machine Learning, McGraw-Hill, 1997.

• Haykin, S.: Neural Networks: A Comprehensive Foundation, Prentice Hall, 1999