Эволюция лучше обратного распространения?


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

Последняя работа Open AI — настоящий шок, а может, и нет, если вы были сторонником подхода к ИИ на основе генетических алгоритмов. Он исходит от команды, в которую входят директор по исследованиям OpenAI и бывший студент Джеффри Хинтона Илья Суцкевер.
В настоящее время подход усиления к нейронным сетям использует нейронную сеть и использует обратное распространение (backprop) для перемещения параметров сети в направлении, которое максимизирует получаемое вознаграждение. Изменения параметров сети вычисляются с использованием градиента сети для обратного распространения поправок, необходимых для того, чтобы выходные данные сети двигались в сторону увеличения вознаграждения. Типичная сеть может иметь 1 000 000 параметров или более, поэтому вся операция требует больших вычислительных ресурсов.
Есть и другие проблемы с обратным распространением. Если вы беспокоитесь об этом, это биологически неправдоподобно. Если нейронные сети должны быть аналогами биологических нейронных сетей, то эта аналогия нарушается или, в лучшем случае, становится очень напряженной, если вы используете обратное распространение, потому что биологические сети не вычисляют точные градиенты и не выполняют ничего, что явно является обратным распространением. Существуют также практические трудности с применением обратного пропуска. Часто градиенты становятся очень близкими к нулю, и это делает обучение очень и очень медленным.
С другой стороны, нейронные сети с обучением с подкреплением в последнее время стали чрезвычайно успешными: Deep Mind из Google освоил целый ряд компьютерных игр и победил ведущих игроков в го в их собственной игре.
Короче говоря, обратная связь лежит в основе огромных успехов, которых мы недавно добились в области ИИ.
Возможно, он не будет в центре внимания еще долго.
Новый алгоритм — стратегии эволюции или ES — намного ближе к тому, что может происходить в биологии, хотя было бы ошибкой отождествлять его с действием эволюции в мире природы. Это алгоритм оптимизации, который работает путем выбора, скажем, 100 случайных направлений в пространстве параметров, «близких» к текущему вектору параметров. Это обеспечивает 100 возможных векторов параметров, которые могут быть оценены. Затем 100 векторов параметров объединяются средневзвешенным значением, причем веса пропорциональны вознаграждению, полученному каждым вектором. Вы можете видеть, что это, скорее всего, сдвинет сеть в сторону улучшения.

В двух измерениях принцип работы ES почти очевиден — взятие такого большого количества образцов дает почти уверенность, что вы найдете направление, которое приведет вас к более высокой награде — красной области.
Если вы можете представить себе этот процесс, то интуиция, вероятно, заставит вас поверить в то, что сходимость будет невероятно медленной — почти не обнаруживаемой при разумных вычислениях. Что удивительно, так это то, что работает и работает очень эффективно.
Поскольку ES требует незначительного взаимодействия между рабочими, мы смогли решить одну из самых сложных задач MuJoCo (трехмерный гуманоид) с использованием 1440 процессоров на 80 машинах всего за 10 минут. Для сравнения: в обычных условиях 32 сотрудника A3C на одной машине решают эту задачу примерно за 10 часов.
Приведены другие примеры, когда ES обеспечивает сопоставимую производительность с обратным распространением, но с меньшим объемом вычислений.
Используя сотни и тысячи параллельных рабочих, ES может решить 3D-ходьбу гуманоидов за 10 минут и получить конкурентоспособные результаты в большинстве игр Atari после одного часа обучения.
ES вполне может сделать крупномасштабные нейронные сети доступными для более мелких и менее финансируемых групп, но есть несколько моментов, которые стоит отметить.
Самым важным является то, что ES эффективен только в обучении с подкреплением. При обучении с учителем, когда тренер предоставляет правильную цель и где можно вычислить точную ошибку, обратное распространение происходит намного быстрее, чем ES:
Например, в наших предварительных экспериментах мы обнаружили, что использование ES для оценки градиента в задаче распознавания цифр MNIST может быть в 1000 раз медленнее, чем использование обратного распространения ошибки. Только в настройках RL, где нужно оценить градиент ожидаемого вознаграждения путем выборки, ES становится конкурентоспособным.
Однако в более широком плане контролируемое обучение — это гораздо более специализированный метод, больше похожий на статистику, чем на ИИ. В конце концов, как часто в реальном мире у вас есть идеальный учитель. В реальном мире обучение осуществляется путем подкрепления, а не наблюдения.
Также стоит отметить, что это не генетический алгоритм, применяемый к нейронным сетям. Это больше похоже на стохастическую оптимизацию. Чтобы быть примером генетического алгоритма, вектор параметров должен рассматриваться как искусственный геном и подвергаться кроссинговеру и мутации. Алгоритм также будет сохранять популяцию векторов между каждым поколением в надежде создать несколько более подходящих векторов. В случае алгоритма ES нет кроссовера или мутации, только 100 случайных направлений, и они смешиваются вместе в соответствии с их пригодностью, а не только сохранившимися примерами с высокой пригодностью.
Что действительно интересно, так это то, что с 1 000 000 параметров вы работаете в 1 000 000-мерном пространстве. Выбор 100 случайных направлений кажется недостаточным для исследования, чтобы заставить систему двигаться к оптимуму. Тем не мение. повторение 10 000 итераций дает хорошие шансы исследовать большое количество возможных направлений. Совершенно очевидно, что это своего рода рандомизированный метод конечных разностей.
Фактическая природа алгоритма на самом деле не имеет значения. Важно то, что это быстрый способ обучения сети, использующий только сигнал подкрепления.


Добавить комментарий