Можно ли обучить нейронную сеть без обратного распространения?


94

Многие книги и учебные пособия по нейронной сети тратят много времени на алгоритм обратного распространения, который по сути является инструментом для вычисления градиента.

Давайте предположим, что мы строим модель с ~ 10K параметров / весов. Можно ли запустить оптимизацию, используя некоторые алгоритмы оптимизации без градиента?

Я думаю, что вычисление числового градиента было бы слишком медленным, но как насчет других методов, таких как Nelder-Mead, Имитация отжига или Генетический алгоритм?

Все алгоритмы пострадают от локальных минимумов, почему одержимы градиентом?



6
@FranckDernoncourt Я интерпретировал другой вопрос как «почему бы не использовать методы глобальной оптимизации для обучения нейронных сетей?», Тогда как этот вопрос больше «почему бы не использовать оптимизаторы без производных ...».
GeoMatt22

6
С 3 ответами, на которые проголосовали, это не кажется слишком широким, чтобы отвечать передо мной.
gung - Восстановить Монику

5
Да, вам не нужно сильно беспокоиться о том, что Nelder-Mead застрянет на локальном минимуме, потому что вам повезет, если он окажется полезным.
Марк Л. Стоун

1
КСТАТИ, ультра L-BFGS, дать этому водоворот. это может быть хорошо, но это так неясно, наверное, никто даже не пробовал это в нейронных сетях. Смотрите уравнение 2.9 на с. 12 (вам нужно прочитать предыдущие несколько страниц, чтобы понять формулу) файла maths.dundee.ac.uk/nasc/na-reports/NA149_RF.pdf (не называемого ультра-BFGS в статье), который затем потребуется получите версию «L» (с ограниченной памятью), чтобы быть ультра L-BFGS, а не ультра BFGS Версия без L выложена в статье. Ultra BFGS - это BFGS с расширенным набором функций («хотрод») - может быть быстрее, но может быть немного более диким.
Марк Л. Стоун

Ответы:


80

Первые два упомянутых вами алгоритма (Nelder-Mead и Simulated Annealing) обычно считаются в кругах оптимизации в значительной степени устаревшими, поскольку есть гораздо лучшие альтернативы, которые являются более надежными и менее дорогостоящими. Генетические алгоритмы охватывают широкий спектр, и некоторые из них могут быть разумными.

Однако в более широком классе алгоритмов оптимизации без производных (DFO) есть много, которые значительно лучше, чем эти «классики», поскольку в последние десятилетия это была активная область исследований. Итак, могут ли некоторые из этих новых подходов быть разумными для глубокого изучения?

Сравнительно недавний документ, в котором сравнивается уровень техники, заключается в следующем:

Риос, Л.М. & Сахинидис, Н.В. (2013) Оптимизация без деривативов: обзор алгоритмов и сравнение программных реализаций. Журнал глобальной оптимизации.

Это хорошая статья, в которой есть много интересных идей о последних технологиях. Например, результаты ясно показывают, что все лучшие локальные оптимизаторы основаны на модели, используя различные формы последовательного квадратичного программирования (SQP).

Однако, как отмечено в их реферате: «Мы находим, что способность всех этих решателей получать хорошие решения уменьшается с увеличением размера проблемы». Чтобы дать представление о числах, для всех задач решающим был дан бюджет 2500 оценок функций, а размеры задач составляли максимум ~ 300 параметров для оптимизации. Помимо параметров O [10], очень немногие из этих оптимизаторов работали очень хорошо, и даже лучшие из них показали заметное снижение производительности при увеличении размера проблемы.

Таким образом, для задач с очень большими измерениями алгоритмы DFO просто не могут конкурировать с производными. Чтобы дать некоторую перспективу, оптимизация на основе PDE (уравнения с частными производными) - это еще одна область с очень большими размерными проблемами (например, несколько параметров для каждой ячейки большой трехмерной сетки конечных элементов). В этой области « сопряженный метод » является одним из наиболее часто используемых методов. Это также оптимизатор градиентного спуска, основанный на автоматическом дифференцировании кода прямой модели.

Наиболее близким к многомерному оптимизатору DFO является, возможно, ансамблевый фильтр Калмана , используемый для ассимиляции данных в сложные моделирования PDE, например, модели погоды. Интересно, что это по существу подход SQP, но с байесовско-гауссовой интерпретацией (поэтому квадратичная модель является положительно определенной, то есть без седловых точек). Но я не думаю, что количество параметров или наблюдений в этих приложениях сопоставимо с тем, что можно увидеть в глубоком обучении.

Дополнительное примечание (локальные минимумы). Из того, что я прочитал о глубоком обучении, я думаю, что единодушным является то, что именно седловые точки, а не локальные минимумы, являются наиболее проблематичными для пространств с NN-параметрами большой размерности.

Например, недавний обзор в Nature говорит: «Недавние теоретические и эмпирические результаты убедительно свидетельствуют о том, что локальные минимумы не являются серьезной проблемой в целом. Вместо этого ландшафт заполнен комбинаторно большим количеством седловых точек, где градиент равен нулю, и поверхность изгибается в большинстве измерений и изгибается в остальном. "

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

Возможно, интересная перспектива

О. Буске и Л. Ботту (2008) . Компромиссы крупномасштабного обучения. NIPS.

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

Конечное примечание (мета-оптимизация): хотя методы обучения на основе градиента, по-видимому, доминируют в обучающих сетях, DFO может играть роль в связанных задачах мета-оптимизации.

Одним из примеров будет настройка гиперпараметров. (Интересно, что успешные оптимизаторы DFO на основе моделей от Rios & Sahinidis можно рассматривать как принципиально решающие последовательность задач проектирования экспериментов / поверхности отклика .)

Другим примером может быть проектирование архитектур с точки зрения настройки уровней (например, число, тип, последовательность, узлы / уровень). В этом контексте дискретной оптимизации алгоритмы генетического стиля могут быть более подходящими. Обратите внимание, что здесь я имею в виду случай, когда связность неявно определяется этими факторами (например, полностью связные слои, сверточные слои и т. Д.). Другими словами, связность явно оптимизирована мета. (Сила соединения может упасть при обучении, где, например, разреженность может быть обеспечена регуляризацией и / или активацией ReLU ... однако этот выбор может быть мета-оптимизирован.)O[N2]notL1


1
«Обзор», который вы цитируете, взят от основных сторонников нейронных сетей; Я бы поставил под сомнение утверждение о локальных минимумах - хорошо известная теоретическая критика NN состоит именно в том, что любая сложная модель не может быть оптимизирована градиентным спуском, потому что она застрянет в локальных минимумах. Не ясно, могут ли быть решены только успехи nns на заднем плане, и вы не слышите о неудачах.
seanv507

2
@ GeoMatt22 Контрастная дивергенция - это особая аппроксимация градиента специального класса моделей, под которым подпадают RBM. Следует отметить, что УОКР являются вероятностными моделями, которые предполагают определенный вид распределения, для которого градиент оценки максимального правдоподобия является неразрешимым. Нейронные сети - это вычислительные модели, которые можно использовать без какой-либо вероятностной начальной точки, например, путем оптимизации потери шарнира. Короче говоря, CD не является общим средством оптимизации нейронных сетей.
Bayerj

2
@ seanv507 Несмотря на то, что претензии были выдвинуты основными сторонниками, на ведущих конференциях по машинному обучению есть рецензируемые статьи, в которых эти оценки тщательно оцениваются, например, arxiv.org/abs/1406.2572 . К настоящему времени это утверждение широко принято в более широком сообществе ОД, главным образом благодаря его превосходным теоретическим аргументам и эмпирическим данным. Я не думаю, что аргумент ad hominem здесь уместен.
Bayerj

1
Я согласен, что теория DL отсутствует. Тем не менее, вы должны признать, что статьи, подобные этой, развивают это. Если вы чувствуете, что в статье указываются неверные результаты и выводы (такие как «локальные минимумы являются меньшей проблемой, чем седловые точки») являются недействительными, вам нужно сделать это лучше, чем указать еще одну атаку ad hominem, на этот раз направленную на ML сообщество в целом.
Bayerj

1
Недавние работы показывают, что при случайной инициализации градиентный спуск сходится к локальному минимуму (а не к седловой точке). Статья здесь: arxiv.org/abs/1602.04915 и запись в блоге здесь: offconvex.org/2016/03/24/saddles-again. С другой стороны, существует (менее) недавняя гипотеза о том, что в больших нейронных сетях локальные минимумы являются о глобальном уровне, обсуждаемом здесь: stats.stackexchange.com/questions/203288/…
DavidR

12

Вы можете использовать всевозможные алгоритмы локального поиска, обратное распространение только что оказалось наиболее эффективным для более сложных задач в целом ; Есть обстоятельства, когда другие локальные поиски лучше.

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

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

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

источник

Что касается генетических алгоритмов, я бы увидел, что обратное распространение против генетического алгоритма для обучения нейронной сети

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

Я бы не думал о backprop как об одном алгоритме, но как о классе алгоритмов.

Я также хотел бы добавить, что для нейронных сетей параметры 10k - это небольшие компоненты. Другой поиск будет работать отлично, но в глубокой сети с миллионами параметров это вряд ли практично.


12

Ну, оригинальные нейронные сети до революции распространения в 70-х годах были «обучены» вручную. :)

Что, как говорится:

Существует «школа» машинного обучения, называемая машиной экстремального обучения , которая не использует обратное распространение.

Что они делают, так это создают нейронную сеть со многими, многими, многими узлами - со случайными весами - и затем обучают последний слой, используя минимальные квадраты (как линейная регрессия). Затем они либо сокращают нейронную сеть впоследствии, либо применяют регуляризацию на последнем этапе (например, лассо), чтобы избежать переобучения. Я видел, что это применимо к нейронным сетям только с одним скрытым слоем. Там нет обучения, так что это супер быстро. Я провел несколько тестов и, что удивительно, эти нейронные сети, «обученные» таким образом, достаточно точны.

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


Еще один момент: в рамках обратного распространения есть альтернативы, которые редко упоминаются, такие как упругое обратное распространение , которые реализованы в R в neuralnetпакете, которые используют только величину производной. Алгоритм состоит из условий if-else вместо линейной алгебры. Они имеют некоторые преимущества по сравнению с традиционным обратным распространением, а именно: вам не нужно нормализовать ваши данные, поскольку они не страдают от исчезающей проблемы градиента .


Cab вы делаете (большую часть или все) spiel в вашем 4-м абзаце, а затем используете результат в качестве отправной точки для оптимизации на основе производных, чтобы «подстроить» ее.
Марк Л. Стоун

1
@ MarkL.Stone Я не знаю никого, кто бы сделал обратное распространение, сначала применив линейную регрессию к последнему слою. Это звучит интересно, хотя.
Рикардо Крус,

1
Насколько я знаю, противоречия вокруг ELM связаны, в основном, с этическими аспектами, а не с реализацией. Шмидт и др. Уже затронули эту тему в 1992 году, используя свою сеть прямой связи со случайными весами.
Firebug

3

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


3

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

Существует отделенный нейронный интерфейс (DNI) от Google Deepmind. Вместо использования обратного распространения он использует другой набор нейронных сетей для прогнозирования обновления параметров, что позволяет выполнять параллельное и асинхронное обновление параметров.

В документе показано, что DNI увеличивает скорость обучения и емкость модели RNN и дает сопоставимые результаты как для RNN, так и для FFNN при выполнении различных задач.


В документе также перечислены и сравнены многие другие методы без обратного распространения

Наша синтетическая модель градиента наиболее аналогична функции значения, которая используется для всплытия градиента [2], или функции значения, используемой для начальной загрузки. Большинство других работ, направленных на устранение обратного распространения, делают это с целью выполнения биологически правдоподобного назначения кредита, но это не устраняет блокировку обновления между слоями. Например, распространение цели [3, 15] устраняет зависимость от прохождения градиентов между слоями, вместо этого генерируя активацию цели, к которой следует подходить. Однако эти цели все же должны генерироваться последовательно, распространяясь назад по сети, и поэтому уровни все еще обновляются и обратно блокируются. Другие алгоритмы снимают обратную блокировку, позволяя передавать потери или вознаграждения непосредственно на каждый уровень - например, REINFORCE [21] (учитывая, что все активации являются действиями),1и Сети Coagent Policy Gradient [20] - но они все еще остаются заблокированными для обновления, так как они требуют вознаграждений, которые будут генерироваться выходом (или глобальным критиком). В то время как рекуррентное обучение в режиме реального времени [22] или аппроксимации, такие как [17], могут показаться многообещающим способом снять блокировку обновления, эти методы требуют поддержания полного (или приблизительного) градиента текущего состояния по отношению к параметрам. Это по своей сути не масштабируемо, а также требует от оптимизатора глобальных знаний о состоянии сети. Напротив, создавая взаимодействие между уровнями как локальную проблему связи с DNI, мы устраняем необходимость в глобальных знаниях системы обучения. Другие работы, такие как [4, 19], позволяют тренировать слои параллельно без обратного распространения,


2

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.