Retropropagação em rede neural: algoritmo de aprendizado de máquina
Antes de aprendermos Rede Neural de Retropropagação (BPNN), vamos entender:
O que são redes neurais artificiais?
Uma rede neural é um grupo de unidades de E/S conectadas onde cada conexão possui um peso associado aos seus programas de computador. Ajuda você a construir modelos preditivos a partir de grandes bancos de dados. Este modelo baseia-se no sistema nervoso humano. Ajuda você a conduzir a compreensão de imagens, aprendizado humano, fala computacional, etc.
O que é Retropropagação?
Retropropagação é a essência do treinamento de redes neurais. É o método de ajuste fino dos pesos de uma rede neural com base na taxa de erro obtida na época anterior (ou seja, iteração). O ajuste adequado dos pesos permite reduzir as taxas de erro e tornar o modelo confiável, aumentando sua generalização.
Retropropagação em rede neural é uma forma abreviada de “propagação retroativa de erros”. É um método padrão de treinamento de redes neurais artificiais. Este método ajuda a calcular o gradiente de uma função de perda em relação a todos os pesos da rede.
Como funciona o algoritmo de retropropagação
O algoritmo de retropropagação em rede neural calcula o gradiente da função de perda para um único peso pela regra da cadeia. Ele calcula com eficiência uma camada por vez, ao contrário de uma computação direta nativa. Ele calcula o gradiente, mas não define como o gradiente é usado. Generaliza o cálculo na regra delta.
Considere o seguinte diagrama de exemplo de rede neural de retropropagação para entender:
- Entradas X, chegam pelo caminho pré-conectado
- A entrada é modelada usando pesos reais W. Os pesos geralmente são selecionados aleatoriamente.
- Calcule a saída para cada neurônio da camada de entrada às camadas ocultas e à camada de saída.
- Calcule o erro nas saídas
ErrorB= Actual Output – Desired Output
- Volte da camada de saída para a camada oculta para ajustar os pesos de forma que o erro diminua.
Continue repetindo o processo até que o resultado desejado seja alcançado
Por que precisamos de retropropagação?
As vantagens mais importantes da retropropagação são:
- A retropropagação é rápida, simples e fácil de programar
- Não possui parâmetros para ajustar além dos números de entrada
- É um método flexível, pois não requer conhecimento prévio sobre a rede
- É um método padrão que geralmente funciona bem
- Não é necessária nenhuma menção especial às características da função a ser aprendida.
O que é uma rede feedforward?
Uma rede neural feedforward é uma rede neural artificial onde os nós nunca formam um ciclo. Esse tipo de rede neural possui uma camada de entrada, camadas ocultas e uma camada de saída. É o primeiro e mais simples tipo de rede neural artificial.
Tipos de redes de retropropagação
Dois tipos de redes de retropropagação são:
- Retropropagação estática
- Retropropagação recorrente
Retropropagação estática
É um tipo de rede de retropropagação que produz um mapeamento de uma entrada estática para uma saída estática. É útil para resolver problemas de classificação estática, como reconhecimento óptico de caracteres.
Retropropagação recorrente
A retropropagação recorrente na mineração de dados é alimentada até que um valor fixo seja alcançado. Depois disso, o erro é calculado e propagado para trás.
A principal diferença entre esses dois métodos é: o mapeamento é rápido na retropropagação estática, enquanto não é estático na retropropagação recorrente.
História da retropropagação
- Em 1961, o conceito básico de retropropagação contínua foi derivado no contexto da teoria de controle por J. Kelly, Henry Arthur e E. Bryson.
- Em 1969, Bryson e Ho apresentaram um método de otimização de sistema dinâmico de vários estágios.
- Em 1974, Werbos afirmou a possibilidade de aplicação deste princípio em uma rede neural artificial.
- Em 1982, Hopfield trouxe sua ideia de rede neural.
- Em 1986, pelo esforço de David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, a retropropagação ganhou reconhecimento.
- Em 1993, Wan foi a primeira pessoa a vencer um concurso internacional de reconhecimento de padrões com a ajuda do método retropropagação.
Pontos-chave da retropropagação
- Simplifica a estrutura da rede por elementos de links ponderados que têm menor efeito na rede treinada
- Você precisa estudar um grupo de valores de entrada e ativação para desenvolver o relacionamento entre as camadas de entrada e de unidade oculta.
- Ajuda a avaliar o impacto que uma determinada variável de entrada tem na saída da rede. O conhecimento adquirido com esta análise deve ser representado em regras.
- A retropropagação é especialmente útil para redes neurais profundas que trabalham em projetos propensos a erros, como reconhecimento de imagem ou fala.
- A retropropagação aproveita as regras de cadeia e potência permite que a retropropagação funcione com qualquer número de saídas.
Melhor prática Backpropagation
A retropropagação em rede neural pode ser explicada com a ajuda da analogia “Shoe Lace”
Pouca tensão =
- Não é suficientemente restritivo e é muito frouxo
Muita tensão =
- Muita restrição (overtraining)
- Demorando muito (processo relativamente lento)
- Maior probabilidade de quebrar
Puxando um cadarço mais que o outro =
- Desconforto (preconceito)
Desvantagens de usar retropropagação
- O desempenho real da retropropagação em um problema específico depende dos dados de entrada.
- O algoritmo de retropropagação na mineração de dados pode ser bastante sensível a dados ruidosos
- Você precisa usar a abordagem baseada em matriz para retropropagação em vez de minilote.
Resumo
- Uma rede neural é um grupo de unidades de E/S conectadas onde cada conexão possui um peso associado aos seus programas de computador.
- Retropropagação é uma forma abreviada de “propagação retroativa de erros”. É um método padrão de treinamento de redes neurais artificiais
- Algoritmo de retropropagação em aprendizado de máquina é rápido, simples e fácil de programar
- Uma rede BPN feedforward é uma rede neural artificial.
- Dois tipos de redes de retropropagação são 1) Retropropagação estática 2) Retropropagação recorrente
- Em 1961, o conceito básico de retropropagação contínua foi derivado no contexto da teoria de controle por J. Kelly, Henry Arthur e E. Bryson.
- Retropropagação em mineração de dados simplifica a estrutura da rede removendo links ponderados que têm um efeito mínimo na rede treinada.
- É especialmente útil para redes neurais profundas que trabalham em projetos propensos a erros, como reconhecimento de imagem ou fala.
- A maior desvantagem do Backpropagation é que ele pode ser sensível a dados ruidosos.