Добро пожаловать в эру глубокой нейроэволюции
От имени команды Uber AI Labs, которая также включает Joel Lehman, Jay Chen, Edoardo Conti, Vashisht Madhavan, Felipe Petroski Such и Xingwen Zhang.
В области обучения глубоких нейронных сетей (DNN) с большим количеством слоев и миллионами соединений, для тренировки, как правило, применяется стохастический градиентный спуск (SGD). Многие полагают, что способность SGD эффективно вычислять градиенты является исключительной особенностью. Однако мы публикуем набор из пяти статей в поддержку нейроэволюции, когда нейронные сети оптимизируются с помощью эволюционных алгоритмов. Данный метод также является эффективным при обучении глубоких нейронных сетей для задач обучения с подкреплением (RL). Uber имеет множество областей, где машинное обучение может улучшить его работу, а разработка широкого спектра мощных подходов к обучению (включая нейроэволюцию), поможет разработать более безопасные и надежные транспортные решения.
Мне показалось более органичным сохранить сокращения в англоязычном варианте, как более узнаваемые для специалистов в данной предметной области. Кроме того, для некоторых мне не удалось быстро найти устоявшихся русскоязычных эквивалентов. Поэтому даю расшифровку примененных аббревиатур:
- A3C (Asynchronous Advantage Actor-Critic) — устоявшееся русскоязычное название мне не известно.
- DNN (Deep Neural Network) — глубокая нейронная сеть.
- DQN (Q-learning) — Q-обучение.
- ES (Evolution Strategies) — эволюционные стратегии.
- GA (Genetic Algorithm) — генетический алгоритм.
- MNIST (Modified National Institute of Standards and Technology database) — объёмная база данных образцов рукописного написания цифр.
- NS (Novelty Search algorithms) — алгоритмы поиска новизны.
- QD (Quality Diversity algorithms) — алгоритмы качественного разнообразия.
- RL (Reinforcement Learning) — обучение с подкреплением.
- SGD (Stochastic Gradient Descent) — стохастический градиентный спуск.
- SM-G (Safe Mutations through Gradients ) — безопасные мутации через градиенты.
- TRPO (Trust Region Policy Optimization) — устоявшееся русскоязычное название мне не известно.
Генетические алгоритмы как конкурентная альтернатива для обучения глубоких нейросетей
Используя новую технику, которую мы изобрели для эффективного развития DNN, мы с удивлением обнаружили, что чрезвычайно простой генетический алгоритм (GA) может обучать глубокие сверточные сети с более чем 4 миллионами параметров для игры в Atari из пикселей, и во многих играх превосходит современные алгоритмы глубокого обучения с подкреплением (RL) (например, DQN и A3C) или эволюционные стратегии (ES), а также является более быстрым из-за лучшего распараллеливания. Этот результат является неожиданным как из-за того, что не ожидалось, что GA, не основанный на градиенте, будет хорошо масштабироваться в таких больших пространствах параметров, а также потому, что достичь или превзойти передовые алгоритмы RL с использованием GA не считалось возможным. Далее, мы показываем, что современные усовершенствования GA, улучшающие возможности GA, такие как поиск новизны, также работают в масштабах DNN и могут способствовать поиску решений обманчивых задач (со сложными локальными экстремумами), опережая алгоритмы максимизации вознаграждения, такие как Q-learning (DQN), policy gradients (A3C), ES и GA.
Эта GA стратегия набирает 10500 очков в Frostbite. DQN, AC3 и ES набирают менее 1000 на этой игре.
GA хорошо играет в Asteroids. Он в среднем превосходит DQN и ES, но не A3C.
Безопасные мутации с помощью градиентных вычислений
В отдельной статье мы показываем, как градиенты могут сочетаться с нейроэволюцией, улучшая способность к обучению рекуррентных и очень глубоких нейронных сетей, делая возможной эволюцию DNN с более чем сотней слоев – уровень, намного превышающий то, что ранее было возможно благодаря нейроэволюции. Мы делаем это, вычисляя градиент сетевых выходов относительно весов (т.е., не градиент ошибки, как в традиционном глубоком обучении), позволяя калибровке случайных мутаций более аккуратно обрабатывать наиболее чувствительные параметры, тем самым решая основную проблему случайной мутации в больших сетях.
Обе анимации показывают набор мутаций одной сети, которая должна обойти лабиринт (начало в нижнем левом углу, а выход в верхнем левом). Нормальные мутации в основном теряют способность достигать финиша, в то время как безопасные мутации в основном сохраняют её, сохраняя при этом разнообразие, иллюстрируя существенное преимущество безопасной мутации.
Как ES соотносится с SGD
Наши статьи дополняют ранее сформированное понимание, которое было впервые отмечено командой из OpenAI (русский перевод: habrahabr.ru/post/330342), что разнообразные эволюционные стратегии нейроэволюции могут неплохо конкурировать в оптимизации глубоких нейронных сетей на задачах глубокого RL. Однако на сегодняшний день более широкие последствия этого результата остаются предметом обсуждения. Создавая предпосылки для дальнейших инноваций в ES, мы подробно изучаем их связь с SGD во всестороннем исследовании, в котором рассматривается, насколько близко приближение градиента с помощью ES фактически достигает оптимального градиента для каждого минибатча, вычисленного SGD на MNIST, а также насколько хорошо это можно сделать. Мы показываем, что ES может достичь 99-процентной точности в MNIST, если для улучшения приближения градиента будут обеспечены достаточные вычислительные мощности, указывая на то, почему ES будет все более и более серьезным соперником в глубоком RL, где ни один метод не имеет привилегированного доступа к идеальной информации о градиенте, поскольку увеличивается степень параллелизации вычислений.
ES – это не просто традиционные конечные разности
Сопутствующее исследование эмпирически подтверждает понимание, что ES (с достаточно большим значением параметра возмущения) действует иначе, чем SGD, потому что он оптимизирует ожидаемое вознаграждение от набора стратегий, описанных распределением вероятности (облако в пространстве поиска), тогда как SGD оптимизирует вознаграждение за одну стратегию (точку в пространстве поиска). Это изменение заставляет ES посещать разные области поискового пространства, к счастью или, к сожалению (проиллюстрированы оба случая). Дополнительным следствием оптимизации по популяции возмущений параметров является то, что ES приобретает робастность, не достижимую через SGD. Отмечая, что ES оптимизирует популяцию параметров, также подчеркивается интригующая связь между ES и байесовскими методами.
Случайные возмущения весов шагателя, изученные TRPO, приводят к значительно менее устойчивым походкам, чем случайным возмущениям шагателя эквивалентного качества, найденного с помощью ES. Оригинальные обученные шагатели находятся в центре каждого девятикадрового комбинированного изображения.
Традиционные конечные разности (градиентный спуск) не могут пересечь узкую щель где фитнесс-функция имеет низкое значение, а ES легко пересекает ее, достигая области с высоким значением с другой стороны.
ES глохнет в узком “ущелье” с высоким значением фитнесс-функции, в то время как традиционные конечные разности (градиентный спуск) проходят тот же путь без проблем, иллюстрируя наряду с предыдущим видео различие и компромиссы между этими двумя различными подходами.
Улучшение поисковых способностей ES
Захватывающим следствием глубокой нейроэволюции является то, что набор инструментов, ранее разработанных для нейроэволюции, теперь становится кандидатом для улучшения обучения глубоких нейронных сетей. Мы изучаем эту возможность, внедряя новые алгоритмы, сочетающие в себе оптимизационную мощь и масштабируемость ES с методами, уникальными для нейроэволюции, которые способствуют поиску в доменах RL посредством популяций агентов, стимулируют друг друга действовать по-разному. Такие исследования, основанные на популяциях, отличаются от одноагентной традиции в RL, включая недавнюю работу по исследованиям в глубоких RL. Наши эксперименты показывают, что добавление этого нового стиля исследования улучшает производительность ES во многих областях, требующих обследования, для избегания обманных локальных оптимумов, включая некоторые игры Atari и задачу управления движением гуманоидов в симуляторе Mujoco.
ES с зондированием
Награда на протяжении обучения
С нашими гиперпараметрами ES быстро сходится к локальному оптимуму, который не включает подъем для пополнения запасов кислорода, потому что это временно отменяет вознаграждение. Однако, при зондировании, агент учится подниматься за кислородом и, таким образом, получает в будущем гораздо более высокое вознаграждение. Обратите внимание, что Salimans et al. 2017 не сообщают что их вариант ES, сталкивается с этими специфическими локальными оптимумами, но отмечают, что ES без зондирования может неопределенно блокироваться в некоторых локальных оптимумах (и что зондирование помогает его разблокировать) так же, как это показано и в нашей статье.
ES с зондированием
Награда на протяжении обучения
Заданием агента является бежать как можно дальше. ES никогда не обучается избегать ловушку. Однако, получив возможность зондирования, один из агентов обучается обходить ловушку.
Заключение
Для исследователей нейроэволюции, заинтересованных в продвижении к глубоким сетям, есть несколько важных мыслей: прежде всего, такие эксперименты требуют большей вычислительной мощи, чем в прошлом; для экспериментов, описанных в этих новых статьях мы часто использовали одновременно сотни или даже тысячи процессоров за прогон. Однако такая вычислительная прожорливость не должна рассматриваться как помеха; в конце концов, простота масштабирования эволюции в массивных параллельных вычислительных центрах означает, что нейроэволюция, пожалуй, лучше всего подходит для использования в мире, который к нам приходит.
Новые результаты настолько отличаются от того, что ранее наблюдалось в нейроэволюции низкой размерности, что они эффективно опровергают годы предположений, в частности, о последствиях поиска в пространствах с высокой размерностью. Как было обнаружено в глубоком обучении, выше некоторого порога сложности, кажется, что поиск фактически становится более простым в высоких размерностях в том смысле, что он менее восприимчив к локальным оптимумам. Хотя направление глубокого обучения хорошо знакомо с этим способом мышления, его последствия только начинают усваиваться в нейроэволюции.
Повторное появление нейроэволюции является еще одним примером того, что старые алгоритмы в сочетании с современными объемами вычислений могут работать на удивление хорошо. Жизнеспособность нейроэволюции интересна тем, что многие методы, разработанные в сообществе нейроэволюции, сразу становятся доступными на DNN-масштабах, каждый из которых предлагает различные инструменты для решения сложных задач. Более того, как показывают наши работы, нейроэволюция ищет не так, как это делает SGD, следовательно, предлагает интересный альтернативный подход к инструментарию для машинного обучения. Мы задаемся вопросом, будет ли глубокая нейроэволюция переживать ренессанс так же, как глубокое обучение. Если это так, 2017 год может означать начало эры, и мы будем рады увидеть, что будет развиваться в последующие годы!
Ниже приведены пять статей, которые мы опубликовали на сегодняшний день вместе с аннотацией их ключевых моментов: