Машинное обучение и имитационная модель – пример

Машинное обучение и имитационное моделирование

Обучение с подкреплением (reinforcement learning) – вид машинного обучения, с которым связаны многие последние достижения в сфере искусственного интеллекта. Все больше исследователей в сфере ИИ пробует использовать обучение с подкреплением вместе с имитационными моделями. Как это работает? В этом посте я расскажу об этом, а также покажу пример модели со ссылкой на исходные файлы и инструкции, чтобы вы могли поработать с ней сами.

Что такое глубокое обучение с подкреплением

Вероятно, самый известный пример успеха глубокого обучения с подкреплением – победа программы AlphaGo от Deepmind над чемпионом мира Ли Седолем в матче по игре в го. Правила игры в го просты, но вариантов развития игры больше, чем атомов в обозримой вселенной. Считалось, что эта игра будет самой сложной для освоения искусственным интеллектом.



Чтобы лучше понять успех AlphaGo, мы должны разобраться, как учатся компьютеры. Люди учатся двумя способами: первый – передача знаний (от учителя к ученику или из книг); второй – метод проб и ошибок. С компьютерами всё очень похоже.

Для программ метод с передачей знаний сродни хардкодингу, когда в программу вносятся правила и стратегии игры, например, в шахматы, которые компьютер затем использует в партии. Метод проб и ошибок – это тренировка компьютера постоянными партиями в шахматы, в ходе которых он развивает свои собственные навыки и «чувство игры».

Перед матчем с Ли Седолем AlphaGo сыграла миллионы тренировочных партий в го и, благодаря глубокому обучению с подкреплением, накопила тысячи лет человеческого опыта игры за несколько дней.

Зачем нужны имитационные модели

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

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

Имитационные модели не имеют таких ограничений – они дёшевы, и их можно гибко настраивать под конкретные нужды. Кроме того, модели в виртуальных средах могут воспроизводить процессы быстрее, чем они происходили бы в реальности, что экономит время. Примером стала разгромная победа модели системы от OpenAI над чемпионами мира в стратегической игре Dota 2. За десять месяцев обучения система OpenAI получила опыт, соответствующий 45 000 человеко-лет.



Глубокое обучение с подкреплением – это всё ещё новое направление в мире искусственного интеллекта, и пока оно находится в стадии развития. В то же время имитационное моделирование в течение десятилетий регулярно используется в практике, и существует огромное количество примеров применения технологии в бизнесе.

Специалисты по имитационному моделированию обычно работают так: создаётся имитационная модель, затем с ней проводятся эксперименты (оптимизация, эксперименты Монте-Карло, варьирование параметров и т. д.), а результаты используются для принятия решений в моделируемой бизнес-системе. Такой подход требует участия человека, который проводит эксперименты с моделью и получает от нее информацию.

При машинном обучении алгоритмы (т.н. обучающиеся агенты) способны самостоятельно извлекать подходящие линии поведения и стратегии из имитируемых систем. Логичное решение – заставить алгоритмы учиться на имитационных моделях. С учётом того, что исследователи в области ИИ переходят от игр к бизнес-задачам, это особенно актуально.

Как машинное обучение работает с имитационным моделированием

Как машинное обучение работает с имитационным моделированием

Пример модели: имитация + обучение с подкреплением

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


Машинное обучение против алгоритмов оптимизации на примере светофора. Управление с помощью обучения с подкреплением – справа.

Данный пример модели был заменен. Теперь вы можете посмотреть другие модели, иллюстрирующие интеграцию моделирования с ИИ:

  • примеры автоматического машинного обучения от h2o.ai;
  • примеры работы с обученными ИИ-моделями с помощью библиотеки Pypeline (на Python);
  • примеры работы с обученными ИИ-моделями с помощью библиотеки ONNX Helper (на Java).

⭐ Большое спасибо команде Skymind, в частности, Сэмюэлю Одету и Эдуардо Гонсалесу, за их участие в этом проекте; их вклад был неоценим. Если у вас возникли вопросы о библиотеке DL4J, использованной в модели, то их можно задать на странице команды в Gitter.

Другие материалы о том, как ИМ используется вместе с ИИ:

Похожие материалы