Обучение с подкреплением (reinforcement learning) – вид машинного обучения, с которым связаны многие последние достижения в сфере искусственного интеллекта. Все больше исследователей в сфере ИИ пробует использовать обучение с подкреплением вместе с имитационными моделями. Как это работает? В этом посте я расскажу об этом, а также покажу пример модели со ссылкой на исходные файлы и инструкции, чтобы вы могли поработать с ней сами.
Что такое глубокое обучение с подкреплением
Вероятно, самый известный пример успеха глубокого обучения с подкреплением – победа программы AlphaGo от Deepmind над чемпионом мира Ли Седолем в матче по игре в го. Правила игры в го просты, но вариантов развития игры больше, чем атомов в обозримой вселенной. Считалось, что эта игра будет самой сложной для освоения искусственным интеллектом.
#AlphaGo won game 3, claims match victory against best Go player of last decade, Lee Sedol → https://t.co/MbtYm64lhL pic.twitter.com/goHJvxCPUI
— Google (@Google) March 12, 2016
Чтобы лучше понять успех AlphaGo, мы должны разобраться, как учатся компьютеры. Люди учатся двумя способами: первый – передача знаний (от учителя к ученику или из книг); второй – метод проб и ошибок. С компьютерами всё очень похоже.
Для программ метод с передачей знаний сродни хардкодингу, когда в программу вносятся правила и стратегии игры, например, в шахматы, которые компьютер затем использует в партии. Метод проб и ошибок – это тренировка компьютера постоянными партиями в шахматы, в ходе которых он развивает свои собственные навыки и «чувство игры».
Перед матчем с Ли Седолем AlphaGo сыграла миллионы тренировочных партий в го и, благодаря глубокому обучению с подкреплением, накопила тысячи лет человеческого опыта игры за несколько дней.
Зачем нужны имитационные модели
Чтобы программа могла учиться на собственном опыте, ей нужна среда, в которой можно было бы проверять идеи и получать знания из собственных ошибок и достижений. Такая среда может быть реальной (например, на частных дорогах, в ограниченном воздушном пространстве, либо на учебной конвейерной линии) или виртуальной.
Хотя тренировочные среды из реального мира больше похожи на действительность, они имеют много недостатков. Создание реальных сред для экспериментов затратно, а в некоторых случаях такие среды могут представлять риск для людей и окружающей среды. Иногда подобные эксперименты могут быть ограничены законодательно.
Имитационные модели не имеют таких ограничений – они дёшевы, и их можно гибко настраивать под конкретные нужды. Кроме того, модели в виртуальных средах могут воспроизводить процессы быстрее, чем они происходили бы в реальности, что экономит время. Примером стала разгромная победа модели системы от OpenAI над чемпионами мира в стратегической игре Dota 2. За десять месяцев обучения система OpenAI получила опыт, соответствующий 45 000 человеко-лет.
OpenAI Five is now the first AI to beat the world champions in an esports game. Here's what happened, and how we made our comeback since losing to pros in Aug 2018: https://t.co/QH6yj0Gmz3 pic.twitter.com/WvV4ERTvZt
— OpenAI (@OpenAI) April 15, 2019
Глубокое обучение с подкреплением – это всё ещё новое направление в мире искусственного интеллекта, и пока оно находится в стадии развития. В то же время имитационное моделирование в течение десятилетий регулярно используется в практике, и существует огромное количество примеров применения технологии в бизнесе.
Специалисты по имитационному моделированию обычно работают так: создаётся имитационная модель, затем с ней проводятся эксперименты (оптимизация, эксперименты Монте-Карло, варьирование параметров и т. д.), а результаты используются для принятия решений в моделируемой бизнес-системе. Такой подход требует участия человека, который проводит эксперименты с моделью и получает от нее информацию.
При машинном обучении алгоритмы (т.н. обучающиеся агенты) способны самостоятельно извлекать подходящие линии поведения и стратегии из имитируемых систем. Логичное решение – заставить алгоритмы учиться на имитационных моделях. С учётом того, что исследователи в области ИИ переходят от игр к бизнес-задачам, это особенно актуально.
Пример модели: имитация + обучение с подкреплением
Имитационная модель реальной бизнес-системы может служить средой для машинного обучения. Мы решили показать это на примере перекрёстка со светофорами, который мы в AnyLogic разработали вместе с компанией Skymind. Похожую версию этой модели мы представили на конференции AnyLogic-2019 в Остине, доступно видео презентации (на англ. языке).
Данный пример модели был заменен. Теперь вы можете посмотреть другие модели, иллюстрирующие интеграцию моделирования с ИИ:
- примеры автоматического машинного обучения от h2o.ai;
- примеры работы с обученными ИИ-моделями с помощью библиотеки Pypeline (на Python);
- примеры работы с обученными ИИ-моделями с помощью библиотеки ONNX Helper (на Java).
⭐ Большое спасибо команде Skymind, в частности, Сэмюэлю Одету и Эдуардо Гонсалесу, за их участие в этом проекте; их вклад был неоценим. Если у вас возникли вопросы о библиотеке DL4J, использованной в модели, то их можно задать на странице команды в Gitter.
Другие материалы о том, как ИМ используется вместе с ИИ:
- Общая информация: Имитационная платформа для обучения и тестирования ИИ для бизнес-приложений
- Видео: Имитационные модели – виртуальная среда для обучения и тестирования ИИ для бизнес-приложений
- Аналитическая статья (на англ.): ИИ и имитационное моделирование для бизнеса
- Блог: Искусственный интеллект и имитационное моделирование
- Блог: Что общего у ИМ, машинного обучения и глубокого обучения?
- Видео: ИМ и обучение с подкреплением – мнение экспертов
- Видео вебинара: Тренировка алгоритмов ИИ с помощью ИМ и глубокого обучения
- Видео вебинара от Skymind и AnyLogic: ИМ и автоматическое машинное обучение