реклама
Бургер менюБургер меню

Иван Приморский – Нейросети для прогнозирования продаж в розничном магазине (страница 2)

18

Так что не корите себя, если ваш внутренний Петр последнее время часто ошибается. Просто пришло время сменить инструмент.

Краткий ликбез: что такое нейросети и как они “мыслят”

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

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

Про слона и наездника

Лучшая аналогия, которую я знаю – это обучение ребёнка. Как вы объясните малышу, что такое кошка? Вы же не будете давать ему энциклопедическое определение: “Млекопитающее семейства кошачьих, с четырьмя конечностями…” Нет. Вы просто показываете ему на кошку и говорите: “Смотри, это кошка”. Потом показываете на другую, третью. И вот, через несколько примеров, ребёнок уже сам может отличить кошку от собаки, даже если увидит породу, которую раньше ему не показывали.

Нейросеть работает примерно так же. Это не программирование в классическом смысле, где вы прописываете каждое “если-то”. Это обучение. Вы даёте нейросети множество примеров того, что хотите от неё получить, и она сама выстраивает внутри себя связи, чтобы понять логику.

Давайте представим себе слона и его наездника. Наездник – это тот самый классический программист, который пишет инструкции. Он чётко знает маршрут и говорит слону, куда идти: налево, направо, стоять. Это эффективно, но медленно, и наездник устаёт. Нейросеть же – это слон. Вы не объясняете слону словами, как обходить ямы и где искать воду. Вы просто водите его по саванне, и слон запоминает дорогу. В следующий раз, даже если вы не будете рядом, слон сам приведёт вас к водопою, потому что он “натренирован”. Он не думает словами, у него нет в голове карты с координатами, но он чувствует направление.

Как устроена нейросеть изнутри

Теперь чуть глубже, но всё так же без занудства. Строительный блок любой нейросети – это нейрон. Не пугайтесь биологии, это просто математическая функция. Представьте себе маленькую лампочку, у которой есть несколько входов и один выход. На входы поступают данные, лампочка их обрабатывает и, если “сумма впечатлений” превышает определённый порог, она загорается (передаёт сигнал дальше).

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

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

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

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

Магия внутри “черного ящика”

Самое интересное, что даже создатели нейросети часто не могут точно сказать, почему она приняла то или иное решение. Мы видим, что пришло на вход (история продаж, погода, праздники) и что получилось на выходе (прогноз на завтра). А что творится в этой огромной паутине из лампочек и весов – загадка. Это и есть тот самый “чёрный ящик”, о котором вы наверняка слышали.

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

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

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

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

Первые шаги: какие данные нужны для обучения модели

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

Многие представляют себе это так: есть волшебная черная коробка, ты кидаешь туда все данные, которые накопились в 1С за последние пять лет, нажимаешь кнопку «Предсказание», и на тебя вываливается идеальный план закупок. Увы, это работает не так. Если вы скормите нейросети мусор, она переварит его и выдаст вам предсказание, которое будет еще более мусорным, чем исходные данные. Это закон сохранения говна в программировании: сколько говна на входе, столько же и на выходе.

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

Данные для обучения: еда для мозга нейросети

Когда мы говорим про данные для обучения, мы не имеем в виду просто «файлик Exсel с продажами». Обучение модели – это как готовка сложного блюда. Просто взять кусок мяса и бросить его на сковороду – это одно. А приготовить стейк в винном соусе с трюфелями – это совсем другое. Тут важен и маринад, и гарнир, и соус.

Нейросеть – это гурман. Ей нужны не просто цифры, а контекст. Какие же ингредиенты нам понадобятся?

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

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

Второй слой – это данные о самом товаре. Не ограничивайтесь артикулом и названием. Нейросети будет полезно знать, что это за зверь. К какой категории он относится? Какой у него бренд? Это товар повседневного спроса или сезонный? Какой у него срок годности? Есть ли у него заменяющие товары-аналоги на полке? Вся эта информация помогает модели не просто слепо повторять цифры, а понимать логику спроса.