Você está na página 1de 49

Redes Neurais Artificiais (RNA)

Definições
Prof. Juan Moisés Mauricio Villanueva
jmauricio@cear.ufpb.br

1
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 Comparações 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
Introdução
Rede Neural Artificial: RNA

5
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
Objetivo:

Dados de
treinamento

Erro=

9
Exemplo de Treinamento de uma RNA
Objetivo:

Dados de
treinamento

Erro=

10
Utilização da Rede Neural

Novo dado, que


não foi apresentado
durante o
treinamento

11
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
 Depende da camada para a qual o processador j pertence

22
Calculo de ej
jcamada de saída

23
Calculo de ej
jcamada escondida

24
Calculo de ej
jcamada escondida
 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

25
Calculo de ej
jcamada escondida

26
Calculo de ej
jcamada escondida

27
Processo de aprendizagem
 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

28
Calculo do Erro (ej)

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

29
Calculo do Erro (ej)
 2. Processador j pertence à camada escondida:

30
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
F’

0 F’(net)===0

net

37
Processo de Aprendizagem

38
Processo de Aprendizagem

39
Processo de Aprendizagem

40
Processo de Aprendizagem

41
Processo de Aprendizagem

42
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.

43
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
errotolerâ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.

44
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

45
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

46
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

47
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

48
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

49

Você também pode gostar