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

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

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

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

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

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

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

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

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

Век вычислений на графических процессорах

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

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

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

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

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

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

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

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

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

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

Обрабатывает ли ваш прогнозный движок сезонность, тренды, дни недели?

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

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

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

Можете ли вы прогнозировать мою таблицу Excel?

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

Что насчет отсутствия товара на складе и акций?

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

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

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

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

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