# Янник Кильхер о Go-Explore: «Новый подход к обучению ИИ»

Источник: https://www.youtube.com/watch?v=EbFosdOi5SY
Канал: Yannic Kilcher
Опубликовано: 10.01.2020

---

## Революционный подход к обучению с подкреплением: что такое Go-Explore
[[JUMP:1:33]]

Алгоритм Go-Explore, разработанный командой исследователей из Uber AI Labs, стал прорывом в решении задач с «разреженным» вознаграждением, где агент должен выполнить сотни действий, прежде чем получить хоть какой-то положительный сигнал. Янник Кильхер в своем обзоре объясняет, что традиционные методы обучения с подкреплением (Reinforcement Learning, RL) часто терпят неудачу в таких средах, как игра *Montezuma's Revenge*, где нужно собирать ключи, избегать врагов и перемещаться по лабиринтам. Go-Explore впервые позволил алгоритму превзойти результаты человека без предварительных демонстраций со стороны игрока-эксперта.

### Проблемы классического RL: отрыв и «схождение с рельсов»
[[JUMP:1:59]]

Авторы исследования выделяют две фундаментальные причины, по которым агенты «застревают» в сложных средах:

* **Отрыв от фронтира знаний (Detachment):** Алгоритмы с внутренней мотивацией, поощряющие агента достигать новых состояний, могут «забывать» о старых перспективных точках. Если агент случайно уходит в сторону и находит много новых состояний там, он перестает возвращаться к исходному пути, даже если основной прогресс скрыт именно в той, «забытой» части пространства.
* **Схождение с рельсов (Derailment):** Даже если агент случайно находит путь к цели, он часто не может повторить этот успех. Это особенно критично в стохастических (шумных) средах, где агент не способен надежно воспроизвести последовательность действий, приведшую к победе.

### Как работает Go-Explore: двухфазная стратегия
[[JUMP:7:04]]

Алгоритм решает эти проблемы, разделяя процесс обучения на два независимых этапа.

#### Фаза 1: Исследование как поиск кратчайшего пути
[[JUMP:7:47]]

В первой фазе алгоритм ведет себя подобно классическому алгоритму Дейкстры для поиска кратчайшего пути на графе. В основе лежит «архив состояний»:

1.  **Сохранение состояния:** Алгоритм сохраняет состояние эмулятора игры. Это позволяет в любой момент вернуться в конкретную точку и начать исследование оттуда.
2.  **Эффективность пути:** Если агент достигает уже известного состояния, он сравнивает количество затраченных шагов. Если новый путь короче, он обновляет архив.
3.  **Квантование состояний:** Чтобы архив не стал бесконечным, используется метод сжатия данных: изображения экрана уменьшаются в размере и переходят в градации серого. Таким образом, алгоритм группирует визуально похожие ситуации как одно «состояние».

#### Фаза 2: Обучение устойчивости (Robustification)
[[JUMP:16:56]]

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

По мнению Кильхера, ключевой успех Go-Explore заключается в том, что он переносит логику поиска пути (как в графовых алгоритмах) в область обучения с подкреплением. Главное ограничение метода — необходимость детерминированной среды (хотя бы внутри эмулятора) и возможность создать качественную репрезентацию состояний.