Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1...
Transcript of Redes Neurais Artificiais (RNA) Definições · Redes Neurais Artificiais (RNA) Definições 1...
Redes Neurais Artificiais (RNA)
Definições
1
Prof. Juan Moisés Mauricio Villanueva
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