Существует ли метод градиентного спуска для поиска абсолютного минимума (максимума) функции в многомерном пространстве?

11

Я знаком с алгоритмом градиентного спуска, который может найти локальный минимум (максимум) данной функции.

Есть ли какая-либо модификация градиентного спуска, которая позволяет найти абсолютный минимум (максимум), где функция имеет несколько локальных экстремумов?

Существуют ли общие методы, как улучшить алгоритм, который может найти локальный экстремум, для нахождения абсолютного экстремума?

Роман
источник
Вы можете проверить Cross Validated или вопросы и ответы AI, связанные с FAQ .
Каве
Я думаю, что это один из недостатков градиентного спуска - он может застрять в локальных экстремумах. Другие методы, такие как имитация отжига, могут быть менее восприимчивы к этому, но все же не могут дать гарантии, насколько я понимаю.
Джо
1
Я не уверен, какое отношение имеет к этому «многомерное пространство». даже функция R может иметь несколько локальных экстремумов, с которыми у градиентного поиска будут проблемы.
Суреш Венкат
Я почти уверен, что есть следующая теорема: если функция непрерывна и выбрана в достаточном количестве точек, вы можете гарантировать, что градиентный спуск найдет глобальный минимум, начинающийся в некоторой точке. то есть что-то вроде алгоритма Пауэлла. литература настолько обширна, что такая теорема, вероятно, где-то опубликована, но о ней не слышала. это также доказывает, что локальная оптимизация может приближаться к глобальным оптимумам при достаточном количестве выборок, поскольку выборка растет.
vzn
в некотором роде смотрите также комментарии здесь , в которых решительно утверждается, что глобальные NN или численные методы / эвристические подходы не являются «алгоритмами приближения»
vzn

Ответы:

17

Я полагаю, вы говорите о безусловной минимизации. Ваш вопрос должен указать, рассматриваете ли вы конкретную структуру проблемы. В противном случае ответ - нет.

Сначала я должен развеять миф. Классический метод градиентного спуска (также называемый методом наискорейшего спуска ) даже не гарантирует нахождение локального минимизатора. Он останавливается, когда находит критическую точку первого порядка, т. Е. Точку, в которой градиент исчезает. В зависимости от минимизируемой функции и начальной точки, вы вполне можете оказаться в седловой точке или даже в глобальном максимизаторе!

f(x,y)=x2y2(x0,y0):=(1,0)f(1,0)=(2,0)(0,0)f(x,y)=x21016y2(0,0)2f(x,y)1016+1016

f(x)={1if x0cos(x)if 0<x<π1if xπ.

x0=2

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

Есть классы методов в глобальной оптимизации. Некоторые вводят рандомизацию. Некоторые используют мультистартовые стратегии. Некоторые используют структуру проблемы, но это для особых случаев. Подберите книгу по глобальной оптимизации. Вам понравится.

Dominique
источник
@Roman: Очень приветствую.
Доминик
3

Вероятно, нет единого универсального ответа на ваш вопрос. Но вы можете захотеть изучить алгоритмы имитации отжига или другие подходы, основанные на методах цепей Маркова Монте-Карло (MCMC). Их также можно комбинировать с локальными методами, такими как градиентный спуск.

mrig
источник
1

есть много ссылок на «глобальную оптимизацию нейронных сетей». методы аналогичны имитации отжига [см. другой ответ]. Основная идея состоит в том, чтобы возобновить спуск по градиенту сети, начиная со множества различных начальных точек веса, выбранных случайным или систематическим образом. каждый результат градиентного спуска тогда похож на «образец». чем больше выборок, тем выше вероятность того, что одна из выборок является глобальным оптимумом, особенно если целевая функция «хорошо себя ведет» в смысле непрерывного, дифференцируемого и т. д.

онлайн ссылки

[1] Глобальная оптимизация весов нейронных сетей. Автор Hamm et al.

[2] Глобальный оптимизационный подход к обучению нейронных сетей Фоглис / Лагарис

[3] Калибровка искусственных нейронных сетей с помощью глобальной оптимизации Pinter

[4] глобальной оптимизации нейронных сетей с использованием детерминированной Гибридный подход Беляков

[5] Глобальная оптимизация для обучения нейронной сети Шан / Ва

ВЗН
источник
1

В общем случае вычислительно сложно оптимизировать многовариантные невыпуклые функции. Твердость бывает разных вкусов (криптографическая, NP-хард). Один из способов увидеть это состоит в том, что смешанные модели (такие как смесь гассов или HMM) трудно выучить, но было бы легко (*), если бы было возможно эффективно максимизировать вероятность. Результаты о сложности изучения HMM см. По адресу http://alex.smola.org/journalclub/AbeWar92.pdf http://link.springer.com/chapter/10.1007%2F3-540-45678-3_36 http: // www.math.ru.nl/~terwijn/publications/icgiFinal.pdf

(*) по модулю обычные условия невырожденности и идентифицируемости

Арье
источник
0

я должен не согласиться с Домиником. в середине 1980-х годов Хайеком было показано, что отжиг невыпуклой задачи при определенных строгих условиях гарантированно достигнет глобального минимума: http://dx.doi.org/10.1287/moor.13.2.311

Аарон Брик
источник
2
В свете результатов по твердости, упомянутых выше, эти условия действительно должны быть довольно строгими!
Арье