avatar
gonzo-обзоры ML статей
@gonzo_ML
19.01.2020 23:52
Improving Deep Neuroevolution via Deep Innovation Protection
Sebastian Risi, Kenneth O. Stanley
Статья: https://arxiv.org/abs/2001.01683

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

Авторы (один из которых -- это, кажется, главный сейчас по нейроэволюции, Kenneth Stanley из Uber AI) предложили метод под названием Deep Innovation Protection (DIP), который улучшает end-to-end обучение сложных world models (архитектура от David Ha и любимого нами Юргена Шмидхубера, World Models, https://arxiv.org/abs/1803.10122) с помощью эволюционных методов.

Идея world models (WM), если вы её пропустили, заключалась в том, что архитектура агента состоит из трёх компонентов:

1). Визуальный модуль, который маппит картинку в низкоразмерный код. Здесь использовался VAE.

2). Модуль памяти, который пытается предсказать будущие состояния среды (в виде низкоразмерного кода). Для этого использовалась LSTM с Mixture Density Network (MDN)

3). Контроллер, который берёт данные от визуального модуля и памяти и выдаёт следующее действие.

Оригинальная WM обучалась по частям: сначала визуальный модуль бэкпропом на роллаутах случайной полиси, потом MDN-RNN тоже бэкпропом, а потом уже контроллер через эволюционную стратегию (CMA-ES). Ну то есть нифига не end-to-end. Но работало уже весьма интересно и давало богатую пищу для размышлений.

Примерно полгода назад Стэнли и Риси (авторы текущей статьи) уже реализовали обучение WM end-to-end (Deep Neuroevolution of Recurrent and Discrete World Models, https://arxiv.org/abs/1906.08857) с помощью генетических алгоритмов и добились сравнимого с оригинальной WM результата на 2D car racing.

Но та работа про нейроэволюцию не очень работала на сложных средах с 3D типа WizDoom, и вот наконец текущая работа устраняет эту проблему.

Идея работы в том, что оптимизацию такой гетерогенной сети как WM надо рассматривать как коэволюцию различных подсистем. И если в одной из систем происходит какая-то инновация, то другим системам ещё надо успеть под неё подстроиться, потому что краткосрочно это приводит к деградации. Но вдруг после подстройки новый вариант всех порвёт? Соответственно надо защищать такие свежемутированные варианты, снижая давление отбора на них, тем самым давая время на эту подстройку.

Собственно в этом и идея. Мы трансформируем задачу в задачу многокритериальной оптимизации. Вторым критерием добавляется возраст решения. Если два индивида демонстрируют одинаковый перформанс, то преимущество отдаётся тому, у кого меньше возраст. А возраст сбрасывается в ноль для всех индивидов, у которых мутировала VAE или MDN-RNN (то есть визуальная система или система памяти).

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

Теперь и VAE, и MDN-RNN оптимизируются вместе генетическим алгоритмом, не оцениваясь по отдельности. VAE больше не оптимизируется на предмет более качественного восстановления исходной картинки, а модуль памяти больше не натаскивается на предсказание следующего состояния.

В общем в целом подход работает, выживать в среде VizDoom:Take Cover агент научается, DIP профит даёт.

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

В общем, интересная работа, дальнейшие развития просятся.

#RL, #EVO
🔥 2
34 3.7K

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram