Почему невыпуклость должна быть проблемой в оптимизации?


20

Я был очень удивлен, когда начал читать что-то о невыпуклой оптимизации в целом, и я увидел такие утверждения:

Многие важные практические проблемы являются невыпуклыми, и большинство невыпуклых задач трудно (если не невозможно) решить точно в разумные сроки. ( источник )

или

В общем, NP-трудно найти локальный минимум, и многие алгоритмы могут застрять в седловой точке. ( источник )

Я делаю вид невыпуклых оптимизаций каждый день, а именно расслабление молекулярной геометрии. Я никогда не считал это чем-то хитрым, медленным и склонным застрять. В этом контексте мы имеем явно многомерные невыпуклые поверхности (> 1000 степеней свободы). Мы используем в основном технику первого порядка, основанную на самом крутом спуске и динамическом гашении, например, FIRE , которые сходятся за несколько сотен шагов к локальному минимуму (меньше, чем DOF). Я ожидаю, что с добавлением стохастического шума он должен быть чертовски устойчивым. (Глобальная оптимизация - это отдельная история)

Я как-то не представляю, как должна выглядеть поверхность потенциальной энергии , чтобы эти методы оптимизации застряли или медленно сходились. Например, очень патологическая PES (но не из-за невыпуклости) является этой спиралью , но это не такая большая проблема. Можете ли вы привести наглядный пример патологического невыпуклого ПЭС?

Поэтому я не хочу спорить с цитатами выше. Скорее у меня такое чувство, что я что-то здесь упускаю. Возможно, контекст.


4
Ключевое слово здесь - «в общем» - вы можете создавать произвольно неприятные функционалы, особенно в очень больших измерениях, которые в основном являются «всеми седловыми точками». С другой стороны, определенные классы невыпуклых функционалов могут вести себя очень хорошо, особенно если вы используете правильные стратегии глобализации.
Кристиан Клэйсон

2
Я думаю, что теория оптимального управления и прикладные исследования в области инженерно-технических исследований придают большое значение правильности / надежности, в то время как вы думаете, что получить что-то «достаточно хорошее» достаточно хорошо. Могут быть ограничения производительности (сходимость должна быть гарантирована, чтобы траектория робота была рассчитана во времени), или пределы корректности (если вы немного измените параметры задачи, вы неожиданно не получите совершенно другой результат). Таким образом, недостаточно получить некоторые оптимальные баллы, также необходимо, чтобы они имели определенные предписанные свойства.
Кирилл

Ответы:


23

argminf(x)

  1. Возможное решение: конкретный выбор решающей переменной и соответствующего ей целевого значения , AND ф ( х )xf(x)
  2. Доказательство оптимальности: математическое доказательство того, что выбор является глобально оптимальным, т. Е. Что выполняется для любого выбора . f ( x ) f ( x ) xxf(x)f(x)x

Когда выпуклый, оба ингредиента легко получаются. Градиентный спуск находит подходящее решение которое делает градиент исчезающим . Доказательство оптимальности следует из простого факта, изложенного в MATH101, что если выпуклая и ее градиент обращается в нуль в , то является глобальным решением.х F ( х ) = 0 е е х х fxf(x)=0ffxx

Когда невыпуклый, возможное решение все еще может быть легко найти, но доказательство оптимальности становится чрезвычайно трудным. Например, мы можем запустить градиентный спуск и найти точку . Но когда невыпуклый, условие необходимо, но больше не достаточно для глобальной оптимальности. Действительно, этого даже недостаточно для локальной оптимальности, то есть мы даже не можем гарантировать, что является локальным минимумом, основанным только на его информации о градиенте. Один из подходов - перечислить все точки, удовлетворяющиеF ( х ) = 0 F F ( х ) = 0 х F ( х ) = 0ff(x)=0ff(x)=0xf(x)=0 , и это может быть сложной задачей даже в одном или двух измерениях.

Когда математики говорят, что большинство проблем невозможно решить, они действительно говорят, что доказательство (даже локальной) оптимальности невозможно построить . Но в реальном мире нас часто интересует только вычисление «достаточно хорошего» решения, и это можно найти бесконечным количеством способов. Для многих крайне невыпуклых задач наша интуиция говорит нам, что «достаточно хорошие» решения на самом деле являются глобально оптимальными, даже если мы не в состоянии доказать это!


Глобальная или локальная оптимальность - это совершенно другой вопрос. Но остальное имеет смысл. Можете сказать больше о «не может даже гарантировать, что x является локальным минимумом, основанным только на его информации о градиенте» или лучше проиллюстрировать это?
Прокоп Хапала

f(x)=x3g(x)=x4x=0f(x)=0g(x)=0g, На самом деле, их вторые производные также равны нулю в этой точке, поэтому два сценария идентичны только двум первым производным!
Ричард Чжан

ага, хорошо, я всегда автоматически предполагаю инерцию =>, что алгоритм не будет стремиться сходиться к точке в вообще. Но, конечно, там мы используем дополнительную информацию (инерцию) из предыдущих шагов, а не только градиент в одной точке. г ( х ) = х 3x=0g(x)=x3
Прокоп Хапала

Я понимаю вашу точку зрения. И, возможно, это действительно причина, почему в строгом математическом смысле невыпуклая оптимизация считается сложной. Но все же меня больше интересует практическое применение, где эвристика (которую я считаю естественной частью алгоритма) с треском провалится.
Прокоп Хапала

Как насчет квазивыпуклости? По этой логике (( достаточно), разве квазивыпуклые задачи не будут так же легко оптимизировать, как выпуклые задачи?. Я понимаю, что последнее не так (выпуклые задачи все еще проще).f(x)=0
Амелио Васкес-Рейна

6

Примером хитрой низкоразмерной задачи может быть:

введите описание изображения здесь

Учитывая, что вы достигли локальных минимумов, как вы можете быть уверены, что это что-то близкое к мировым минимумам? Как вы узнаете, является ли ваш результат уникальным оптимальным решением, если оно является глобально оптимальным? Как вы можете создать надежный алгоритм для всех холмов и долин, чтобы он не застрял где-нибудь?

Пример, подобный этому, - это когда вещи могут стать сложными. Очевидно, что не все проблемы такие, но есть некоторые. Что еще хуже, в промышленных условиях функция затрат может занимать много времени для вычисления И иметь проблемную поверхность, подобную приведенной выше.

Пример реальной проблемы

Примером, который я мог бы использовать на работе, является оптимизация алгоритма наведения ракеты, который мог бы быть устойчивым при многих условиях запуска. Используя наш кластер, я мог получить необходимые измерения производительности примерно за 10 минут для одного условия. Теперь, чтобы адекватно оценить надежность, мы бы хотели, по крайней мере, выборку условий для оценки. Допустим, мы выполнили шесть условий, поэтому оценка этой функции затрат занимает один час.

Нелинейная динамика ракет, динамика атмосферы, процессы с дискретным временем и т. Д. Приводят к довольно нелинейной реакции на изменения в алгоритме наведения, что затрудняет оптимизацию. Тот факт, что эта функция стоимости будет невыпуклой, делает факт, что для оценки большой проблемы требуется много времени. Пример, подобный этому, - это то, где мы стремимся получить лучшее, что можем, за отведенное нам время.


1
Хорошо, это, я думаю, другая проблема ... проблема глобальной оптимизации, которая явно трудна и неразрешима в большинстве ситуаций. Но это не то, к чему люди обращаются в отношении невыпуклой оптимизации, когда они говорят, что NP трудно найти локальный минимум, и многие алгоритмы могут застрять в седловой точке.
Прокоп Хапала

1
@ProkopHapala Мои комментарии были в большей степени связаны с цитатой. Многие важные практические проблемы являются невыпуклыми, и большинство невыпуклых задач трудно (если не невозможно) решить точно в разумные сроки , тем более что ОП говорила о том, насколько просто именно им пришлось решать невыпуклые проблемы в исследованиях. Решение именно для меня - это стремление к глобально оптимальному решению (или что-то близкое). Поэтому я хотел нарисовать картину реальных проблем, связанных с этими комментариями.
спектр

Я понимаю. Строго говоря, вы правы, но все же я думаю, что это не относится к тому, что я имел в виду ... возможно, мне следовало бы сформулировать это лучше.
Прокоп Хапала

5

Проблема заключается в седловых точках, которые обсуждаются в посте, который вы связали. Из аннотации одной из связанных статей :

Однако в целом трудно гарантировать, что такие алгоритмы даже сходятся к локальному минимуму из-за существования сложных седловых структур в больших размерностях. Многие функции имеют вырожденные седловые точки, так что производные первого и второго порядка не могут различить их с локальными оптимумами . В этой статье мы используем производные более высокого порядка, чтобы избежать этих седловых точек: мы разработали первый эффективный алгоритм, который гарантированно сходится к локальному оптимуму третьего порядка (в то время как существующие методы имеют не более второго порядка). Мы также показываем, что NP-сложнее расширить это до нахождения локального оптимума четвертого порядка.

По сути, у вас могут быть функции, в которых у вас есть седловые точки, которые неотличимы от локальных минимумов при рассмотрении 1-го, 2-го и 3-го производных. Вы можете решить эту проблему, перейдя к оптимизатору более высокого порядка, но они показывают, что поиск локального минимума 4-го порядка является NP трудным.

x2y+y2

Вы могли бы использовать ряд эвристических методов, чтобы избежать таких точек, которые могут работать для многих (большинства?) Примеров из реального мира, но нельзя доказать, что они всегда работают.
В сообщении, на которое вы ссылаетесь, они также обсуждают условия, при которых вы можете избежать таких седловых точек за полиномиальное время.


x2y+y2

2
Вы должны смотреть на это по-другому. Дело не в том, что мы знаем, что стохастический градиентный спад потерпит неудачу, а в том, что мы не знаем, что это удастся. Для задач с игрушками это вряд ли случится на практике, но это может случиться для задач с большими измерениями. Держу пари, что с вашими химическими проблемами это никогда не произойдет, но мне будет трудно доказать это.
Л.Клевин
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.