Проблема
Компания Element AI использует передовые разработки в области искусственного интеллекта и промышленный опыт для создания цифровых самообучающихся систем. Инженеры компании хотели понять, поможет ли интеграция возможностей имитационного моделирования и ИИ ответить на их вопросы:
- Можно ли использовать имитационное моделирование для создания массивов данных для тренировки моделей искусственного интеллекта?
- Поможет ли ИИ улучшить работу агентов в имитационных моделях?
- Можно ли применить методы обучения с подкреплением к реальным бизнес-задачам?
Чтобы успешно обучить ИИ-модель, технология глубокого обучения обычно требует очень больших массивов данных. Например, нейронные сети – семейство ИИ-моделей – используют для обучения массивы данных вместо традиционных систем исполнения бизнес-правил. Однако с данными могут возникнуть сложности:
- их может быть недостаточно или не быть вовсе;
- они могут содержать ошибки;
- они могут быть конфиденциальными или личными и поэтому требовать деперсонализации;
- может требоваться длительное время для обеспечения доступа к этим данным (при работе с заказчиками);
- данные могут требовать очистки;
- данные могут требовать проведения предварительной обработки, чтобы соответствовать моделям с ИИ.
Поэтому на ранних стадиях развития проекта, когда специалисты по ИИ только начинают работать с клиентом или формировать базовую функциональность системы, им нужно определить требования к данным. Это происходит либо на этапе проверки данных, либо на этапе их сбора и маркировки. Процесс определения требований может быть долгим и потребовать больших финансовых вложений. Для решения этих проблем инженеры Element AI решили использовать ИМ.
В рамках второй задачи специалистам Element AI нужно было выяснить, как можно использовать ИИ в интеграции с имитационными моделями, чтобы принимать более обоснованные решения. Они выдвинули следующие гипотезы:
- ИИ может выступать в качестве “мозга” агента в имитационной модели; агент таким образом опирается на более точные данные.
- Имитационная модель может быть тестовой площадкой для сравнения ИИ-моделей.
- Имитационное моделирование может помочь нагляднее продемонстрировать вклад ИИ в полученный результат.
- Имитационное моделирование позволяет сэкономить на подготовке ИИ к непредвиденным сценариям работы.
- Отраслевые и технические эксперты могут использовать имитационное моделирование, чтобы лучше понять проблему и снизить риски на ранней стадии проекта.
- Возможности имитационного моделирования и ИИ можно объединить в цифровом двойнике
Перед проверкой методов обучения с подкреплением на реальных проектах инженеры из Element AI решили сфокусироваться на двух перечисленных выше задачах.
Решение

Чтобы решить обозначенные задачи, инженеры сымитировали работу технологии на практическом примере. Они смоделировали работу продуктового магазина для прогнозирования спроса и приоритезации задач по пополнению товаров на полках магазина.
Первой целью инженеров было сгенерировать данные о поминутном спросе на пятилетний период, учитывая значительные колебания и случайные события. Важно было создать достаточно данных для прогнозирования временных рядов, чтобы алгоритм ИИ обучался на уровне сложности, который бы оправдывал его использование вместо традиционных методов.
Однако, если модель с ИИ работает на таких данных, есть риск, что она подстроится под них и не сможет вернуться к более общему виду при изменении параметров или при сравнении с реальными данными. Эту проблему, как правило, можно преодолеть или свести к минимуму с помощью рандомизации.
Второй целью использования ИИ было помочь агентам (виртуальным работникам магазина, ответственным за пополнение стеллажей) определить, каким продуктам следует отдать приоритет при заполнении полок. Так можно было бы избежать или свести к минимуму убытки, связанные с дефицитом товаров.
Для достижения этих целей имитационная модель продуктового магазина включала агентов трёх основных типов. Каждому из них соответствовал набор случайно заданных параметров, чтобы обеспечить необходимый уровень сложности.
Первый тип – покупатели. В модели это были агенты-пешеходы, и для каждого из них были заданы следующие параметры:
- скорость передвижения;
- список покупок;
- режим посещений магазина: по часам, по дням недели, по месяцам года, по годам, зависимость посещения от национальных праздников.
- склонность уходить из магазина без покупок.
Второй тип – категории продуктов, которые также обладали различными параметрами:
- распределением спроса на них;
- доступностью в магазине;
- пороговым значением пополнения запасов;
- временем, необходимым для пополнения запасов;
- ценами и скидками;
- расположением в магазине;
- еженедельными акциями на товары.
3. Параметры задавались и для сотрудников магазина. Им приписывались:
- должности;
- графики работы;
- приоритеты по задачам.
Когда инженеры Element AI синхронизировали их ИИ-модели с имитационной моделью, они получили готовое решение. Чтобы получить данные на основе моделирования, нужно было:
Разработанное решение состояло из четырёх простых шагов:
- запустить имитационную модель на несколько минут или часов;
- поставить модель на паузу, чтобы вывести данные о запасах продуктов в форме текстовых файлов;
- подключить внешний модуль с ИИ, чтобы:
- обработать информацию;
- создать список приоритетных товаров для пополнения запасов в форме текстового файла;
- снова запустить модель с обновлёнными параметрами.
Основное преимущество этого подхода состоит в том, что он не зависит от уровня сложности ИИ и языка программирования (в данном случае использовался Python). При этом периодически приходилось ненадолго останавливать прогон модели.
Результат
Данные, полученные с помощью моделирования пятилетнего периода работы магазина, позволили специалистам компании Element AI обучить модели, прогнозирующие временные ряды, и предсказывать поминутный спрос. При этом инженеры использовали данные за первые четыре года для обучения ИИ, а данные по пятому году использовались для проверки точности прогноза.
Базовый показатель для почасового прогноза спроса был задан как Lag-0; эта настройка показывает, что каждый следующий час будет повторять предыдущий. Точность остальных моделей временных рядов сравнивалась с этим показателем.

Сравнение моделей временного ряда для почасового прогноза спроса
Результаты, приведённые в таблице, показывают, что менеджер магазина, пытающийся предсказать, что будет распродано в течение следующего часа, будет точен на 61%, если будет ориентироваться на предыдущий час. Владелец того же магазина будет точен на 80%, если будет использовать разработанное решение.
Но этот вывод можно сделать лишь с оговоркой. Несмотря на изменчивость и сложность среды, созданной с помощью модели, полученным данным все же не хватает реалистичности.
К примеру, в модели отсутствуют нерегулярные события, которые могли бы привести к временному закрытию магазина, не предусмотрен прогул сотрудника, а на складе всегда достаточно продуктов для пополнения полок. Кроме того, прогнозирование спроса было упрощено за счёт того, что новые продуктовые позиции не добавлялись.
Поэтому информацию, которую выдаёт модель, нужно с осторожностью использовать для приращения данных, потому что ИИ ещё не научился справляться с дополнительными случайными изменениями характеристик и не сможет адаптироваться к реальной ситуации. На данном этапе будет полезно использовать метод рандомизации, технологии переноса обучения или адаптацию к реальным данным.
Тем не менее, хотя обученный по описанной технологии ИИ не может получать гарантированно точные результаты с реальными данными, он может помочь исследователям исключить неподходящие прогнозные модели и оценить, будет ли в конкретном примере польза от данных с дополнительных датчиков на моделируемом объекте или от других источников данных.
В рамках второй задачи, которую решали инженеры, имитационная модель позволила сравнить влияние различных стратегий ИИ по приоритезации задач на основании набора показателей в заданный период времени (день, неделя, месяц, год). Среди них были:

Результаты ежедневной выручки магазина
В приведённой таблице показаны выборочные результаты по дневной прибыли магазина
- общая выручка;
- общая прибыль;
- общее время ожидания клиентов;
- количество событий с дефицитом товара;
- недополученная прибыль из-за отсутствия товара;
- количество незавершённых покупок.
В данном случае стратегия “Приоритет по очереди” подразумевает, что продукты будут пополняться в том же порядке, в котором кончаются. Другие стратегии сравниваются с этой опорной стратегией, чтобы определить оптимальную с точки зрения прибыли. Но этот метод также можно использовать для оптимизации других показателей производственной деятельности, например, распределения рабочего времени сотрудников. Как оказалось, при заданных параметрах приоритетность задач играет гораздо меньшую роль, чем способность предсказывать спрос, но изменение параметров или наборов данных может привести к другим выводам.
В этом проекте имитационное моделирование использовалось в качестве площадки для тестирования различных стратегий ИИ и для создания наборов данных, которые помогли научить ИИ более точному прогнозированию. В розничном магазине это решение может помочь менеджеру лучше понять, сколько продуктов предположительно будет продано за час и запасы каких продуктов сотрудникам следует пополнять на полках в первую очередь.
Этот проект позволил инженерам Element AI освоить дискретно-событийный и агентный подходы к моделированию. В результате команда получила инструмент, с которым в будущем можно будет выполнять более сложные проекты, где нужно будет использовать обучение с подкреплением, применить технологию переноса обучения или адаптацию к реальным данным, или же создать цифрового двойника реальной системы.