Eu li alguns artigos discutindo prós e contras de cada método, alguns argumentando que o GA não melhora nenhuma a solução ideal, enquanto outros mostram que é mais eficaz. Parece que o GA é geralmente preferido na literatura (embora a maioria das pessoas o modifique de alguma maneira para alcançar os resultados de que precisam), então por que a maioria das soluções de software parece usar apenas a retropropagação?
Existe alguma regra geral quando usar um ou outro? Talvez dependa do tipo de NN ou exista alguma solução de ponta que geralmente supera outras?
Se possível, estou procurando respostas gerais: "se o NN é enorme, o GA é melhor" ou "o GA é sempre melhor, mas tem problemas de desempenho computacional" etc.
Um dos principais problemas das redes neurais é o ajuste excessivo, o que significa que algoritmos que se esforçam muito para encontrar uma rede que minimiza algum critério com base em uma amostra finita de dados terminam em uma rede que funciona muito bem para essa amostra específica de dados, mas que terão pouca generalização. Sou bastante cauteloso ao usar os GAs para projetar redes neurais por esse motivo, especialmente se eles otimizam a arquitetura ao mesmo tempo em que otimizam os pesos. Geralmente, descobri que as redes de treinamento (com regularização) de um número (digamos 20) de vetores iniciais aleatórios de peso e a formação de um conjunto de todas as redes resultantes são geralmente uma abordagem tão boa quanto qualquer outra.
Essencialmente, a otimização é a raiz de todos os males do aprendizado de máquina. Quanto mais você pratica, maior a probabilidade de acabar supercondicionando os dados.
fonte
Sempre que você lida com grandes quantidades de dados e deseja resolver uma tarefa de aprendizado supervisionado com uma rede neural de feed-forward, soluções baseadas em retropropagação são muito mais viáveis. A razão para isso é que, para uma rede neural complexa, o número de parâmetros livres é muito alto. Um projeto da indústria em que estou trabalhando atualmente envolve uma rede neural de feed-forward com cerca de 1000 entradas, duas camadas ocultas com 384 neurônios cada e 60 saídas. Isso leva a 1000 * 384 + 384 * 384 + 384 * 60 = 554496 parâmetros de peso que devem ser otimizados. Usar uma abordagem de GA aqui seria terrivelmente lenta.
fonte
A segunda resposta está errada. A super adaptação não é causada pela otimização. A adaptação excessiva acontece quando o modelo é muito complicado e pode caber em todos os pontos de dados sem aprender a regra real que os criou (por exemplo, apenas memorizá-los, no caso extremo). Existem várias maneiras de evitar a adaptação excessiva, como escolher modelos mais simples, desistências, dropconnect, redução de peso e apenas usando mais dados. O objetivo deve ser otimizar sua rede e torná-la a mais precisa possível, levando em conta essas restrições.
Para responder à pergunta, o backprop é supostamente muito mais rápido que a otimização estocástica (algoritmos genéticos e afins.) Meu palpite é que isso porque ele tira vantagem do que a saída real deveria ser, ajusta os pesos na direção certa com base nisso. , onde a otimização estocástica tenta alterações completamente aleatórias e ignora essas informações.
No entanto, ao explorar uma área maior, os GAs provavelmente terão melhor desempenho a longo prazo, evitando as optimas locais, e levará mais tempo para treinar.
Estou curioso para saber quanto GAs são mais lentos do que o backprop e se alguém conhece algoritmos híbridos (a pesquisa de dispersão parece ser o ideal para isso).
fonte
A diferença entre o GA e a retropropagação é que o AG é baseado em números aleatórios e que a retropropagação é baseada em um algoritmo estático, como a descida do gradiente estocástico. A GA baseada em números aleatórios e adicionada a essa mutação significa que provavelmente evitaria ser pego em mínimos locais. Porém, o GA baseado em números aleatórios significa que é bastante provável que, por 2 vezes diferentes, você execute o aprendizado na mesma rede, pode chegar a uma conclusão diferente, ou seja, um conjunto diferente de pesos
fonte