Rede Neural de Backpropagation

Slides:



Advertisements
Apresentações semelhantes
Computação Gráfica I Conteúdo: Professor: - Objetos gráficos espaciais
Advertisements

A = ( 3 ) , logo | A | = 3 Determinantes
Amintas engenharia.
O Planejamento Social de um Galinha
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Redes Neurais Artificiais (RNA): Introdução
Redes Neurais Artificiais (RNA): Perceptron
Redes Neurais Artificiais (RNA): Aprendizado
Aspectos de Implementação do Algoritmo Backpropagation
Especificações de Filtros
Integração Numérica – Áreas e Equações
Múltiplos Os múltiplos de um número inteiro obtêm-se multiplicando esse número por 0, 1, 2, 3, 4, 5, 6, ... Exemplos: M5= {0, 5, 10, 15, 20,
AULA06-exercícios MLP.
Backpropagation Through Time
AULA 03 PERCEPTRON SIMPLES.
AULA04 PERCEPTRON MULTI-CAMADAS MULTI-LAYER PERCEPTRON (MLP)
Para Casa – Montar o cariograma
1 Camada de redes: Interoperabilidade com IP. 2 Enlaces entre duas máquinas.
Determinantes Determinante é um número real associado a uma matriz quadrada. Notação: det A ou |A|. Determinante de uma Matriz Quadrada de 1ª Ordem. Seja.
SISTEMAS DE EQUAÇÕES.
Circuitos Lógicos Sequenciais
Curso Introdução às Redes Neuronais Parte 2 Prof. Dr. rer.nat. Aldo von Wangenheim.
Algoritmos Distribuídos Professora: Lúcia Drummond
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
DIAGRAMA DE ATIVIDADES
DIAGRAMA DE CASOS DE USO PERSPECTIVA CONCEITUAL
Rede Neural de Backpropagation
Cérebro Artificial Intelligence, a modern approach
Inteligência Artificial
Inteligência Artificial
Determinantes SilvanaWBenvenutti Turma:301
Auditoria de Segurança da Informação
CEP – Controle Estatístico de Processo
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Determinantes.
Teoria da Produção e do Custo
Compras - Controle de estoque por lote
Davyd Bandeira de Melo Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM Junho 2011.
Inteligência Artificial Redes Neurias
Expressão algébrica a partir da representação gráfica da função
Fundamentos e aplicações
Inteligência Artificial
Dinâmica de um Ponto Material: Impulso e Quantidade de Movimento
Anderson Berg Orientador: Prof. Fernando Buarque
IFPE Campus Garanhuns– Curso Técnico em Informática 1 Sexta-feira, 19 de Agosto de 2011 Eletrônica Arquitetura de Computadores.
SISTEMAS LINEARES.
Aula 02 Variáveis, Matrizes, Gráficos
Salas de Matemática.
Circuitos Elétricos 2 Circuitos Elétricos Aplicados
Funções e suas propriedades
Sistemas Operacionais
Redes Neurais Prof. Alex F. V. Machado.
Conceitos de Lógica Digital
Infra-Estrutura de Hardware
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Redes Neuronais/Neurais/ Conexionistas Introdução
1.
EFD – SPED FISCAL 1. Objetivos: O arquivo Sped Fiscal é uma obrigação fiscal e deve ser gerado mensalmente por alguns estabelecimentos. Esse arquivo deve.
Campus de Caraguatatuba Aula 2: Somatório e Produtório
Redes Neurais Artificiais
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Diagrama Polar 请看下页.
Contagem Sequencial do Estoque
Contagem Sequencial do Estoque
Prof. Anne Magály de Paula Canuto
Redes Neurais Artificiais
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
Transcrição da apresentação:

Rede Neural de Backpropagation www.ic.uff.br/~ferraz/IA/NN/Aprendizado BP.ppt

Aprendizagem - Notação para a dedução Seja tk a k-th saída alvo (desejada) e zk a k-th saída computada para k = 1, …, c Sejam w os pesos da rede Seja h a soma ponderada de entradas de um neurônio O erro da rede ou erro de treinamento é dado por: A minimização do erro só pode ser feita atuando sobre os pesos das conexões da rede

Minimização do erro Para minimizar o erro é preciso igualar a zero sua derivada em relação aos pesos Erro é função de da soma ponderada h e da função de ativação f; h é função dos pesos Derivando parcialmente (camada de saída) k mostra a variação do erro com a unidade (neurônio)

Atualização dos pesos das conexões A minimização do erro só pode ser feita atuando sobre os pesos das conexões da rede Depois de cada computação de saída de ordem m o erro de treinamento deve ser minimizando modificando esse pesos para a computação de ordem m+1 w(m +1) = w(m) + w(m) Incremento de peso para redução do erro de treinamento, que deve ser minimizado  é o coeficiente de aprendizagem

Conexões com a camada de saída Erro é função da saída zk e zk é função de h como hk = wkt.y A regra de aprendizagem ou atualização de pesos entre a camada de saída e a camada oculta é wkj = kyj = (tk – zk) f’ (hk)yj

Conexões com a camada oculta A regra de aprendizagem ou atualização de pesos entre a camada oculta e a camada de entrada é semelhante k mostra a variação do erro com o peso da conexão

Resumo da atualização de pesos Sabe-se que Para os pesos entre a camada de saída e a camada oculta o incremento é wkj = kyj = (tk – zk) f’ (hk)yj = (tk – zk) f (hk) (1- f (hk)yj Para os pesos entre a camada oculta e a camada de entrada o incremento é

Derivadas das funções de transferência Para a função logística Para a função tangente hiperbólica f(y) = tanh(y)

Exemplo de backpropagation XOR Camada de saída 3 1 w3(0,1) w2(0,2) w3(2,1) bias w3(1,1) w2(0,1) 2 Camada oculta 2 1 w2(2,2) w2(1,1) w2(2,1) Camada de entrada 1 1 w2(1,2) 2 0,0 0,0

Notação para o exemplo Seja h a soma ponderada de entradas de um neurônio Sejam as camadas numeradas a partir de 1 (entrada) xc-1(n)  entrada no neurônio n da camada c wk(i,j)  peso da conexão entre o neurônio i da camada k-1 e o neurônio j da camada k k(n)  parcela a corrigir do nó n na camada k w2(0,1) = - *x1(0)*2(1) atualização de pesos Para conexão com a camada de saída 3(1) = x3(1)*(1 - x3(1))*(d - x3(1)) Para conexão com camada oculta 2(1) = x2(1)*(1 - x2(1)*[(w3(1,1)*3(1)] 2(2) = x2(2)*(1 - x2(2)*[(w3(2,1)*3(1)]

Exemplo – Inicialização Camada oculta Neurônio 1: w2(0,1) = 0,341232 w2(1,1) = 0,129952 w2(2,1) =-0,923123 Camada oculta Neurônio 2: w2(0,2) =-0,115223 w2(1,2) = 0,570345 w2(2,2) =-0,328932 Camada de saída Neurônio 1: w3(0,1) =-0,993423 w3(1,1) = 0,164732 w3(2,1) = 0,752621 Entrada inicial x1(0) = 1 (bias) x1(1) = 0 x1(2) = 0

Exemplo – Treinamento Forward Para a camada oculta os resultados da função somadora são Neurônio 1: (1 * 0,341232) + (0 * 0,129952) + (0 * -0,923123) = 0,341232 Neurônio 2: (1 *-0,115223) + (0 * 0,570345) + (0 * -0,328932) = -0,115223 Aplicando a função de ativação logística temos x2(1) = 1/(1+e^(-0,341232)) = 0,584490 x2(2) = 1/(1+e^( 0,115223)) = 0,471226 Camada oculta Neurônio 1: w2(0,1) = 0,341232 w2(1,1) = 0,129952 w2(2,1) =-0,923123 Camada oculta Neurônio 2: w2(0,2) =-0,115223 w2(1,2) = 0,570345 w2(2,2) =-0,328932

Exemplo – Treinamento Forward (2) A entrada para camada de saída será x2(0) = 1 (bias) x2(1) = 0,584490 x2(2) = 0,471226 Para a camada de saída o resultado da função somadora é Neurônio 1: (1 *-0,993423) + (0,584490 * 0,164732) + (0,471226 * 0,752621) = -0,542484 Aplicando a função de ativação logística temos x3(1) = 1/(1+e^(-0,542484)) = 0,367610 Camada de saía Neurônio 1: w3(0,1) =-0,993423 w3(1,1) = 0,164732 w3(2,1) = 0,752621

Exemplo – Treinamento Forward (3) O resultado esperado era 0 logo o erro é 0,367610.  A diferença a corrigir é dada por No caso em tela 3(1) = x3(1)*(1 - x3(1))*(d - x3(1)) 3(1) = x3(1)*(1 - x3(1))*(d - x3(1)) = = 0,367610 * (1 - 0,367610)(0 - 0,367610) = =-0,085459 x3(1) = 0,367610

Exemplo – Treinamento Backward (1) Para os neurônios da camada oculta as diferenças a corrigir são w3(1,1)3(1) é a diferença a corrigir neurônio 1 w3(2,1)3(1) é a diferença a corrigir neurônio 2   2(1) = x2(1)*(1 - x2(1)*w3(1,1)*3(1) 2(1) = 0,584490 * (1 - 0,584490)*(0,164732)*(-0,085459) = -0,003419 2(2) = x2(2)*(1 - x2(2)*w3(2,1)*3(1) 2(2) = 0,471226 * (1 - 0,471226)*(0,752621)*(-0,085459) = -0,016026 x2(0) = 1 (bias) x2(1) = 0,584490 x2(2) = 0,471226 3(1) =-0,085459 w3(1,1) = 0,164732 w3(2,1) = 0,752621

Exemplo – Treinamento Backward (2) A atualização dos pesos das conexões é dada por sendo  o coeficiente de aprendizagem um amortecedor empírico, no caso com valor igual a 0,5.

Exemplo – Treinamento Backward (3) w2(0,1) = - *x1(0)*2(1) = - 0,5 * 1 * -0,0034190 = 0,001710 w2(1,1) = -  *x1(1)*2(1) = - 0,5 * 0 * -0,0034190 = 0 w2(2,1) = -  *x1(2)*2(1) = - 0,5 * 0 * -0,003419 = 0 w2(0,2) = - *x1(0)*2(2) = - 0,5 * 1 * -0,0160263 = 0,008013 w2(1,2) = - *x1(1)*2(2) = - 0,5 * 0 * -0,0160263 = 0 w2(2,2) = - *x1(2)*2(2) = - 0,5 * 0 * -0,0160263 = 0 w3(0,1) = - *x2(0)*3(1) = - 0,5 * 1 * -0,085459 = 0,042730 w3(1,1) = - *x2(0)*3(1) = - 0,5 * 0,584490 * -0,085459 = 0,024975 w3(2,1) = - *x2(0)*3(1) = - 0,5 * 0,471226 * -0,085459 = 0,020135

Exemplo – Atualização dos pesos Valores atualizados dos pesos das conexões   w2(0,1) = 0,341232 + 0,001710 = 0,342942 w2(1,1) = 0,129952 + 0 = 0,129952 w2(2,1) =-0,923123 + 0 = -0,923123 w2(0,2) = -0,115223 + 0,008013 = -0,123236 w2(1,2) = 0,570345 + 0 = 0,570345 w2(2,2) =-0,328932 + 0 = -0,328932 w3(0,1) =-0,993423 - 0,042730 = -1,036153 w3(1,1) = 0,164732 - 0,024975 = 0,139757 w3(2,1) = 0,752621 - 0,020135 = 0,732485

Segundo ciclo Camada oculta Neurônio 1: w2(0,1) = 0,342942 Camada de saída Neurônio 1: w3(0,1) = -1,036153 w3(1,1) = 0,139757 w3(2,1) = 0,732485 Entrada inicial x1(0) = 1 (bias) x1(1) = 0 x1(2) = 0

Segundo ciclo – Treinamento Forward Para a camada oculta os resultados da função somadora são Neurônio 1: (1 * 0,342942) + (0 * 0,129952) + (0 * -0,923123) = 0,342942 Neurônio 2: (1 * - 0,123236) + (0 * 0,570345) + (0 * -0,328932) = -0,123236 Aplicando a função de ativação logística temos x2(1) = 1/(1+e^(-0,342942)) = 0,584905 x2(2) = 1/(1+e^(0,123236)) = 0,469230 Camada oculta Neurônio 1: w2(0,1) = 0,324137 w2(1,1) = 0,129952 w2(2,1) =-0,923123 Camada oculta Neurônio 2: w2(0,2) = - 0,035093 w2(1,2) = 0,570345 w2(2,2) =-0,328932

Segundo ciclo – Treinamento Forward (2) A entrada para camada de saída será x2(0) = 1 (bias) x2(1) = 0,584905 x2(2) = 0,469230 Para a camada de saída o resultado da função somadora é Neurônio 1: (1 * -1,036153) + (0,584905* 0,139757) + (0,469230 * 0,732485) = - 0,610740 Aplicando a função de ativação logística temos x3(1) = 1/(1+e^(0,610740)) = 0,351899 Camada de saída Neurônio 1: w3(0,1) = -1,036153 w3(1,1) = 0,139757 w3(2,1) = 0,732485

Segundo ciclo – Treinamento Forward (3) O resultado esperado era 0 logo o erro é 0,351899. O erro obtido anteriormente era de 0,367610.  A diferença a corrigir é dada por No caso em tela 3(1) = x3(1)*(1 - x3(1))*(d - x3(1)) 3(1) = x3(1)*(1 - x3(1))*(d - x3(1)) = = 0,351899 * (1 - 0,351899)(0 - 0,351899) = =-0,080256 x3(1) = 0,351899

Fim do treinamento A aprendizagem se repete até que o erro seja menor do que um patamar especificado ou seja atingido o número considerado razoável de ciclos (10.000 é um número bastante razoável)