Por que a não-convexidade deve ser um problema na otimização?


20

Fiquei muito surpreso quando comecei a ler algo sobre otimização não convexa em geral e vi declarações como esta:

Muitos problemas práticos de importância são não convexos e a maioria dos problemas não convexos são difíceis (se não impossíveis) de resolver exatamente em um tempo razoável. ( fonte )

ou

Em geral, é difícil para o NP encontrar um mínimo local e muitos algoritmos podem ficar presos em um ponto de sela. ( fonte )

Estou fazendo um tipo de otimização não convexa todos os dias - ou seja, relaxamento da geometria molecular. Eu nunca considerei algo complicado, lento e propenso a ficar preso. Nesse contexto, temos claramente superfícies não convexas multidimensionais (> 1000 graus de liberdade). Usamos principalmente técnicas de primeira ordem derivadas de descidas mais íngremes e têmpera dinâmica como o FIRE , que convergem em poucas centenas de etapas para um mínimo local (menor que o número de DOFs). Espero que, com a adição de ruído estocástico, ele seja robusto como o inferno. (A otimização global é uma história diferente)

De alguma forma, não consigo imaginar como deveria ser a superfície da energia potencial para tornar esses métodos de otimização presos ou lentamente convergentes. Por exemplo, um PES muito patológico (mas não devido à não-convexidade) é essa espiral , mas não é um problema tão grande. Você pode dar um exemplo ilustrativo de PES não-convexo patológico?

Portanto, não quero discutir com as citações acima. Em vez disso, sinto que estou perdendo algo aqui. Talvez o contexto.


4
A palavra-chave aqui é "em geral" - você pode construir funcionais arbitrariamente desagradáveis, especialmente em dimensões muito altas, que são basicamente "todos os pontos de sela". Classes específicas de funcionais não-convexos, por outro lado, podem ser muito bem-comportadas, especialmente se você usar estratégias de globalização adequadas.
Christian Clason

2
Eu acho que a teoria ideal do controle e as aplicações de pesquisa de engenharia / operações enfatizam bastante a correção / robustez, enquanto você acha que chegar a um lugar "bom o suficiente" é bom o suficiente. Pode haver limites de desempenho (a convergência deve ser garantida, para que a trajetória de um robô seja calculada no tempo) ou limites de correção (se você alterar um pouco os parâmetros do problema, você não obtém um resultado totalmente diferente). Portanto, não basta obter alguns pontos ideais, também é necessário que eles tenham algumas propriedades prescritas.
Kirill

Respostas:


23

O mal-entendido está no que constitui "resolver" um problema de otimização, por exemplo, . Para os matemáticos, o problema só é considerado "resolvido" quando tivermos:argminf(x)

  1. Uma solução candidata: Uma escolha específica da variável de decisão e seu valor objetivo correspondente , ANDxf(x)
  2. Uma prova de otimização: Uma prova matemática de que a escolha de é globalmente ótima, ou seja, que vale para todas as opções de .xf(x)f(x)x

Quando é convexo, ambos os ingredientes são facilmente obtidos. A descida do gradiente localiza uma solução candidata que faz com que o gradiente desapareça . A prova de otimalidade segue de um fato simples ensinado na MATH101 que, se é convexo e seu gradiente desaparece em , então é uma solução global.fxf(x)=0ffxx

Quando é não-convexo, uma solução candidata ainda pode ser fácil de encontrar, mas a prova de otimização se torna extremamente difícil. Por exemplo, podemos executar uma descida de gradiente e encontrar um ponto . Mas quando é não-convexo, a condição é necessária, mas não é suficiente para otimizar globalmente. De fato, isso nem é suficiente para otimizar localmente , ou seja, não podemos garantir que seja um mínimo local com base apenas nas informações de gradiente. Uma abordagem é enumerar todos os pontos que satisfazem , e isso pode ser uma tarefa formidável mesmo em apenas uma ou duas dimensões.ff(x)=0ff(x)=0xf(x)=0

Quando os matemáticos dizem que a maioria dos problemas é impossível de resolver, estão realmente dizendo que é impossível construir a prova da otimização (mesmo local) . Mas, no mundo real, geralmente estamos interessados ​​apenas em calcular uma solução "suficientemente boa", e isso pode ser encontrado de inúmeras maneiras. Para muitos problemas altamente não-convexos, nossa intuição nos diz que as soluções "suficientemente boas" são realmente ótimas em todo o mundo, mesmo que não possamos provar isso!


a otimização global versus local é uma questão completamente diferente. Mas o resto faz sentido. Pode-se dizer mais sobre "nem mesmo garantir que x é um mínimo local baseado apenas nas informações de gradiente" ou melhor ilustrá-lo?
Prokop Hapala

Suponha que temos as funções e como caixas pretas (ou seja, só podemos avaliar, mas nós não conseguimos ver a sua forma). O ponto faz com que ambos os gradientes desaparecer, ou seja, e , mas a questão é apenas um mínimo local para . Na verdade, suas segundas derivadas também são zero neste momento, então os dois cenários são idênticos apenas das duas primeiras derivadas! f(x)=x3g(x)=x4x=0f(x)=0g(x)=0g
Richard Zhang

aha, ok, eu sempre assumo automaticamente inércia => que o algoritmo não tenderia a convergir para o ponto em . Mas, certamente, usamos informações adicionais (a inércia) das etapas anteriores, não apenas o gradiente em um ponto. x=0g(x)=x3
Prokop Hapala

Eu entendo o seu ponto. E talvez essa seja realmente a razão pela qual, no sentido matemático rigoroso, a otimização não convexa é considerada difícil. Mas ainda estou mais interessado em aplicações práticas, nas quais as heurísticas (que eu assumo como parte natural do algoritmo) falhariam miseravelmente.
Prokop Hapala

E quanto à quaseiconvexidade? Por esta lógica (( é suficiente), teria problemas não quasiconvex ser tão fácil de otimizar como problemas convexos ?. O meu entendimento é que o último isn' true (problemas convexos são ainda mais fácil).f(x)=0
Amelio Vazquez-Reina

6

Um exemplo de um problema complicado de baixa dimensão pode ser:

insira a descrição da imagem aqui

Como você atinge um mínimo local, como pode ter certeza de que é algo tão bom quanto o mínimo global? Como você sabe se o seu resultado é uma solução ideal única, dado que é globalmente ideal? Como você pode criar um algoritmo robusto para todas as colinas e vales, para que não fique preso em algum lugar?

Um exemplo como este é onde as coisas podem ficar difíceis. Obviamente, nem todos os problemas são assim, mas alguns são. O pior é que, em um ambiente industrial, a função de custo pode levar muito tempo para calcular E ter uma superfície problemática como a acima.

Exemplo de problema real

Um exemplo que eu poderia abordar no trabalho é fazer uma otimização para um algoritmo de orientação de mísseis que poderia ser robusto em muitas condições de lançamento. Usando nosso cluster, eu poderia obter as medições de desempenho necessárias em cerca de 10 minutos para uma única condição. Agora, para julgar adequadamente a robustez, gostaríamos de ter pelo menos uma amostra de condições para julgar. Então, digamos que executamos seis condições, fazendo uma avaliação dessa função de custo levar uma hora.

A dinâmica de mísseis não lineares, dinâmica atmosférica, processos discretos de tempo, etc. resultam em uma reação bastante não-linear a mudanças no algoritmo de orientação, dificultando a solução da otimização. O fato de essa função de custo não ser convexa faz com que seja demorado avaliar um grande problema. Um exemplo como esse é o de nos esforçarmos para obter o melhor possível no tempo que nos é dado.


1
OK, isso eu acho que é um problema diferente ... problema de otimização global, que é claramente difícil e insolúvel na maioria das situações. Mas não é a isso que as pessoas se referem com relação à otimização não convexa, onde dizem que é difícil encontrar NP um mínimo local e muitos algoritmos podem ficar presos em um ponto de sela.
Prokop Hapala

1
@ProkopHapala Meus comentários foram mais referentes à citação Muitos problemas práticos de importância são não-convexos e a maioria dos problemas não-convexos são difíceis (se não impossíveis) de resolver exatamente em um tempo razoável , especialmente porque o OP estava falando sobre o quão simples foi para eles enfrentarem problemas não convexos na pesquisa. Resolver exatamente , para mim, é buscar uma solução globalmente ótima (ou algo próximo). Então, eu queria pintar uma imagem dos desafios do mundo real relacionados a esses comentários.
Spektr 11/05/19

Compreendo. A rigor, você está certo, mas ainda acho que não aborda o que eu quis dizer ... talvez eu devesse formulá-lo melhor.
Prokop Hapala

5

O problema é o dos pontos de sela, discutidos na postagem que você vinculou. Do resumo de um dos artigos vinculados :

No entanto, em geral, é difícil garantir que esses algoritmos até converjam para um mínimo local, devido à existência de estruturas complicadas de pontos de sela em altas dimensões. Muitas funções possuem pontos de sela degenerados, de modo que as derivadas de primeira e segunda ordem não podem distingui-las das ótimas locais . Neste artigo, usamos derivadas de ordem superior para escapar desses pontos de sela: projetamos o primeiro algoritmo eficiente garantido para convergir para um local ótimo de terceira ordem (enquanto as técnicas existentes são no máximo de segunda ordem). Também mostramos que é difícil para NP estender isso ainda mais para encontrar ótimos locais de quarta ordem.

Essencialmente, você pode ter funções nas quais possui pontos de sela indistinguíveis dos mínimos locais ao olhar para a 1ª, 2ª e 3ª derivadas. Você pode resolver isso acessando um otimizador de pedidos mais alto, mas eles mostram que financiar um mínimo local de quarta ordem é NP difícil.

Eu recomendo a leitura do artigo, pois eles também mostram vários exemplos de tais funções. Por exemplo, a função tem esse ponto em (0,0).x2y+y2

Você pode usar várias heurísticas para escapar desses pontos, o que pode funcionar para muitos (a maioria?) Exemplos do mundo real, mas não se pode provar que sempre funcione.
Na postagem do blog que você vinculou, eles também discutem as condições sob as quais você pode escapar desses pontos de sela no tempo polinomial.


Sim, é claro que do valor e do gradiente em um ponto você não pode distinguir isso. Mas, de alguma forma, não vejo por que heurísticas comuns (como descida de gradiente estocástico ou FIRE) deveriam falhar nessa situação. Eu tenho certeza que ele funcionará bem para . Então, estou tentando imaginar alguma função patológica, caso não funcionasse. x2y+y2
Prokop Hapala

2
Você tem que olhar para o outro lado. Não é que saibamos que a descida do gradiente estocástico falhará, é que não sabemos que será bem-sucedida. Para problemas com brinquedos, é improvável que isso ocorra na prática, mas pode ocorrer para problemas dimensionais mais altos. Minha aposta é que, para os seus problemas de química, isso nunca acontecerá, mas seria difícil provar isso.
LKlevin
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.