Прогнозирование с помощью глубокого обучения (2018)

В рамках нашего основного обязательства доставлять самые точные прогнозы, которые может предложить технология, мы с гордостью объявляем, что наш 5-й поколение прогностического движка теперь доступно в Lokad. Этот движок приносит самое большое улучшение точности, которое нам когда-либо удавалось достичь в одном релизе.

От вероятностного прогнозирования к глубокому обучению

power-clouds
Дизайн движка основан на относительно новом виде машинного обучения, называемом глубоким обучением. Для цепочек поставок большие улучшения точности прогнозирования могут привести к таким же большим результатам, обслуживая больше клиентов, обслуживая их быстрее, при этом сталкиваясь с меньшими рисками инвентаризации. Около 18 месяцев назад мы анонсировали 4-е поколение нашей технологии прогнозирования. 4-е поколение было первым, которое предоставило настоящие вероятностные прогнозы. Вероятностные прогнозы необходимы в цепочках поставок, потому что расходы сосредоточены на статистических экстремумах, когда спрос оказывается неожиданно высоким или низким. В отличие от традиционных методов прогнозирования - таких как традиционные ежедневные, еженедельные или ежемесячные прогнозы - которые сосредоточены только на доставке медианы или среднего прогноза, они не видят проблемы. В результате эти методы обычно не могут обеспечить удовлетворительные результаты для компаний. 5-е поколение не отрицает своего происхождения; оно также принимает вероятностные прогнозы и строит на опыте, полученном с предыдущего поколения.

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

В конкретном случае цепочек поставок оказывается, что основы глубокого обучения полностью соответствуют реальным бизнес-требованиям!

За гипом искусственного интеллекта

Искусственный интеллект - на практике, основанный на глубоком обучении, был модным словом в 2017 году. Утверждения смелые, завораживающие и, ну, расплывчатые. С точки зрения Lokad мы наблюдаем, что большинство этих предприятийских технологий искусственного интеллекта не оправдывают своих ожиданий. Очень немногие компании могут обеспечить более полумиллиарда долларов США финансирования, как Instacart, чтобы собрать команду мирового класса по глубокому обучению для успешного решения задачи цепочки поставок.

С этим выпуском Lokad делает технологию прогнозирования уровня искусственного интеллекта доступной для любой достаточно “цифровизированной” компании. Очевидно, что все это все еще основано на исторических данных цепочки поставок, поэтому данные должны быть доступны Lokad, но наша технология не требует глубоких знаний в области глубокого обучения. В отличие от практически всех “предприятийских” технологий искусственного интеллекта, Lokad не полагается на ручное создание признаков. Что касается наших клиентов, переход от наших предыдущих вероятностных прогнозов к глубокому обучению будет плавным. Lokad - первая компания-разработчик программного обеспечения, предоставляющая готовую к использованию технологию прогнозирования уровня искусственного интеллекта, доступную как для крошечных интернет-магазинов с одним человеком, так и для крупнейших сетей цепочек поставок, которые могут включать тысячи мест и миллион товарных позиций.

Эпоха вычислений на GPU

power-clouds Глубокое обучение оставалось отчасти узкоспециализированным, пока сообщество не смогло обновить свой собственный строительный блок программного обеспечения, чтобы воспользоваться графическими процессорами (GPU). Эти GPU существенно отличаются от ЦП (центральных процессоров), которые до сих пор питают подавляющее большинство приложений в настоящее время, за исключением компьютерных игр, которые интенсивно полагаются как на ЦП, так и на GPU. Вместе с полной переработкой нашего прогностического движка для этой 5-й итерации, мы также значительно улучшили низкоуровневую инфраструктуру Lokad. Действительно, для обслуживания компаний платформа Lokad теперь использует как GPU, так и ЦП. Lokad теперь использует мощности машин, работающих на GPU, которые можно арендовать на Microsoft Azure, облачной вычислительной платформе, поддерживающей Lokad. Благодаря огромной вычислительной мощности GPU, мы не только делаем наши прогнозы более точными, но и делаем их намного быстрее. Через сетку GPU мы теперь обычно получаем прогнозы примерно в 3-6 раз быстрее, для любых значительных наборов данных (*).

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

Запуски продуктов и акции

Наш прогностический движок 5-го поколения приносит существенные улучшения в сложных ситуациях прогнозирования, в частности при запусках продуктов и акциях. С нашей точки зрения запуски продуктов, хотя и очень сложны, остаются немного проще, чем прогнозы акций. Разница в сложности обусловлена качеством исторических данных, которое неизменно ниже для акций по сравнению с запусками продуктов. Данные об акциях становятся лучше со временем, как только введены соответствующие процессы контроля качества.

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

Наши часто задаваемые вопросы о прогнозировании

Какие модели прогнозирования вы используете?

Наша глубокая прогностическая система использует одну модель, построенную на принципах глубокого обучения. В отличие от классических статистических моделей, это модель, которая содержит десятки миллионов обучаемых параметров, что примерно в 1000 раз больше параметров, чем у нашей предыдущей, самой сложной, не глубокой модели машинного обучения. Глубокое обучение значительно превосходит старые подходы машинного обучения (случайные леса, градиентное бустинговые деревья). Тем не менее, стоит отметить, что эти старые подходы машинного обучения уже превосходили все классические модели временных рядов (Бокса-Дженкинса, ARIMA, Холта-Уинтерса, экспоненциального сглаживания и т. д.).

Вы учитесь на своих ошибках в прогнозировании?

Да. Статистический процесс обучения - который в конечном итоге порождает модель глубокого обучения - использует всю доступную историческую информацию, которая доступна Lokad. Историческая информация используется через процесс, известный как обратное тестирование. Таким образом, чем больше исторических данных доступно модели, тем больше возможностей у модели учиться на своих ошибках.

Справляется ли ваша прогностическая система с сезонностью, трендами, днями недели?

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

Какие данные вам нужны?

Как и в случае с нашим предыдущим поколением технологии прогнозирования, для прогнозирования спроса прогностической системе необходимо предоставить - по крайней мере - ежедневный исторический спрос, и предоставление детализированной истории заказов еще лучше. Что касается длины истории, чем длиннее она, тем лучше. Хотя сезонность нельзя обнаружить с менее чем 2 годами истории, мы считаем, что 3 года истории - это хорошо, а 5 лет - отлично. Для прогнозирования сроков поставки система обычно требует, чтобы заказы содержали как даты заказов, так и даты поставки. Указание атрибутов вашего продукта или SKU также помогает значительно уточнить прогнозы. Кроме того, предоставление информации о вашем уровне запасов также очень полезно для нас, чтобы предоставить вам первичный анализ запасов.

Можете ли вы прогнозировать мой Excel-лист?

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

Что насчет нехватки товара и акций?

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

Прогнозируете ли вы новые продукты?

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

Используете ли вы внешние данные для улучшения прогнозов?

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