Автор: Юй-синь Чен, старший инженер-программист *

В беспилотных транспортных средствах Waymo нейронные сети используются для выполнения множества задач, связанных с вождением, от обнаружения объектов и прогнозирования поведения других до планирования следующих движений автомобиля. Обучение отдельной нейронной сети традиционно требовало недель тонкой настройки и экспериментов, а также огромных вычислительных мощностей. Теперь Уэймо в сотрудничестве с DeepMind черпал вдохновение из взглядов Дарвина на эволюцию, чтобы сделать это обучение более эффективным и действенным.

Обучение моделей машинного обучения от новичка до эксперта

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

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

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

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

Тренировка с эволюционным соревнованием

Чтобы сделать этот процесс более эффективным, исследователи DeepMind разработали способ автоматического определения хороших расписаний гиперпараметров на основе эволюционной конкуренции (так называемое обучение на основе популяции или PBT), который сочетает в себе преимущества ручной настройки и случайного поиска.

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

Как работает обучение на основе населения:

Основанный на эволюционных принципах, Population Based Training (PBT) - это метод, впервые разработанный DeepMind, который помогает обнаружить эффективные и действенные режимы обучения для нейронных сетей.

PBT работает за счет одновременного запуска множества поисков гиперпараметров с периодическими «соревнованиями» для сравнения характеристик моделей. Проигрышные модели удаляются из обучающего пула, и обучение продолжается с использованием только выигрышных моделей, обновленных со слегка измененными гиперпараметрами.

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

Эволюция в Waymo

Первые эксперименты, над которыми совместно работали DeepMind и Waymo, включали обучение сети, которая генерирует коробки вокруг пешеходов, велосипедистов и мотоциклистов, обнаруживаемых нашими датчиками, - названные «сеть предложений региона». Цель состояла в том, чтобы изучить, может ли PBT улучшить способность нейронной сети обнаруживать пешеходов по двум параметрам: запоминание (доля пешеходов, идентифицированных нейронной сетью по отношению к общему количеству пешеходов на сцене) и точность (доля обнаруженных пешеходов, которые на самом деле пешеходов, а не ложных «ложных срабатываний»). Транспортные средства Waymo обнаруживают этих участников дорожного движения с помощью нескольких нейронных сетей и других методов, но цель этого эксперимента состояла в том, чтобы обучить эту единственную нейронную сеть поддерживать отзывчивость на уровне более 99%, при этом уменьшая количество ложных срабатываний с помощью обучения на основе популяций.

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

Во-вторых, мы узнали, что нам нужна быстрая оценка, чтобы поддерживать частое эволюционное соревнование. Исследователи редко оценивают свои модели во время обучения, а когда они это делают, оценка проводится нечасто. Необходимые модели PBT оцениваются каждые 15 минут. Для этого мы воспользовались преимуществами центров обработки данных Google, чтобы распараллелить оценку на сотнях распределенных машин.

Сила разнообразия в эволюционной конкуренции

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

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

Результаты

PBT позволил кардинально улучшить характеристики модели. Для эксперимента, описанного выше, наши модели PBT смогли достичь более высокой точности за счет уменьшения количества ложных срабатываний на 24% по сравнению с его эквивалентом, настроенным вручную, при сохранении высокой скорости отзыва. Главное преимущество эволюционных методов, таких как PBT, заключается в том, что они могут оптимизировать произвольно сложные показатели. Традиционно нейронные сети можно обучать только с использованием простых и плавных функций потерь, которые действуют как прокси для того, что нас действительно волнует. PBT позволил нам выйти за рамки правила обновления, используемого для обучения нейронных сетей, и перейти к более сложным метрикам, оптимизирующим для функций, которые нам важны, таких как максимизация точности при высокой скорости отзыва.

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

* Соавторы: Описанная здесь работа была совместным исследованием Ю-син Чена и Матье Девина из Waymo, а также Али Разави, Анг Ли, Сибон Ли, Ола Спайры, Прамода Гупты и Ориола Виньялса из DeepMind. В число консультантов проекта входят Макс Ядерберг, Валентин Далибард и Мейре Фортунато из DeepMind.

Присоединяйтесь к нашей команде и помогите нам создать самого опытного водителя в мире. Waymo ищет талантливых инженеров по программному и аппаратному обеспечению, исследователей и нестандартных мыслителей, которые помогут нам решать реальные проблемы, продвигать современные технологии и делать дороги безопаснее для всех. Приходите работать с другими увлеченными инженерами и исследователями мирового уровня над новыми и трудными проблемами - узнайте больше на waymo.com/joinus.