Янник Килчер о PCGRL: «Дизайн уровня как игра»

Yannic Kilcher 8,7 тыс. 24 мин 3 мин 04.08.2020
Главное

Генерация игровых уровней через обучение с подкреплением: Разбор подхода PCGRL 0:00

Исследователь ИИ Янник Килчер (Yannic Kilcher) представил обзор научной работы, посвященной инновационному подходу к процедурной генерации контента (PCG) в видеоиграх — PCGRL (Procedural Content Generation via Reinforcement Learning). Вместо того чтобы использовать традиционные алгоритмические методы, авторы работы — Ахмед Халифа (Ahmed Khalifa), Фили Бонтрагер (Fili Bontrager), Сэм Эрли (Sam Early) и Джулиан Тогалеос (Julian Togelius) — предлагают рассматривать само создание дизайна уровня как игру, в которой агент обучается максимизировать качество итогового игрового пространства.

Концепция «дизайн как игра» 1:48

В основе подхода лежит идея превращения процесса расстановки объектов на уровне в последовательную задачу, решаемую с помощью обучения с подкреплением (Reinforcement Learning, RL).

Пространство действий: три пути дизайна 6:34

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

  1. Narrow (Узкое): Среда сама выбирает, какой тайл разрешено изменить в данный момент. По мнению Килчера, это наиболее проблемный подход, так как агент не может планировать действия наперед и вынужден принимать лишь локальные, «жадные» решения.
  2. Turtle (Черепашье): Агент перемещается по полю подобно «черепахе» (по аналогии с Turtle Graphics), имея возможность менять или не менять текущий тайл, а затем переходить в соседнюю клетку. Это позволяет создавать более связные структуры, такие как длинные стены, но все еще ограничивает возможность глобального редактирования.
  3. Wide (Широкое): Самый мощный вариант, где агент на каждом шаге может выбрать любую клетку уровня для изменения. Это дает максимальную свободу планирования, но значительно усложняет обучение из-за огромного количества вариантов действий.

Награды и ограничения: как сделать уровень интересным 12:41

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

Ограничения и будущее направления 22:25

Несмотря на перспективность, у метода есть свои «узкие места»:

Янник Килчер полагает, что в будущем возможна совместная работа человека и ИИ: дизайнер задает общую структуру («поставь здесь стену»), а агент мгновенно дорабатывает детали, обеспечивая проходимость и баланс уровня. Еще одним многообещающим направлением он называет «куррикулумное обучение» (curriculum learning), где агент-генератор и агент-игрок тренируются одновременно, непрерывно повышая сложность создаваемого контента.

💬 Цитаты

«Мы используем обучение с подкреплением, чтобы обучить агента, который может проектировать уровень.»

Янник Килчер 01:33

«Агент учится производить валидные и хорошие уровни.»

Янник Килчер 06:21
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
PCGRL
Procedural Content Generation via Reinforcement Learning — метод генерации контента в играх с использованием нейросетей.
Обучение с подкреплением (Reinforcement Learning)
Тип машинного обучения, где агент учится принимать решения, получая награды или штрафы за свои действия.
Процедурная генерация
Метод создания контента (уровней, графики) с помощью алгоритмов, а не вручную.
Proximal Policy Optimization (PPO)
Популярный алгоритм обучения с подкреплением, используемый в качестве основы для агентов в данной работе.
CNN (Convolutional Neural Network)
Сверточная нейронная сеть, эффективно обрабатывающая матричные структуры данных, такие как игровые уровни.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект PCGRL Yannic Kilcher Reinforcement Learning