redes neurais artificiais (rna) definições · redes neurais artificiais (rna) definições 1...

48
Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva [email protected]

Upload: others

Post on 05-Jun-2020

30 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Redes Neurais Artificiais (RNA)

Definições

1

Prof. Juan Moisés Mauricio Villanueva

[email protected]

Page 2: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Conteúdo

1. Introdução

2. Modelos básicos e regras de aprendizagem

3. Rede neural de retro propagação (backpropagation)

4. Sistemas auto organizados

5. Redes neurais recorrentes

6. Aplicações de RNA em Engenharia

2

Page 3: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Introdução

• Modelo computacional inspirado nos neurônios biológicos e na estrutura do cérebro com capacidade de ADQUIRIR, ARMAZENAR e UTILIZAR conhecimento experimental.

3

Page 4: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Introdução

CÉREBRO REDES NEURAIS

Neurônio Biológico Neurônio Artificial

Rede de neurônios Estrutura em camadas

10 bilhões de neurônios centenas/milhões

Aprendizagem Aprendizagem

Generalização Generalização

Associação Associação

Reconhecimento de padrões Reconhecimento de padrões

4

Comparações

Page 5: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Introdução

5

Rede Neural Artificial: RNA

Page 6: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Estrutura de uma RNA

6

Page 7: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Estrutura de uma RNA

• Os pesos armazenam o conhecimento (memoria) da rede neuronal

• Os pesos são ajustados de acordo com o erro encontrado

• A rede neural é treinada até que o erro entre a saída e o objetivo (target) seja satisfatório

• A rede neural é capaz de generalizar e reconhecer padrões distintos dos usados no treinamento

7

Page 8: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Estrutura de uma RNA

• Redes neurais são bastante utilizadas em aplicações:

– Reconhecimento de padrões ruidosos e/ou incompletos

– Cenários em que as regras claras não podem ser facilmente formuladas

– Não se necessita explicação do resultado

8

Page 9: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Exemplo de Treinamento de uma RNA

9

Erro=

Objetivo:

Dados de treinamento

Page 10: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Exemplo de Treinamento de uma RNA

10

Erro=

Objetivo:

Dados de treinamento

Page 11: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Utilização da Rede Neural

11

Novo dado, que não foi apresentado durante o treinamento

Page 12: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Regras de Aprendizagem

• Perceptron

• Delta Rule (Least Mean Square)

• Back Propagation

12

Page 13: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Algoritmo de Back-Propagation

• O desafio principal consiste em definir um algoritmo de aprendizagem para a atualização dos pesos das camadas intermedias.

• Idea Central:

Os erros dos elementos processadores da camada de saída (conhecido pelo treinamento supervisionado), são retro propagados para as camadas intermediarias.

13

Page 14: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Algoritmo de Back Propagation

• Modelo do perceptron:

14

Page 15: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Algoritmo de Back Propagation

• Para uma Rede Multi-Layer Perceptron

• Rede de 3 camadas: 5/5/3/4

15

Page 16: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Algoritmo de Back Propagation

• Características Básicas:

– Regra de Propagação: netj=xi.wji+j

– Função de Ativação: Função não linear, diferençável em todos os pontos

– Topologia: Múltiples camadas

– Algoritmo de aprendizagem: Supervisionado

– Valores de Entrada/Saída: Binários {-1,1} y/o contínuos

16

Page 17: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Algoritmo de Back Propagation

• Topologia

17

Page 18: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

• Processo de minimização do erro quadrático pelo método da descida mais íngreme

• Cada peso sináptico i do elemento processador j é atualizado proporcionalmente ao negativo da derivada parcial do erro de este processador com relação ao peso.

18

Page 19: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

• E = soma de erros quadráticos

• tpj = valor desejado da saída do padrão p para o processador j da camada de saída

• spj= estado de ativação do processador j da camada de saída quando se apresenta o padrão p .

• A vantagem de se utilizar o erro quadrático, é que os erros para diferentes padrões, para diferentes saídas são independentes.

19

Page 20: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo de

20

Page 21: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo de

21

Page 22: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo de ej

22

Depende da camada para a qual o processador j pertence

Page 23: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo de ej

jcamada de saída

23

Page 24: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo de ej

jcamada escondida

24

Page 25: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo de ej

jcamada escondida

25

Pelo aprendizagem supervisionado, somente se conhece o erro na camada de saída (ek)

Erro na saída (ek) é função do potencial interno do processador (netk)

A netk depende dos estados de ativação dos processadores da camada anterior (sj) e dos pesos das conexões (wkj)

Por tanto, sj de uma camada escondida afeta, em maior ou menor grau, o erro de todos os processadores da camada subsequente

Page 26: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo de ej

jcamada escondida

26

Page 27: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo de ej

jcamada escondida

27

Page 28: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de aprendizagem

28

Em resume, após o calculo da derivada, tem-se:

Em que:

si = valor de entrada recebido pela conexão i

ej = valor quadrático do erro do processador j

Page 29: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo do Erro (ej)

29

1. Processador j pertence à camada de saída:

Page 30: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Calculo do Erro (ej)

30

2. Processador j pertence à camada escondida:

Page 31: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

• O algoritmo backpropagation tem dois fases, para cada padrão apresentado:

– Feed-Forward: As entradas se propagam pela rede, da camada de entrada até a camada de saída.

– Feed-Backward: Os erros se propagam na direção contraria ao fluxo de dados, desde a camada de saída até a primeira camada escondida.

31

Page 32: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

32

Page 33: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Proceso de Aprendizaje

33

Page 34: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

34

Page 35: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

35

Page 36: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

36

Page 37: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

37

Page 38: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

38

Page 39: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

39

Page 40: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

40

Page 41: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

41

Page 42: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Processo de Aprendizagem

• Este processo de aprendizagem é repetido diversas vezes, até que, para todos os processadores da capa de saída e para todos os padrões de treinamento, o erro seja menor que o especificado.

42

Page 43: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Algoritmo de Aprendizagem

• Inicialização

– Pesos iniciais com valores aleatórios e pequenos |w|0.1

• Treinamento:

– Loop até que o erro de cada processador de saída seja tolerância

1. Aplica-se um padrão de entrada Xi com o respectivo vetor de saída Yi desejado.

2. Calcula-se as saídas dos processadores, iniciando-se a partir da primeira camada escondida até a camada de saída

3. Calcula-se o erro para cada processador da camada de saída. Se o errotolerância, para todos os processadores, voltar para o passo 1

4. Atualizar os pesos de cada processador, iniciando-se pela camada de saída, até a primeira camada escondida.

5. Voltar para o passo 1.

43

Page 44: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Formas de Aprendizagem

• Existem dois métodos básicos de aplicação do algoritmo de backpropagation

– Aprendizagem em Batch

Batch Learning , por ciclo

– Aprendizagem Incremental

on-line , por padrão

44

Page 45: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Aprendizagem Batch

Aprendizagem em Batch, por ciclo

Somente ajusta os pesos após a apresentação de todos os padrões

Cada padrão é avaliado com a mesma configuração dos pesos

45

Page 46: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Aprendizagem Incremental

Aprendizagem em Batch, por padrão

Atualiza os pesos a cada apresentação de um novo padrão

Os pesos são atualizados usando o método descida mais íngreme do erro de um único padrão

Tende a aprender melhor o ultimo padrão apresentado

46

Page 47: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Aprendizagem Batch x Incremental

O modo Batch necessita de menos atualizações de pesos (é mais rápido)

Batch proporciona uma medida mais exata da mudança dos valores dos pesos

Batch necessita mais memoria

Incremental, tem menos chance de ficar preso em um mínimo local devido à apresentação aleatória dos padrões

47

Page 48: Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1 Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br . Conteúdo 1. Introdução

Conclusão

• O BackPropagation é o algoritmo de redes neurais mais utilizado em aplicações práticas de:

– Previsão

– Classificação

– Reconhecimento de Padrões

48