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

Post on 05-Jun-2020

30 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Redes Neurais Artificiais (RNA)

Definições

1

Prof. Juan Moisés Mauricio Villanueva

jmauricio@cear.ufpb.br

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

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

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

Introdução

5

Rede Neural Artificial: RNA

Estrutura de uma RNA

6

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

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

Exemplo de Treinamento de uma RNA

9

Erro=

Objetivo:

Dados de treinamento

Exemplo de Treinamento de uma RNA

10

Erro=

Objetivo:

Dados de treinamento

Utilização da Rede Neural

11

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

Regras de Aprendizagem

• Perceptron

• Delta Rule (Least Mean Square)

• Back Propagation

12

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

Algoritmo de Back Propagation

• Modelo do perceptron:

14

Algoritmo de Back Propagation

• Para uma Rede Multi-Layer Perceptron

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

15

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

Algoritmo de Back Propagation

• Topologia

17

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

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

Calculo de

20

Calculo de

21

Calculo de ej

22

Depende da camada para a qual o processador j pertence

Calculo de ej

jcamada de saída

23

Calculo de ej

jcamada escondida

24

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

Calculo de ej

jcamada escondida

26

Calculo de ej

jcamada escondida

27

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

Calculo do Erro (ej)

29

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

Calculo do Erro (ej)

30

2. Processador j pertence à camada escondida:

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

Processo de Aprendizagem

32

Proceso de Aprendizaje

33

Processo de Aprendizagem

34

Processo de Aprendizagem

35

Processo de Aprendizagem

36

Processo de Aprendizagem

37

Processo de Aprendizagem

38

Processo de Aprendizagem

39

Processo de Aprendizagem

40

Processo de Aprendizagem

41

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

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

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

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

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

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

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

top related