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:

Algoritmo de retropropagação
Como funciona o algoritmo de retropropagação
  1. Entradas X, chegam pelo caminho pré-conectado
  2. A entrada é modelada usando pesos reais W. Os pesos geralmente são selecionados aleatoriamente.
  3. Calcule a saída para cada neurônio da camada de entrada às camadas ocultas e à camada de saída.
  4. Calcule o erro nas saídas
ErrorB= Actual Output – Desired Output
  1. 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.