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

В этой статье я люблю писать об EvoJAX, масштабируемом, универсальном, аппаратном набор инструментов ускоренной нейроэволюции. EvoJAX основан на библиотеке JAX и позволяет алгоритмам нейроэволюции работать с нейронными сетямипараллельно в нескольких TPU/GPUs. Существует твердое мнение, что EvoJAX может сократить время итерации при проведении экспериментов в различных задачах, таких как обучение с учителем, RL (обучение с подкреплением) и генеративное искусство. (вы можете прочитать замечательную статью о нейроэволюции под названием «Основные принципы нейроэволюции», написанную Полом Паулсом)

Кроме того, EvoJAX имеет широкий спектр приложений для обучения с учителем (классификация изображений, последовательное выполнение), Обучение с подкреплением(раскачивание тележки, передвижение Бракса, мультиагентный водный мир) и генеративное искусство(аппроксимация изображения формами, абстрактное искусство с помощью CLIP). Ряд руководств представлен в репозитории GitHub.

Существует огромное количество исследований по аппаратным ускорителям в развитии передовых технологий глубокого обучения (ГО); эти прогрессии приводят к быстрому обучению сетей. Также предложен ряд исследований итерационных циклов их разработки. Большинство из этих достижений ограничены из-за их надежности при градиентном спуске.

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

Системный дизайн

Чтобы повыситьэффективность тренировок нейроэволюции, что является целью EvoJAX, мы может реализовать весь конвейерв современных платформах машинного обучения(здесь это JAX), которые поддерживают аппаратные средства ускорение(исходный код JAX вы можете найти здесьи для быстрого старта почему бы вам не попробоватьздесь). JAX — это Автоград и XLA, объединенные для высокопроизводительных исследований в области машинного обучения (источник). Более того, выбор JAXобусловлен его развитыми функциями автовекторизации, параллелизм устройств, своевременная компиляция и т. д.

На рисунке 2 представлен обзор того, как работает EvoJAX. Есть три основных пункта:

  1. Алгоритм нейроэволюции
  2. Политика
  3. Задача

Современный оптимизатор машинного обучения

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

Глобальная политика

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

Векторные задачи

Точно так же как иполитика, обычные модели дублируют задачи в процессе эволюции независимых параметров. Эти задачи организованы в векторизованной форме. Когда дело доходит до реализации, мы можем организовать задачу в рамках, поддерживаемых автовекторизацией, или создать сборщик наблюдений за задачейпомимо всех процессов оценки.

Параллелизм устройств

Это поддерживается в JAX; таким образом, EvoJAXможет масштабироватьсвою процедуру обучениядостаточно линейнов соответствии с оборудование. Кроме того, он автоматически управляетсяи понятенпользователям.

Примеры EvoJAX

Существует несколько руководств (на Python)для EvoJAXна GitHub, подготовленных командой Google, чтобы показать потенциал, которым обладает EvoJAX. Всего предлагается 6 примеров в трех категориях:

  1. Учебные задачи под наблюдением
  2. Контрольные задачи
  3. Новые задачи

Классификация МНИСТ

Эта задача уже решена в глубоком обучении, и в учебнике исследователи обучили свёрточную нейронную сеть (ConvNet) с помощью EvoJAX. Авторы продемонстрировали, что EvoJAX может обучать ConvNet (точность> 98%) в течение 5 минут.

Обучение Seq2Seq

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

Контрольные задачи

Цели этого раздела состоят из двух частей:

  1. в отличие от задач обучения с учителем, контрольные задачи в EvoJAX имеют неопределенное количество шагов.
  2. Исследователи надеялись показать преимущества ускорения JAX.
  • Роботизированное управление

Brax — это движок, написанный на JAX для моделирования сред, созданных из среды. strong>жесткие тела, сочленения и приводы. [основной документ, исходный код]

  • Поворот тележки вверх

Исследователи показали, как мы можем реализовать такую ​​классическую задачу с нуля в JAX, и реализовали ее в конвейере обучения EvoJAX. EvoJAX может решить как сложную версию (узкий диапазон возможных настроек), так и простую версию (широкий диапазон возможных настроек) за несколько минут.

  • Водный мир

Агент старается получить как можно больше пищи, избегая при этом ядов. EvoJAXможет обучить этого агента за десяткиминут. Более того, в EvoJAX возможно обучение нескольких агентов. [основной документ]

  • Конкретная и абстрактная живопись

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

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

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

  1. Значительное ускорение обучения можно увидеть в таблице 1:

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

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

Заключение

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

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

Ссылка:

1. Тан Ю., Ю. Тиан и Д. Ха, EvoJAX: аппаратно-ускоренная нейроэволюция, препринт arXiv arXiv:2202.05008, 2022.

Вы можете связаться со мной через:

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



🔵 Стать писателем