Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 20 - Backroagation
Introdução Redes de uma camada resolvem aenas roblemas linearmente searáveis Solução: utilizar mais de uma camada Camada 1: uma rede Percetron ara cada gruo de entradas linearmente searáveis Camada 2: uma rede combina as saídas das redes da rimeira camada, roduzindo a classificação final
Introdução
Introdução Treinamento da Rede Treinar a rede indeendentemente Saber como dividir o roblema em subroblemas Nem semre é ossível Treinar toda a rede Qual o erro dos neurônios da camada intermediária? Qual função de ativação?
Introdução Função de ativação linear Cada camada comuta uma função linear Comosição de funções lineares é uma função linear Semre vai existir uma rede com uma camada equivalente a uma rede multicamadas com funções de ativação lineares
Introdução Função de ativação ara redes multicamadas (MLP) Não devem ser todas lineares Exemlos de função não lineares Função sigmóide logística Função tangente hierbólica Etc...
Rede Multi-Layer Percetron A rede MLP é a arquitetura de RNA mais utilizada Possuem uma ou mais camadas intermediárias de nós Geralmente utiliza função de ativação sigmóide logística
Arendizagem em uma RNA Arendizagem Processo de Arendizagem Algoritmos de Arendizagem Paradígmas de Arendizagem Arendizado or correção de Erro Arendizado cometitivo Arendizado Hebbiano Arendizado Suervisionado Arendizado or Reforço Arendizado Não - Suervisionado Arendizado de Boltzman
Treinamento de redes MLP Grande variedade de Algoritmos Geralmente suervisionados Estáticos Não alteram a estrutura da rede Backroagation, Função de Base Redial (RBF) Construtivos Alteram estrutura da rede Ustar, Cascade Correlation
Treinamento de Redes MLP Treinamento estático MLP s com formatos e tamanhos diferentes odem utilizar mesma regra de arendizado Toologias diferentes odem resolver o mesmo roblema Regra mais utilizada: Backroagation
Backroagation Rede é treinada com ares entradasaída Cada entrada de treinamento está associada a uma saída desejada Treinamento é feito em duas etaas, cada uma ercorrendo a rede em um sentido
Fases do treinamento Fase forward(sinal) Fase backward (erro)
MLP com Backroagation Pardrão de Dados Camada de Entrada Camada de Saída Camadas Intermadiárias
Fase Forward Entrada é aresentada à rimeira camada da rede Aós os neurônios da camada i calcularem seus sinais de saída, os neurônios da camada i+1 calculam seus sinais de saída Saídas roduzidas elos neurônios da última camada são comaradas com as saídas desejadas Erro ara cada neurônio da camada de saída é calculado
Fase Backward A artir da última camada O nó ajusta seu eso de modo a reduzir o seu erro Nós das camadas anteriores tem seu erro definidos or: Erros dos nós da camada seguinte conectados a ele onderados elos esos das conexões entre eles
Backroagation Processamento Forward Testa um determinado adrão Backward Treinamento Ajusta os esos da rede
Arendizado or Correção de Erro E= 1 2 ( ) t o j 2 E Erro ara o adrão o Saída atual do nodo j ara o adrão t Saída desejada (target)
Minimização do Erro Vetor que aonta na direção de decrescimo da função erro: E = E w ij wˆ ij Pela regra da Cadeia: E w ij = E net net w ij
Desenvolvendo net w ij = w ij k w kj o = o E net = E o o net
Desenvolvendo o net = net ( f ( net ) = f ( net ) j j O outro termo deende de qual camada estamos: intermediária ou final! Camada de Saída: E o = o 1 2 j ( ) 2 t o = ( t o )
Desenvolvendo Sendo assim E net = f j ( net )( ) t o = δ Camadas intermediárias: E o = k E net k net o k = k δ k w kj
Desenvolvendo Gradiente do Erro: E w ij = δ o i Onde: δ = f f j j ( net )( t o ) ( net ) k δ k w o jk i,, Se camada de Saída Se camada intemediária
Função de Ativação Sigmoide Logistica: 1 f = 1 + e ( net ) net λ Deriovando: f ( net ) = λf ( net )( 1 f ( net )) = ( 1 ) λo o
Atualização dos Pesos w ij ( t + 1) = w ( t ) + w ij ij Ajuste ara o mínimo de Erro: (η - Taxa de Arendizagem) w w ij ij = E w ij E η = w ij ηδ o i
Backroagation - Resumo Função de saída Função de identidade y i = a i Treinamento Suervisionado Ajuste de Pesos w ij = ηx i y i (1-y i )δ i δ j = (d i -y i ) (se última camada) δ j = Σw jk δ k ( se camadas intermediárias) Não há garantias de convergência ara o treinamento
Treinamento - Algorítimo 1) Iniciar Todas as conexões com valores aleatórios e equenos ([-0.5,0.5] 2) Reita Erro = 0 Para cada ara de treinamento (X, d) Para cada camda k:=1 to N Para cada Neurônio j:=1 To M Calcular Saída y jk Se Erro > ε Então ara cada camada k:=n to 1 Para cada neurônio j:=1 to M Atualizar esos Até Erro < ε