Устранение дефицита товаров в розничном магазине с помощью ИИ

Устранение дефицита товаров в розничном магазине с помощью ИИ

Проблема:

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

  1. Можно ли использовать имитационное моделирование для создания массивов данных для тренировки моделей искусственного интеллекта?
  2. Поможет ли ИИ улучшить работу агентов в имитационных моделях?
  3. Можно ли применить методы обучения с подкреплением к реальным бизнес-задачам?

Чтобы успешно обучить ИИ-модель, технология глубокого обучения обычно требует очень больших массивов данных. Например, нейронные сети – семейство ИИ-моделей – используют для обучения массивы данных вместо традиционных систем исполнения бизнес-правил. Однако с данными могут возникнуть сложности:

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

В рамках второй задачи специалистам Element AI нужно было выяснить, как можно использовать ИИ в интеграции с имитационными моделями, чтобы принимать более обоснованные решения. Они выдвинули следующие гипотезы:

Перед проверкой методов обучения с подкреплением на реальных проектах инженеры из Element AI решили сфокусироваться на двух перечисленных выше задачах.

Решение:

Скриншот модели
Скриншот разработанной модели

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

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

Однако, если модель с ИИ работает на таких данных, есть риск, что она подстроится под них и не сможет вернуться к более общему виду при изменении параметров или при сравнении с реальными данными. Эту проблему, как правило, можно преодолеть или свести к минимуму с помощью рандомизации.

Второй целью использования ИИ было помочь агентам (виртуальным работникам магазина, ответственным за пополнение стеллажей) определить, каким продуктам следует отдать приоритет при заполнении полок. Так можно было бы избежать или свести к минимуму убытки, связанные с дефицитом товаров.

Для достижения этих целей имитационная модель продуктового магазина включала агентов трёх основных типов. Каждому из них соответствовал набор случайно заданных параметров, чтобы обеспечить необходимый уровень сложности.

Первый тип – покупатели. В модели это были агенты-пешеходы, и для каждого из них были заданы следующие параметры:

Второй тип – категории продуктов, которые также обладали различными параметрами:

3. Параметры задавались и для сотрудников магазина. Им приписывались:

Когда инженеры Element AI синхронизировали их ИИ-модели с имитационной моделью, они получили готовое решение. Чтобы получить данные на основе моделирования, нужно было:

Разработанное решение состояло из четырёх простых шагов:

Основное преимущество этого подхода состоит в том, что он не зависит от уровня сложности ИИ и языка программирования (в данном случае использовался Python). При этом периодически приходилось ненадолго останавливать прогон модели.

Результат:

Данные, полученные с помощью моделирования пятилетнего периода работы магазина, позволили специалистам компании Element AI обучить модели, прогнозирующие временные ряды, и предсказывать поминутный спрос. При этом инженеры использовали данные за первые четыре года для обучения ИИ, а данные по пятому году использовались для проверки точности прогноза.

Базовый показатель для почасового прогноза спроса был задан как Lag-0; эта настройка показывает, что каждый следующий час будет повторять предыдущий. Точность остальных моделей временных рядов сравнивалась с этим показателем.

 Сравнение моделей временного ряда для почасового прогноза спроса

Сравнение моделей временного ряда для почасового прогноза спроса

Результаты, приведённые в таблице, показывают, что менеджер магазина, пытающийся предсказать, что будет распродано в течение следующего часа, будет точен на 61%, если будет ориентироваться на предыдущий час. Владелец того же магазина будет точен на 80%, если будет использовать разработанное решение.

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

К примеру, в модели отсутствуют нерегулярные события, которые могли бы привести к временному закрытию магазина, не предусмотрен прогул сотрудника, а на складе всегда достаточно продуктов для пополнения полок. Кроме того, прогнозирование спроса было упрощено за счёт того, что новые продуктовые позиции не добавлялись.

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

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

В рамках второй задачи, которую решали инженеры, имитационная модель позволила сравнить влияние различных стратегий ИИ по приоритезации задач на основании набора показателей в заданный период времени (день, неделя, месяц, год). Среди них были:

 Результаты ежедневной выручки магазина

Результаты ежедневной выручки магазина

В приведённой таблице показаны выборочные результаты по дневной прибыли магазина

В данном случае стратегия “Приоритет по очереди” подразумевает, что продукты будут пополняться в том же порядке, в котором кончаются. Другие стратегии сравниваются с этой опорной стратегией, чтобы определить оптимальную с точки зрения прибыли. Но этот метод также можно использовать для оптимизации других показателей производственной деятельности, например, распределения рабочего времени сотрудников. Как оказалось, при заданных параметрах приоритетность задач играет гораздо меньшую роль, чем способность предсказывать спрос, но изменение параметров или наборов данных может привести к другим выводам.

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

Этот проект позволил инженерам Element AI освоить дискретно-событийный и агентный подходы к моделированию. В результате команда получила инструмент, с которым в будущем можно будет выполнять более сложные проекты, где нужно будет использовать обучение с подкреплением, применить технологию переноса обучения или адаптацию к реальным данным, или же создать цифрового двойника реальной системы.

Похожие проекты

Другие истории успеха