Os dois primeiros algoritmos mencionados (Nelder-Mead e Simulated Annealing) são geralmente considerados bastante obsoletos nos círculos de otimização, pois existem alternativas muito melhores que são mais confiáveis e menos dispendiosas. Os algoritmos genéticos cobrem uma ampla variedade e alguns deles podem ser razoáveis.
No entanto, na classe mais ampla de algoritmos de otimização sem derivativos (DFO), há muitos que são significativamente melhores do que esses "clássicos", pois essa tem sido uma área ativa de pesquisa nas últimas décadas. Então, algumas dessas abordagens mais recentes podem ser razoáveis para aprendizado profundo?
Um artigo relativamente recente comparando o estado da arte é o seguinte:
Rios, LM, & Sahinidis, NV (2013) Otimização sem derivadas: uma revisão de algoritmos e comparação de implementações de software. Jornal de otimização global.
Este é um artigo interessante, com muitas idéias interessantes sobre técnicas recentes. Por exemplo, os resultados mostram claramente que os melhores otimizadores locais são todos "baseados em modelo", usando diferentes formas de programação quadrática seqüencial (SQP).
No entanto, como observado em seu resumo "Concluímos que a capacidade de todos esses solucionadores em obter boas soluções diminui com o aumento do tamanho do problema". Para se ter uma idéia dos números, para todos os problemas, os solucionadores receberam um orçamento de 2500 avaliações de funções, e os tamanhos dos problemas foram no máximo ~ 300 parâmetros a serem otimizados. Além dos parâmetros O [10], muito poucos desses otimizadores tiveram um desempenho muito bom, e mesmo os melhores apresentaram uma deterioração notável no desempenho à medida que o tamanho do problema foi aumentado.
Portanto, para problemas dimensionais muito altos, os algoritmos DFO simplesmente não são competitivos com os baseados em derivativos. Para dar uma perspectiva, a otimização baseada em PDE (equação diferencial parcial) é outra área com problemas dimensionais muito altos (por exemplo, vários parâmetros para cada célula de uma grande grade de elementos finitos 3D). Nesta região, o " método adjunta " é um dos métodos mais usados. Este também é um otimizador de descida de gradiente baseado na diferenciação automática de um código de modelo de encaminhamento.
O mais próximo de um otimizador de DFO de alta dimensão talvez seja o Ensemble Kalman Filter , usado para assimilar dados em simulações complexas de PDE, por exemplo, modelos climáticos. Curiosamente, essa é essencialmente uma abordagem SQP, mas com uma interpretação bayesiana-gaussiana (portanto, o modelo quadrático é definido positivamente, ou seja, sem pontos de sela). Mas não acho que o número de parâmetros ou observações nessas aplicações seja comparável ao que é visto no aprendizado profundo.
Nota lateral (mínimos locais): Pelo pouco que li sobre aprendizado profundo, acho que o consenso é que são pontos de sela e não mínimos locais, que são mais problemáticos para espaços com parâmetros NN de alta dimensão.
Por exemplo, a recente revisão da Nature diz que "Resultados teóricos e empíricos recentes sugerem fortemente que os mínimos locais não são um problema sério em geral. Em vez disso, a paisagem é repleta de um número combinatorialmente grande de pontos de sela em que o gradiente é zero e o superfície se curva na maioria das dimensões e curvas no restante. "
Uma preocupação relacionada é a otimização local versus a otimização global (por exemplo, essa questão apontada nos comentários). Embora eu não tenha aprendido profundamente, na minha experiência o sobreajuste é definitivamente uma preocupação válida. Na minha opinião, os métodos de otimização global são mais adequados para problemas de projeto de engenharia que não dependem fortemente de dados "naturais". Em problemas de assimilação de dados, qualquer mínimo global atual pode mudar facilmente com a adição de novos dados (ressalva: minha experiência está concentrada em problemas de geociência, onde os dados geralmente são "esparsos" em relação à capacidade do modelo).
Uma perspectiva interessante é talvez
O. Bousquet e L. Bottou (2008) As vantagens e desvantagens do aprendizado em larga escala. NIPS.
que fornece argumentos semi-teóricos sobre por que e quando a otimização aproximada pode ser preferível na prática.
Nota final (meta-otimização): Embora as técnicas baseadas em gradiente pareçam ser dominantes nas redes de treinamento, pode haver uma função do DFO nas tarefas associadas de meta-otimização.
Um exemplo seria o ajuste de hiperparâmetros. (Interessante, os otimizadores de DFO baseados em modelo da Rios & Sahinidis podem ser vistos como essencialmente resolvendo uma sequência de problemas de projeto de experimentos / superfície de resposta .)
Outro exemplo pode ser o projeto de arquiteturas, em termos de configuração de camadas (por exemplo, número, tipo, sequência, nós / camada). Nesse contexto de otimização discreta, algoritmos de estilo genético podem ser mais apropriados. Observe que aqui estou pensando no caso em que a conectividade é determinada implicitamente por esses fatores (por exemplo, camadas totalmente conectadas, camadas convolucionais, etc.). Em outras palavras, a conectividade é meta-otimizada explicitamente. (A força da conexão cairia em treinamento, onde, por exemplo, a esparsidade poderia ser promovida pela regularização e / ou ativações ReLU ... essas opções poderiam ser meta-otimizadas no entanto.)O[N2]notL1