Aspectos de Implementação do Algoritmo Backpropagation Função de Ativação Momento Inicialização dos Pesos Critério de Parada Generalização Normalização dos vetores entrada-saída Número de camadas intermediárias Escolha dos padrões de treinamento Sobretreinamento
Função de Ativação Tem que ser derivável em todo o seu domínio! Necessário para o cálculo do gradiente local dos neurônios Função Linear, Função Sigmóide (ou Logística), Função Tangente Hiperbólica
Momento Método do Gradiente Descendente Converge lentamente se for muito pequeno Apresenta oscilações se for muito grande
em torno de 0.9 (normalmente) Momento Solução simples: acresentar uma taxa de momento é a taxa de momento em torno de 0.9 (normalmente) Com a taxa de momento, pode-se escolher uma taxa de aprendizado mais elevada
Momento Evolução da função custo sem momento Evolução da função custo com momento
Inicialização dos Pesos Como escolher os valores iniciais dos pesos ? O ideal seria possuir alguma informação a respeito dos valores desejados destes parâmetros Entretanto normalmente esta informação é impossível de se obter a priori Pesos, e bias, devem ser pequenos (<<1) e escolhidos de forma aleatória dentro de um certo intervalo Importância da escolha dos valores iniciais: peso elevado pode resultar, mesmo para entradas pequenas, na saturação do neurônio Neurônios operando próximos da saturação é uma das causas do decaimento lento da função custo. Outra causa deste decaimento lento é a proximidade de um mínimo local
Inicialização dos Pesos Os pesos iniciais deve ser pequenos o suficiente para que o neurônio opere em uma região fora da saturação e grande o suficiente para que o tempo de treinamento não se torne muito elevado
Critério de Parada Não existe um critério bem definido para parada Como saber se o Algoritmo de Treinamento convergiu adequadamente ? Não existe um critério bem definido para parada Gradiente da Função Custo é nulo ! Esta condição não é suficiente para garantir um desempenho desejado para a RNA (mínimo local) Avaliar a Função Custo no final de uma determina época ! Considera-se que o algoritmo convergiu quando a Função Custo estiver próximo de um determinado valor, por exemplo 0.01 (o mínimo ainda pode ser local) Combinação dos dois casos anteriores !! Considerar a validação e os dois casos anteriores !!! Quando trabalha-se com RNAs uma das características mais importantes do uso das mesmas é a Generalização. Deve-se considerar no critério de parada a avaliação da Função Custo medida com um conjunto de entradas para o qual a RNA não foi treinada
Critério de Parada (conjunto de teste) Final do treinamento Função Custo = 0.022 Início do treinamento Conjunto de teste Função Custo = 0.18
Generalização Na fase de treinamento de uma RNA um conjunto de pares entrada-saída é apresentado à rede, e para cada par os pesos são ajustados Os pares entrada-saída são apresentados várias vezes para a rede No final do treinamento a RNA “aprendeu” o mapeamento, normalmente não-linear, entrada-saída daqueles pares apresentados Mas a RNA deve também “aprender” o mapeamento entrada-saída para outros pares diferentes daqueles apresentados durante o treinamento isto é a “generalização” treinamento x * x * Espaço de Entradas Espaço de Saídas generalização
Generalização A generalização pode ser melhor entendida no contexto de aproximação funcional Considere um exemplo em que conhecemos um conjunto de N pontos x é a entrada y é a saída f(.) é desconhecida O problema é encontrar um função f(x) que represente bem este conjunto de pontos Pesos,