EvoStrat — это опенсорсная библиотека для обучения эволюционных алгоритмов. Библиотека предоставляет интерфейс для применения эволюционных стратегий в задачах обучения с подкреплением.
Эволюционные алгоритмы
Эволюционные стратегии являются подходом для решения задач обучения с подкреплением и других проблем оптимизации, где градиенты не могут быть рассчитаны с помощью метода обратного распространения ошибки.
Эволюционную стратегию от генетического алгоритма отличает то, что первая работает с векторами действительных чисел. В эволюционной стратегии вначале происходит мутация и скрещивание особей для получения потомков. После появления потомков происходит отбор особей с лучшими параметрами из поколения родителей и потомков. Затем процедура повторяется. Так происходит, пока алгоритм не сойдется к особи или особям с оптимальным набором параметров. В эволюционном алгоритме целевая функция состоит в максимизации ожидаемой приспособленности.
Подробнее про библиотеку
Библиотека предоставляет:
- Гибкий интерфейс для эволюционных стратегий, в котором среда, RL-агент, распределение популяции и оптимизационная часть разделяются;
- Простота в тестировании RL-агентов и сетей для обучения политикам;
- Несколько видов популяций;
- Independent Normal, аналогично эволюционному алгоритму OpenAI или PEPG;
- Multivariate Normal с ковариационной матрицей, схоже с CMA-ES;
- Возможность работать с агентами, у которых категориальные параметры;
- Интерфейс для создания своих популяций без подсчета градиентов