что такое modeling based learning
What is Model-Based Reinforcement Learning?
Our monthly analysis on machine learning trends
Machines learn differently than people. For instance, you probably didn’t learn the difference between a positive and a negative movie review by analyzing tens of thousands of labeled examples of each. There is, however, a specific subfield of machine learning that bears a striking resemblance to aspects of how we learn.
Reinforcement learning (RL) is a field that’s been around for a few decades. Lately, it’s been picking up steam thanks to its integration of deep neural networks (deep reinforcement learning) and the newsworthy successes it’s accumulated as a result. At its core though, RL is concerned with how to go about making decisions and taking sequential actions in a specific environment to maximize a reward. Or, to put a more personal spin on it, what steps should you take to get promoted at your job, or to improve your fitness, or to save money to buy a house? We tend to figure out an optimal approach to accomplish goals like these through some degree of trial and error, evolving our strategies based on feedback from our environment.
At a basic level, RL works in much the same way. Of course, backed by computing power, it can explore different strategies (or “policies” in the RL literature) much faster than we can, often with pretty impressive results (especially for simple environments). On the other hand, lacking the prior knowledge that humans bring to new situations and environments, RL approaches also tend to need to explore many more policies than a human would before finding an optimal one.
As reinforcement learning is a broad field, let’s focus on one specific aspect: model-based reinforcement learning. As we’ll see, model-based RL attempts to overcome the issue of a lack of prior knowledge by enabling the agent — whether this agent happens to be a robot in the real world, an avatar in a virtual one, or just a piece software that take actions — to construct a functional representation of its environment.
While model-based reinforcement learning may not have clear commercial applications at this stage, its potential impact is enormous. After all, as AI becomes more complex and adaptive — extending beyond a focus on classification and representation toward more human-centered capabilities — model-based RL will almost certainly play an essential role in shaping these frontiers.
“The next big step forward in AI will be systems that actually understand their worlds. The world is only accessed through the lens of experience, so to understand the world means to be able to predict and control your experience, your sense data, with some accuracy and flexibility. In other words, understanding means forming a predictive model of the world and using it to get what you want. This is model-based reinforcement learning.”
Richard S. Sutton
Primary Researcher at the Alberta Machine Intelligence Institute
To Model or Not to Model
“Model” is one of those terms that gets thrown around a lot in machine learning (and in scientific disciplines more generally), often with a relatively vague explanation of what we mean. Fortunately, in reinforcement learning, a model has a very specific meaning: it refers to the different dynamic states of an environment and how these states lead to a reward.
Model-based RL entails constructing such a model. Model-free RL, conversely, forgoes this environmental information and only concerns itself with determining what action to take given a specific state. As a result, model-based RL tends to emphasize planning, whereas model-free RL tends to emphasize learning (that said, a lot of learning also goes on in model-based RL). The distinction between these two approaches can seem a bit abstract, so let’s consider a real-world analogy.
Imagine you’re visiting a city that you’ve never been to before and for whatever reason you don’t have access to a map. You know the general direction from your hotel to the area where most of the sights of interest are, but there are quite a number of different possible routes, some of which lead you through a slightly dangerous neighborhood.
One navigational option is to keep track of all the routes you’ve taken (and the different streets and landmarks that make up these routes) to begin to create a map of the area. This map would be incomplete (it would only rely on where you’d already walked), but would at least allow you to plan a course ahead of time to avoid that neighborhood while still optimizing for the most direct route. You could even spend time back in your hotel room drawing out the different possible itineraries on a sheet of paper and trying to gauge which one seems like the best overall option. You can think of this as a model-based approach.
Another option — especially if you’re the type of person who’s not big on planning — would simply be to keep track of the different locations you’d visited (intersections, parks, and squares for instance) and the actions you took (which way you turned), but ignore the details of the routes themselves. In this case, whenever you found yourself in a location you’d already visited, you could favor the directional choice that led to a good outcome (avoiding the dangerous neighborhood and arriving at your destination more efficiently) over the directions that led to a negative outcome. You wouldn’t specifically know the next location you’d arrive at with each decision, but you would at least have learned a simple procedure for what action to take given a specific location. This is essentially the approach that model-free RL takes.
As it relates to specific RL terms and concepts, we can say that you, the urban navigator, are the agent; that the different locations at which you need to make a directional decision are the states; and that the direction you choose to take from these states are the actions. The rewards (the feedback based on the agent’s actions) would most likely be positive anytime an action both got you closer to your destination and avoided the dangerous neighborhood, zero if you avoided the neighborhood but failed to get closer to your destination, and negative anytime you failed to avoid the neighborhood. The policy is whatever strategy you use to determine what action/direction to take based on your current state/location. Finally, the value is the expected long-term return (the sum of all your current and future rewards) based on your current state and policy.
In general, the core function of RL algorithms is to determine a policy that maximizes this long-term return, though there are a variety of different methods and algorithms to accomplish this. And again, the major difference between model-based and model-free RL is simply that the former incorporates a model of the agent’s environment, specifically one that influences how the agent’s overall policy is determined.
A Modest Comparison
So what are the pros and cons of the model-based vs. the model-free approach? Model-based RL has a lot going for it. For one thing, it tends to have higher sample efficiency than model-free RL, meaning it requires less data to learn a policy. In other words, by leveraging the information it’s learned about its environment, model-based RL can plan rather than just react, even simulating sequences of actions without having to directly perform them in the actual environment.
A related benefit is that by virtue of the modeling process, model-based RL has the potential to be transferable to other goals and tasks. While learning a single policy is good for one task, if you can predict the dynamics of the environment, you can generalize those insights to multiple tasks. Finally, having a model means you can determine some degree of model uncertainty, so that you can gauge how confident you should be about the resulting decision process.
Moving to the cons of model-based RL (or the pros of model-free RL), one of the biggest ones is simply that by having to learn a policy (the overall strategy to maximize the reward) as well as a model, you’re compounding the degree of potential error. In other words, there are two different sources of approximation error in model-based RL, whereas in model-free RL there’s only one. For similar reasons, model-based approaches tend to be far more computationally demanding than model-free ones, which by definition simplify the learning process.
It’s worth noting that this doesn’t necessarily need to be a binary decision. Some of the most effective recent approaches have combined model-based and model-free strategies. Perhaps this isn’t so surprising given the evidence that, as one paper states, “the [human] brain employs both model-free and model-based decision-making strategies in parallel, with each dominating in different circumstances.”
Recent Research and Frameworks
A few years ago, OpenAI released an open source RL toolkit — OpenAI Gym — that provides a variety of flexible environments for algorithm experimentation and development. A team at Google has now followed suit, releasing its own Tensorflow-based framework this past month. Beyond just aiding experimentation, the Google team has also stated its explicit goal to help make RL research more reproducible (and, by extension, more accountable to the larger community). Rather than providing an environment, the Tensorflow framework instead offers acodebase of agents (four in all) as well as their training data, allowing users — even those with limited RL experience — a convenient entry point into experimental research.
Speaking of research, a number of recent papers have demonstrated the practical and theoretical possibilities of model-based RL. One of the takeaways from these papers is just how broad the current applications of RL are. They include everything from robotics to natural language processing to a seemingly endless range of simulated environments.
This broad applicability certainly isn’t limited solely to model-based approaches. Still, on a more philosophical level, what makes model-based RL so compelling is partly the fact that it more faithfully mirrors the procedures we use to learn. We take it for granted, after all, that knowing more about our environment and its likely responses to our actions is useful for making good decisions. In a sense, model-based RL has simply figured out a way to mathematically formalize this basic human insight.
What This Means For You
Model-based RL isn’t quite ready for primetime production contexts now. Still, it’s already become integral for developing algorithms that can handle complex sequences of events in both real and simulated environments. This is one of those areas of machine learning that’s worth keeping track of in the coming years: when model-based RL finally breaks into commercial settings, it’s going to make some serious waves.
PDDM — Новый Model-Based Reinforcement Learning алгоритм с улучшенным планировщиком
Обучение с подкреплением (Reinforcement Learning) делится на два больших класса: Model-Free и Model-Based. В первом случае действия оптимизируются напрямую по сигналу награды, а во втором нейросеть является только моделью реальности, а оптимальные действия выбираются с помощью внешнего планировщика. У каждого подхода есть свои достоинства и недостатки.
Разработчики из Berkeley и Google Brain представили Model-Based алгоритм PDDM с улучшенным планировщиком, позволяющий эффективно обучаться сложным движениям с большим числом степеней свободы на небольшом числе примеров. Чтобы научиться вращать мячи в роботизированной руке с реалистичными суставами пальцев с 24 степенями свободы, потребовалось всего 4 часа практики на реальном физическом роботе.
Обучение с подкреплением (Reinforcement Learning) — это обучение роботов по сигналу награды. Это похоже на то, как учатся живые существа. Но проблема осложняется тем, что неизвестно как нужно изменять веса нейросети, чтобы предлагаемые ею действия вели к увеличению награды. Поэтому в Reinforcement Learning обычные методы обучения нейросетей не подходят. Ведь неизвестно, что именно она должна выдавать на своем выходе, а значит невозможно найти ошибку между ее предсказанием и реальным положением вещей. Чтобы пропустить эту разницу обратно по слоям нейросети и изменить веса между нейронами, чтобы минимизировать эту ошибку. Это классический алгоритм обратного распространения ошибки, которым обучают нейросети.
Поэтому учеными было изобретено несколько способов, как решить эту задачу.
Model-Free
Одним из самых эффективных подходов оказалась модель actor-critic (актер-критик). Пусть одна нейросеть (actor) на своем входе получает состояние окружающей среды state, а на выходе выдает действия actions, которые должны вести к увеличению награды reward. Пока эти действия случайные и просто зависят от прохождения сигнала внутри сети, так как нейросеть еще не обучена. А вторая нейросеть (critic) пусть на вход получает тоже состояние окружающей среды state, но еще и действия actions с выхода первой сети. А на выходе пусть предсказывает только награду reward, которая будет получена, если применить эти действия.
А теперь следите за руками: какие должны быть на выходе первой сети оптимальные действия actions, ведущие к увеличению награды, мы не знаем. Поэтому с помощью алгоритма обратного распространения ошибки обучить ее не можем. А вот вторая нейросеть очень даже может предсказывать точное значение награды reward (а точнее, обычно ее изменение), которую она получит, если сейчас применить действия actions. Так давайте возьмем градиент изменения ошибки из второй сети, и применим его к первой! Так можно обучать первую нейросеть классическим методом обратного распространения ошибки. Просто ошибку берем не из выходов первой сети, а из выходов второй.
В итоге первая нейросеть обучится выдавать оптимальные действия, ведущие к увеличению награды. Потому что если критик critic ошибся и предсказал меньшую награду, чем оказалась в реальности, то градиент этой разницы будет двигать действия актера actor в направлении, чтобы критик точнее предсказывал награду. А значит в сторону более оптимальных действий (ведь именно они приведут к тому, что критик точно предскажет более высокую награду). Аналогичный прицип работает и в обратную сторону: если критик завысил ожидаемую награду, разница между ожиданием и реальностью будет понижать выходы actions у первой нейросети, которые привели к этому завышенному показанию reward у второй сети.
Как видите, в этом случае действия оптимизируются напрямую по сигналу награды. Это общая суть всех Model-Free алгоритмов в Reinforcement Learning. Именно они являются state-of-the-art на данный момент.
Их преимуществом является то, что оптимальные действия ищутся градиентным спуском, поэтому в итоге находятся самые оптимальные. А значит показывающие лучший результат. Другим преимуществом является возможность использовать маленькие (а значит быстрее обучаемые) нейросети. Если из всего многообразия факторов окружающей среды ключевыми для решения задачи являются какие-то конкретные, то градиентный спуск вполне способен их выявить. И использовать для решения задачи. Эти два преимущества обеспечили успех прямым Model-Free методам.
Но у них есть и недостатки. Так как действия обучаются напрямую по сигналу награды, то нужно много обучающих примеров. Десятки миллионов даже для очень простых случаев. Они плохо работают на задачах с большим числом степеней свободы. Если алгоритму сразу не удастся выявить ключевые факторы среди ландшафта высокой размерности, то он скорее всего вообще не обучится. Также Model-Free методы могут эксплуатировать уязвимости в системе, зацикливаясь на неоптимальном действии (если к нему сошелся градиентный спуск), игнорируя остальные факторы окружающей среды. Для даже немного отличающихся задач Model-Free методы приходится обучать полностью заново.
Model-Based
Model-Based методы в Reinforcement Learning в корне отличаются от описанного выше подхода. В Model-Based нейросеть только предсказывает что будет дальше. Не предлагая никаких действий. То есть, является просто моделью реальности (отсюда «Model»-Based в названии). А вовсе не системой принятия решений.
На вход Model-Based нейросети подают текущее состояние окружающей среды state и какие хотим совершить действия actions. А нейросеть предсказывает как изменится в будущем state после применения этих действий. Она может также предсказывать какая будет награда reward в результате этих действий. Но это не обязательно, так как награду обычно можно вычислить из известного state. Далее этот выходной state можно подать обратно на вход нейросети (вместе с новыми предполагаемыми actions), и так рекурсивно предсказывать изменение внешней окружающей среды на много шагов вперед.
Model-Based нейросети очень легко обучаются. Так как они просто предсказывают как будет изменяться мир, не делая никаких предложений какие должны быть оптимальные действия, чтобы награда увеличивалась. Поэтому Model-Based нейросеть использует для своего обучения все существующие примеры, а не только те, что ведут к увеличению или уменьшению награды, как это происходит в Model-Free. Это причина того, почему Model-Based нейросетям нужно намного меньше примеров для обучения.
Единственным недостатком является то, Model Based нейросеть должна изучить реальную динамику системы, а значит должна обладать достаточной емкостью для этого. Model-Free нейросеть может сойтись на ключевых факторах, игнорируя остальные, и поэтому быть маленькой простой сетью (если задача в принципе решаема меньшими ресурсами).
Другим большим преимуществом, помимо обучения на меньшем на порядки числе примеров, является то, что будучи универсальной моделью мира, единственную Model-Based нейросеть можно использовать для решения любого числа задач в этом мире.
Главная проблема в Model-Based подходе — а какие, собственно, действия actions подавать нейросети на вход? Ведь нейросеть сама не предлагает никаких оптимальных действий.
Самый простой способ — это прогонять через такую нейросеть десятки тысяч случайных действий и выбрать те, для которых нейросеть предскажет наибольшую награду. Это классический Model-Based Reinforcement Learning. Однако при больших размерностях и длинных временных цепочках, число возможных действий получается слишком велико чтобы их все перебрать (или даже угадать хотя бы немного оптимальные).
По этой причине Model-Based методы обычно уступают Model-Free, которые градиентным спуском напрямую сходятся к самым оптимальным действиям.
Улучшенная версия, применимая к движениям в робототехнике — это использовать не случайные actions, а сохранять предыдущее движение, добавляя случайность по нормальному распределению. Так как движения роботов обычно плавные, это позволяет сократить число переборов. Но при этом можно упустить важное резкое изменение.
Конечным вариантом развития такого подхода можно считать CEM вариант, в котором используется не фиксированное нормальное распределение, вносящее случайности в текущую траекторию actions, а подбирающее параметры случайного распределения с помощью кросс-энтропии. Для этого запускается популяция расчетов actions и лучшие из них используются для уточнения разброса параметров в следующем поколении. Что-то вроде эволюционного алгоритма.
Такое длинное вступление понадобилось для того, чтобы объяснить что происходит в новом предложенном PDDM Model-Based алгоритме обучения с подкреплением. Прочитав статью в Berkeley AI блоге (или расширенную версию), и даже оригинальную статью arxiv.org/abs/1909.11652, это могло быть не очевидно.
PDDM метод повторяет идею CEM при выборе случайных действий actions, которые надо прогнать через Model-Based нейросеть, чтобы выбрать действия с максимальной предсказываемой наградой. Только вместо подбора параметров случайного распределения, как это делается в CEM, PDDM использует временную корреляцию между actions и более мягкое (soft) правило обновления случайного распределения. Формула приведена в оригинальной статье. Это позволяет проверить большее число подходящих actions на длинных временных дистанциях, особенно если движения требуют точной координации. Дополнительно авторы алгоритма фильтруют кандидатов в actions, получая тем самым более плавную траекторию движений.
Проще говоря, разботчики просто предложили более удачную формулу для выбора случайных actions для проверки в классическом Model-Based Reinforcement Learning.
Но результат получился очень хорошим.
Всего за 4 часа тренировки на реальном роботе, роборука с 24 степенями свободы научилась удерживать два шара и вращать их в ладони, не роняя. Недостижимый результат для любых современных Model-Free методов на таком малом числе примеров.
Что интересно, для обучения они использовали вторую роборуку с 7 степенями свободы, которая подбирала уроненные мячи и возвращала их в ладонь основной роборуке:
В итоге уже через 1-2 часа роборука могла уверенно удерживать шары и передвигать их в ладони, а 4 часов оказалось достаточно для полного обучения.
Обратите внимание на дерганные движения пальцев. Это характерная особенность Model-Based подходов. Так как предполагаемые actions выбираются случайно, то не всегда совпадают с оптимальными. Model-Free алгоритм потенциально мог бы сойтись на действительно оптимальных плавных движениях.
Однако Model-Based подход позволяет с одной обученной нейросетью, моделирующей мир, решать разные задачи без ее переобучения. В статье есть несколько примеров, например можно без проблем поменять направление вращения шаров в руке (в Model-Free пришлось бы заново обучать нейросеть для этого). Или удерживать мяч в конкретной точке ладони, следуя за красной точкой.
Также можно заставить роборуку рисовать карандашом произвольные траектории, обучение чему для Model-Free методов очень сложная задача.
Хотя предложенный алгоритм не является панацеей, и даже не является ИИ алгоритмом в полном смысле этого слова (в PDDM нейросеть просто заменяет аналитическую модель, а решения принимаются случайным поиском с хитрым правилом, уменьшающем число переборов вариантов), он может быть полезен в робототехнике. Так как показал заметное улучшение результатов и обучается на очень маленьком числе примеров.
Задачи и инструменты ML и их практическое применение
Машинное обучение – распространившийся термин, но не все понимают его верно. В этом материале эксперты направления аналитических решений ГК «КОРУС Консалтинг» Алена Гайбатова и Екатерина Степанова расскажут, что же на самом деле такое machine learning (ML), в каких случаях эту технологию стоит использовать в проектах, а также где машинное обучение активно применяется на практике.
Как работают с данными
Уже давно на встречах с заказчиками мы стали замечать, что все путают машинное обучение, искусственный интеллект (ИИ), большие данные и другие термины из этой области.
Итак, общее название технологии – искусственный интеллект. Он бывает двух типов – сильный (он же общий) и слабый. Мы не будем особенно обсуждать сильный ИИ, так как это решения уровня Терминатора. Мы к нему потихонечку приближаемся, но до сих пор он существует только в виде собранных вместе фрагментов слабого ИИ (как, например, в «умных» колонках).
Намного интереснее поговорить о слабом искусственном интеллекте. Он тоже делится на два типа. Первый – экспертные системы, алгоритмы, запрограммированные вручную (например, запрограммированный группой лингвистом алгоритм перевода слов из одного языка в другой).
Второй – так называемые data-driven системы, которые извлекают логику работы из каких-то исторических данных. У этого типа есть много терминов-синонимов, которые возникали с течением времени:
модные в 90-е и нулевые data mining и knowledge discovery from database (KDD),
data science, вошедший в обиход ближе к 2010-м,
big data популярная ныне. Единственное исключение, точнее дополнение, которое привносит именно этот термин – наличие огромного количества сложноструктурированных данных.
Для разных задач – разные алгоритмы
В соответствии с двумя типами слабого ИИ выводы из данных мы можем сделать вручную (при экспертных системах) и с помощью машинного обучения. Оно же в свою очередь подразделяется на два типа: классический ML и deep learning (с использованием глубоких нейронных сетей с большим количеством слоев).
В проектах на базе ML используются модели. Прежде всего, прогнозные, которые отвечают на базовые вопросы: к какой группе относится объект, какое числовое значение у него будет и так далее. В зависимости от того, на какой вопрос мы отвечаем, это могут быть модель классификатора или регресcии.
Классификаторы
Классификатор — это процесс, позволяющий сказать, к какой группе будет относиться тот или иной объект. Например, у кошек есть разные характеристики: длина хвоста, цвет шерсти, масса тела и другие параметры. По ним мы можем определить, к какой породе относится кошка. Если мы решаем эту задачу с помощью алгоритма, то этот алгоритм будет называться классификатором.
Алгоритм, часто применяемый для классификации — дерево принятия решений. Если мы хотим построить дерево условий для распределения котов по породам, на моменте обучения алгоритм строит дерево условий, задавая первый вопрос.
Рыжая ли у кота шерсть? Да: мы относим его сразу к классу персидских котов, все персидские коты оказываются в одной ветке. Нет: у нас возникает следующее условие — весит ли кот меньше 3 кг. Дерево условий создается в момент обучения алгоритма, а все новые элементы проходят по нему и оказываться в той или иной группе.
Этот алгоритм удобен с точки зрения бизнес-интерпретации результатов, так как мы не всегда можем сразу определить, по каким свойствам у нас разделились группы.
Регрессоры
Регрессор – это алгоритм, который не относит предмет исследования к определенному классу, а присваивает ему определенное число. Пример — алгоритм кредитного скоринга: у нас есть возраст заемщика, трудовой стаж, зарплата — и требуется рассчитать, через какое время клиент сможет выплатить кредит.
Кластеризация
Кластеризация отвечает на вопросы о том, как разбить исследуемые объекты на группы и чем объекты внутри одной группы похожи.
Самый популярный алгоритм кластеризации – метод ближайших соседей. Cнова к кошкам. Мы хотим разбить наших зверей на 4 группы. Наши объекты – снова точки на плоскости. Мы выбираем случайным образом центры наших групп, затем смотрим расстояние от центра группы до точек, ближайших к этому центру группы. После мы смещаем центры таким образом, чтобы расстояние до точек своей группы оказывалось меньше, чем до точек другой группы. Через нескольких итераций у нас получатся хорошо разделенные группы.
Cложность этого алгоритма заключается в том, что объекты не всегда хорошо делятся на группы — в связи с этим трудно оценить корректность результата даже с помощью специальной оценки.
Нейронные сети
Первая нейронная сеть появилась еще в 1950-х гг. Сейчас при помощи нейронных сетей можно ответить на любой вопрос, но лишь с одной оговоркой: ответ не всегда можно интерпретировать.
При работе с нейросетью на вход подается большой объем данных в виде числовых значений, у каждого из которых есть определенный вес. Мы суммируем эти значения и к этой сумме применяем операцию активации, после этого получаем некий прогноз. Так как нейросети используют большое количество скрытых слоев, операции активаций и сумм может быть много. В связи с тем, что этим алгоритмом можно обрабатывать большие объемы данных, модель хорошо работает с текстом, изображением и звуком.
Дополнительно в проектах ML используются оптимизационные методы для минимизации ошибок. В условиях ограничений они стараются найти лучшее решение задачи с помощью нахождения экстремумов функции и применения статистических методов.
Обучение с подкреплением
Это и есть тот самый сильный искусственный интеллект, о котором мы уже говорили выше. К примеру, по этому принципу работают беспилотные автомобили.
Система состоит из агента и среды. Для агента задано конечное число операций (на примере машины – максимальная скорость, торможение, поворот направо или налево и так далее). После совершения действия агент получает либо вознаграждение, если его действие приводит к правильному выполнению задачи, либо наказание, если действие, наоборот, отдаляет его от выполнения задания.
Мы также пользуемся алгоритмами Uplift, нейролингвистического программирования и рекомендательными моделями. Uplift позволяет понять, нужно ли коммуницировать с объектом, НЛП использует алгоритмы для анализа текста (к примеру, на этом принципе работает функция подсказки слов в смартфоне), а рекмодели могут быть персонализированными и не персонализированными.
Теория – на практике
Посмотрим, как эти модели используются на для решения реальных задач. Мы сформулировали предпосылки для использования ML в проектах. Безусловно, они не гарантируют стопроцентного успеха, но на старте могут значительно снизить риски.
Экономический эффект, который может принести оптимизация бизнес-процесса в несколько процентов;
Регулярный технический или бизнесовый процесс, при оптимизации которого регулярное принятие решений на среднем уровне и/или действия по заданному алгоритму могут значительно улучшиться;
Наличие данных, при которых может быть осуществлена оптимизация, за счет их анализа и обработки.
Одна из самых успешных отраслей в плане применения машинного обучения – это розничная торговля. Cвязано это с тем, что в ней много регулярных процессов
Например, категорийные менеджеры ежедневно занимаются управлением ассортиментом, промоакциями, ценообразованием, прогнозированием спроса, управлением логистикой. Оптимизация на доли процентов даже одного такого бизнес-процесса в масштабе торговой сети приобретает существенный эффект.
Задачи, которые решает ML в ритейле, включают в себя предсказание оттока клиентов, анализ продуктовых корзин, прогнозирование товаров в следующем чеке, распознавание ценников и товаров, прогноз закупок и спроса, оптимизация закупок и логистики, планирование промо, цен и ассортимента — или это лишь малая часть.
Ритейл не испытывает недостатка как в наличия разных данных, так и в их глубине истории. У ритейлеров есть история продаж, статистика поведения клиентов, история промоакций, исторический ассортимент, параметры товаров и магазинов, изображения ценников и товаров, история доставок и поступления товаров и многое другое. Оцифровка всего этого, чаще всего, не требуется.
Похуже с данными в сфере промышленности — хотя и там они есть. Это и исторические данные с датчиков о производительности, поломках, работе бригад, данные по расходу и поставкам сырья, отгрузкам и доставкам. Для производств каждый процент простоя – это существенные потери, поэтому именно способы его сокращения, как и сокращение запасов, становятся основными задачами для оптимизации. Поэтому в числе главных задач для ML здесь — предсказание поломок оборудования, маркировка похожих поломок, выявление закономерностей поломок, выявление факторов на снижения производительности, оптимизация расхода сырья в производстве, оптимизация заказов и времени поставок сырья, прогноз скорости доставки.
Еще две отрасли, в которых распространены проекты на базе искусственного интеллекта, это банки и телекоммуникации. Это и управление клиентскими рисками (кредитный скоринг), и оптимизация регулярных рассылок клиентам. Задачи, стоящие в этих проектах, разношерстны – от предсказания оттока клиентов до маркировки клиентов, от кросс-сейл кредитов и депозитов до предсказания крупных транзакций.
Cреди данных, которыми обладают подобные компании, статистика по поведению клиентов, их реакция на прошлую коммуникацию, история получения и возвратов кредитов, анкеты клиентов, параметры сотрудников, история эффективности работы персонала и другое.
Количество примеров проектов, реализуемых на базе машинного обучения, множество, и успешные кейсы будут появляться все чаще. Но главное усвоить базовые знания о том, что в действительности используют специалисты по машинному обучению, и заранее просчитать, будет ли от вашего будущего ML-проекта бизнес-эффект.
В настоящее время крупные компании вкладывают большие средства в машинное обучение, потому что данная технология не только окупается, но и помогает найти новые подходы к реализации рутинных задач. Действительно, ИИ занимает все более значимое место на рынке, но это не значит, что машины нас заменят. Мы успешно расширяем наши способности за счет машин, именно для этого и существует машинное обучение.