A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Rede Neural de Backpropagation 1 www.ic.uff.br/~ferraz/IA/NN/Aprendizado BP.ppt."— Transcrição da apresentação:

1 Rede Neural de Backpropagation 1 BP.ppt

2 Seja t k a k-th saída alvo (desejada) e z k 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 2 Aprendizagem - Notação para a dedução

3 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) 3 Minimização do erro

4 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 4 Atualização dos pesos das conexões

5 Erro é função da saída z k e z k é função de h como h k = w k t.y A regra de aprendizagem ou atualização de pesos entre a camada de saída e a camada oculta é w kj = k y j = (t k – z k ) f (h k )y j 5 Conexões com a camada de saída

6 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 6 Conexões com a camada oculta

7 Resumo da atualização de pesos Sabe-se que Para os pesos entre a camada de saída e a camada oculta o incremento é w kj = k y j = (t k – z k ) f (h k )y j = (t k – z k ) f (h k ) (1- f (h k )y j Para os pesos entre a camada oculta e a camada de entrada o incremento é 7

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

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

10 Seja h a soma ponderada de entradas de um neurônio Sejam as camadas numeradas a partir de 1 (entrada) x c-1 (n) entrada no neurônio n da camada c w k (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 w 2 (0,1) = - *x 1 (0)* 2 (1) atualização de pesos Para conexão com a camada de saída 3 (1) = x 3 (1)*(1 - x 3 (1))*(d - x 3 (1)) Para conexão com camada oculta 2 (1) = x 2 (1)*(1 - x 2 (1)*[(w 3 (1,1)* 3 (1)] 2 (2) = x 2 (2)*(1 - x 2 (2)*[(w 3 (2,1)* 3 (1)] 10 Notação para o exemplo

11 Camada oculta Neurônio 1: w 2 (0,1) = 0, w 2 (1,1) = 0, w 2 (2,1) =-0, Camada oculta Neurônio 2: w 2 (0,2) =-0, w 2 (1,2) = 0, w 2 (2,2) =-0, Camada de saída Neurônio 1: w 3 (0,1) =-0, w 3 (1,1) = 0, w 3 (2,1) = 0, Entrada inicial x 1 (0) = 1 (bias) x 1 (1) = 0 x 1 (2) = 0 11 Exemplo – Inicialização

12 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, Neurônio 2: (1 *-0,115223) + (0 * 0,570345) + (0 * -0,328932) = -0, Aplicando a função de ativação logística temos x 2 (1) = 1/(1+e^(-0,341232)) = 0, x 2 (2) = 1/(1+e^( 0,115223)) = 0, Exemplo – Treinamento Forward Camada oculta Neurônio 1: w 2 (0,1) = 0, w 2 (1,1) = 0, w 2 (2,1) =-0, Camada oculta Neurônio 2: w 2 (0,2) =-0, w 2 (1,2) = 0, w 2 (2,2) =-0,328932

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

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

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

16 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. 16 Exemplo – Treinamento Backward (2)

17 w 2 (0,1) = - *x 1 (0)* 2 (1) = - 0,5 * 1 * -0, = 0, w 2 (1,1) = - *x 1 (1)* 2 (1) = - 0,5 * 0 * -0, = 0 w 2 (2,1) = - *x 1 (2)* 2 (1) = - 0,5 * 0 * -0, = 0 w 2 (0,2) = - *x 1 (0)* 2 (2) = - 0,5 * 1 * -0, = 0, w 2 (1,2) = - *x 1 (1)* 2 (2) = - 0,5 * 0 * -0, = 0 w 2 (2,2) = - *x 1 (2)* 2 (2) = - 0,5 * 0 * -0, = 0 w 3 (0,1) = - *x 2 (0)* 3 (1) = - 0,5 * 1 * -0, = 0, w 3 (1,1) = - *x 2 (0)* 3 (1) = - 0,5 * 0, * -0, = 0, w 3 (2,1) = - *x 2 (0)* 3 (1) = - 0,5 * 0, * -0, = 0, Exemplo – Treinamento Backward (3)

18 Valores atualizados dos pesos das conexões w 2 (0,1) = 0, , = 0, w 2 (1,1) = 0, = 0, w 2 (2,1) =-0, = -0, w 2 (0,2) = -0, , = -0, w 2 (1,2) = 0, = 0, w 2 (2,2) =-0, = -0, w 3 (0,1) =-0, , = -1, w 3 (1,1) = 0, , = 0, w 3 (2,1) = 0, , = 0, Exemplo – Atualização dos pesos

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

20 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, Neurônio 2: (1 * - 0,123236) + (0 * 0,570345) + (0 * -0,328932) = -0, Aplicando a função de ativação logística temos x 2 (1) = 1/(1+e^(-0,342942)) = 0, x 2 (2) = 1/(1+e^(0,123236)) = 0, Segundo ciclo – Treinamento Forward Camada oculta Neurônio 1: w2(0,1) = 0, w2(1,1) = 0, w2(2,1) =-0, Camada oculta Neurônio 2: w2(0,2) = - 0, w2(1,2) = 0, w2(2,2) =-0,328932

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

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

23 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 ( é um número bastante razoável) 23


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

Apresentações semelhantes


Anúncios Google