Vantagens da otimização de enxame de partículas em relação à otimização bayesiana para ajuste de hiperparâmetro?


18

Existem pesquisas contemporâneas substanciais sobre otimização bayesiana (1) para ajustar os hiperparâmetros de ML. A motivação motriz aqui é que é necessário um número mínimo de pontos de dados para fazer escolhas informadas sobre quais pontos vale a pena tentar (chamadas de função objetivas são caras, portanto, menos é melhor) porque o treinamento de um modelo demanda muito tempo - alguns modestamente problemas grandes em SVM nos quais trabalhei podem levar entre minutos e horas para serem concluídos.

Por outro lado, o Optunity é uma implementação de enxame de partículas para abordar a mesma tarefa. Não estou familiarizado com o PSO, mas parece que ele deve ser menos eficiente no sentido de exigir um número maior de pontos de teste e, portanto, avaliações de funções objetivas, para avaliar a superfície do hiperparâmetro.

Estou faltando um detalhe importante que torna a PSO preferida à BO no contexto de aprendizado de máquina? Ou a escolha entre os dois é sempre inerentemente contextual para a tarefa de ajuste do hiperparâmetro?


(1) Shahriari et al, "Tirando o ser humano do círculo: uma revisão da otimização bayesiana".


não precisa de gradiente. trabalha com descontinuidade. moderadamente eficiente. lida com várias dimensões. lida bem com o ruído. Possui robustez embutida no estimador.
EngrStudent - Restabelece Monica

@EngrStudent Você pode dizer todas essas coisas sobre BO, exceto que BO parece ser mais eficiente, pois requer um número menor de avaliação de função, pelo menos na minha opinião. Não estou perguntando sobre o PSO em geral, estou perguntando sobre seus méritos em relação ao BO.
Sycorax diz Restabelecer Monica

1
Pouco instruído sobre o assunto para fazer disso uma resposta definitiva, mas eu acho que a otimização bayesiana deve sofrer o mesmo destino dos otimizadores mais eficientes com problemas altamente multimodais (veja: 95% dos problemas de aprendizado de máquina): o mínimo local mais próximo sem "pesquisar" o espaço global. Acho que o Particle Swarm teria melhor sorte em encontrar valores mínimos locais.
Cliff AB

2
Desculpas pela minha chegada tardia à festa, não sei como consegui ignorar uma pergunta sobre o Optunity por tanto tempo! :-)
Marc Claesen

1
@ MarcClaesen Devo admitir que esperava encontrar tempo para responder em algum momento. Tarde ou não, acho que estamos todos felizes por você ter chegado.
Sycorax diz Restabelecer Monica

Respostas:


25

Como desenvolvedor líder do Optunity, adicionarei meus dois centavos.

Fizemos extensos benchmarks comparando o Optunity com os solucionadores bayesianos mais populares (por exemplo, hiperopt, SMAC, bayesopt) em problemas do mundo real, e os resultados indicam que o PSO na verdade não é menos eficiente em muitos casos práticos. Em nosso benchmark, que consiste em ajustar os classificadores SVM em vários conjuntos de dados, o Optunity é realmente mais eficiente que o hyperopt e o SMAC, mas um pouco menos eficiente que o BayesOpt. Gostaria de compartilhar os resultados aqui, mas vou esperar até que o Optunity seja finalmente publicado no JMLR (em revisão há mais de um ano, portanto, não prenda a respiração ...).

Como você indica, o aumento da eficiência é um ponto de venda comumente usado para otimização bayesiana, mas na prática só retém água se as suposições dos modelos substitutos subjacentes se mantiverem, o que está longe de ser trivial. Em nossos experimentos, o simples solucionador de PSO do Optunity é geralmente competitivo com abordagens bayesianas complexas em termos de número de avaliações de funções. Os solucionadores bayesianos funcionam muito bem quando fornecidos com bons antecedentes, mas com um prévio não informativo praticamente não há benefício estrutural sobre métodos metaheurísticos, como o PSO, em termos de eficiência.

Um grande ponto de venda para o PSO é o fato de ser embaraçosamente paralelo. A otimização bayesiana é muitas vezes difícil de paralelizar, devido à sua natureza inerentemente seqüencial (a implementação da hiperopta é a única exceção real). Dadas as oportunidades de distribuição, que está se tornando a norma, o Optunity rapidamente assume a liderança no tempo do relógio de parede para obter boas soluções.

Outra diferença importante entre o Optunity e a maioria das outras bibliotecas dedicadas de otimização de hiperparâmetros é o público-alvo: o Optunity tem a interface mais simples e é direcionado a especialistas em aprendizado que não sejam máquinas, enquanto a maioria das outras bibliotecas exige algum entendimento da otimização bayesiana para ser usada com eficácia (ou seja, elas são direcionado a especialistas).

A razão pela qual criamos a biblioteca é que, apesar do fato de existirem métodos dedicados de otimização de hiperparâmetros, eles não são adotados na prática. A maioria das pessoas ainda não está sintonizando, fazendo isso manualmente ou por meio de abordagens ingênuas, como grade ou pesquisa aleatória. Em nossa opinião, uma das principais razões para isso é o fato de as bibliotecas existentes antes do desenvolvimento do Optunity serem muito difíceis de usar em termos de instalação, documentação, API e frequentemente limitadas a um único ambiente.


4
Uma resposta tão informada quanto possível! Estou curioso: você diz que o PSO Solver é competitivo com as abordagens de otimização bayesiana. Isso quer dizer que o PSO executado em paralelo é mais rápido que o Bayseian Optimization executado seqüencialmente ? Não estou tentando ser mau, mas é uma distinção importante para eu entender.
Cliff AB

2
Não, ambos executando sequencialmente. Em nossos experimentos (ajustando SVMs), a eficiência da otimização PSO e Bayesiana é competitiva em termos de número de avaliações de funções. Não comparamos a eficiência em termos de tempo de relógio de parede em configurações distribuídas, pois isso seria um pouco barato, já que muitos métodos de otimização bayesiana simplesmente não conseguem fazer isso.
Marc Claesen

Isso é interessante. Alguma ideia do por quê? Superfície instável de hiperparâmetros?
Cliff AB

3
Eu acho que existem várias razões. Por um lado, as superfícies com hiperparâmetros possuem muitas ótimas locais (por exemplo, devido a efeitos finitos de amostra, dobras de validação cruzada, aleatoriedade inerente em algumas abordagens de aprendizado). Em segundo lugar, a otimização bayesiana depende da construção de funções objetivas substitutas precisas, o que não é uma tarefa fácil até que a função objetivo tenha sido amostrada várias vezes. A otimização bayesiana leva um tempo antes que a convergência acelere (um detalhe frequentemente omitido). Nessa época, métodos metaheurísticos como o PSO também atingiram a fase de busca local. PSO é muito bom em pesquisa local.
Marc Claesen

4
+1 para uma excelente resposta. Criei meu próprio software de BO, que devo admitir que é principalmente um projeto básico neste momento, então entendo como o procedimento de BO funciona com alguns detalhes; Fico feliz por poder começar a arranhar a superfície do que mais está acontecendo no mundo dos afinadores de hiperparâmetros. Sua observação sobre abordagens ingênuas realmente me impressiona, pois um dos meus programas de ajuste ingênuos mais antigos está ajustando um modelo há uma semana sem fim à vista ... Obrigado por sua contribuição e tenho certeza de que terei mais perguntas quando eu digeri isso.
Sycorax diz Restabelecer Monica

0

A resposta depende do problema e não pode ser dada sem contexto adicional. Normalmente, a resposta seria a seguinte. A otimização bayesiana é mais adequada para problemas de baixa dimensão com o orçamento computacional de até 10x-100x o número de variáveis. O PSO pode ser bastante eficiente para orçamentos muito maiores, mas não é o estado da arte em seu nicho.


Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
gung - Restabelece Monica
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.