Обучение с подкреплением для реальных задач [Фил Уиндер] (pdf) читать онлайн

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Reinforcement Learning
Industrial Applications of Intelligent Agents

Phil Winder, Ph.D.

Beijing • Boston • Farnham • Sebastopol • Tokyo

O’REILLY

Фил Уиндер

Обучение
с подкреплением
для реальных задач
Инженерный подход

Санкт-Петербург

«БХВ-Петербург»
2023

УДК 004.43
ББК 32.973.26-018.1
У37

У37

Уиндер Ф.
Обучение с подкреплением для реальных задач: Пер. с англ. — СПб.:
БХВ-Петербург, 2023. — 400 с.: ил.

ISBN 978-5-9775-6885-2
Книга посвящена промышленно-ориентированному применению обучения
с подкреплением (Reinforcement Learning, RL). Объяснено, как обучать промыш­
ленные и научные системы решению любых пошаговых задач методом проб и
ошибок— без подготовки узкоспециализированных учебных множеств данных
и без риска переобучить или переусложнить алгоритм. Рассмотрены марковские
процессы принятия решений, глубокие Q-сети, градиенты политик и их вычисле­
ние, методы устранения энтропии и многое другое. Данная книга — первая на рус­
ском языке, где теоретический базис RL и алгоритмы даны в прикладном, отрасле­
вом ключе.
Для аналитиков данных
и специалистов по искусственному интеллекту
УДК 004.43
ББК 32.973.26-018.1
Группа подготовки издания:
Руководитель проекта
Зав редакцией
Перевод с английского
Редактор
Компьютерная верстка
Оформление обложки

Олег Сивченко
Людмила Гаулъ
Екатерины Черских
Анна Кузьмина
Ольги Сергиенко
Зои Канторович

© 2022 BHV
Authorized Russian translation of the English edition of Reinforcement Learning ISBN 9781098114831
© 2021 Winder Research and Development Ltd
This translation is published and sold by permission of O’Reilly Media, Inc , which owns or controls all rights to publish
and sell the same

Авторизованный перевод с английского языка на русский издания Reinforcement Learning ISBN 9781098114831
© 2021 Winder Research and Development Ltd
Перевод опубликован и продается с разрешения компании-правообладателя O’Reilly Media, Inc

Подписано в печать 29.07 22
Формат 70x1001Лб Печать офсетная. Усл печ л 32,25
Тираж 1300 экз Заказ № 5077
"БХВ-Петербург", 191036, Санкт-Петербург, Гончарная ул , 20

Отпечатано с готового оригинал-макета
ООО "Принт-М", 142300, М О , г Чехов, ул Полиграфистов, д 1

ISBN 978-1-098-11483-1 (англ.)
ISBN 978-5-9775-6885-2 (рус.)

© Winder Research and Development Ltd , 2021
© Перевод на русский язык, оформление
ООО "БХВ-Петербург", ООО "БХВ", 2023

Оглавление

Отзывы.................................................................................................................................................. 15
Об авторе.............................................................................................................................................. 19

Предисловие....................................................................................................................................... 21
Цель.......................................................................................................................................................... 21
Кому следует прочитать эту книгу?................................................................................................... 22
Руководящие принципы и стиль.........................................................................................................22
Предварительная подготовка............................................................................................................... 24
Объем и план...........................................................................................................................................24
Дополнительные материалы................................................................................................................ 25
Условные обозначения, используемые в этой книге...................................................................... 26
Аббревиатуры................................................................................................................................... 26
Математические обозначения........................................................................................................27
Глава 1. Для чего нужно обучение с подкреплением?.................................................... 29
Почему сейчас?.......................................................................................................................................30
Машинное обучение.............................................................................................................................. 31
Обучение с подкреплением................................................................................................................. 32
Когда следует использовать обучение с подкреплением?...................................................... 33
Варианты применения обучения с подкреплением.................................................................. 35
Таксономия подходов обучения с подкреплением..........................................................................37
Без модели или на основе модели................................................................................................ 37
Как агенты используют и обновляют свою стратегию............................................................. 38
Дискретные или непрерывные действия.................................................................................... 39
Методы оптимизации..................................................................................................................... 39
Оценка и улучшение политики..................................................................................................... 40
Фундаментальные концепции обучения с подкреплением........................................................... 41
Первый RL-алгоритм...................................................................................................................... 41
Оценка ценности.................................................................................................................. 42
Ошибка предсказания..........................................................................................................43
Правило обновления веса.................................................................................................. 43
RL — это то же самое, что ML?................................................................................................... 44
Награда и отклик.............................................................................................................................. 45
Отложенные награды..........................................................................................................46
Ретроспектива...................................................................................................................... 46
Обучение с подкреплением как дисциплина................................................................................... 47
Резюме..................................................................................................................................................... 49
Дополнительные материалы для чтения...........................................................................................49
Использованные источники................................................................................................................. 50

Глава 2. Марковские процессы принятия решений,
динамическое программирование и методы Монте-Карло....................................... 53
Алгоритм многорукого бандита......................................................................................................... 53
Разработка наград............................................................................................................................53
Оценка стратегии: функция ценности......................................................................................... 54
Совершенствование политики: выбор лучшего действия....................................................... 57
Моделирование среды.................................................................................................................... 58
Запуск эксперимента...................................................................................................................... 59
Улучшение Б-жадного алгоритма................................................................................................. 61
Марковские процессы принятия решений....................................................................................... 62
Контроль запасов.............................................................................................................................64
Таблица переходов..............................................................................................................65
Граф переходов.................................................................................................................... 66
Матрица переходов.............................................................................................................. 66
Симуляция управления запасами................................................................................................. 68
Политики и функции ценности.......................................................................................................... 70
Дисконтированные вознаграждения........................................................................................... 70
Прогнозирование вознаграждений с помощью функции ценности состояния...................71
Моделирование с использованием функции ценности состояния............................ 73
Прогнозирование вознаграждений с помощью функции ценности действия..................... 75
Оптимальные политики.................................................................................................................. 76
Генерирование политики Монте-Карло........................................................................................... 78
Итерация по ценности с динамическим программированием...................................................... 80
Реализация итерации по ценности................................................................................................ 82
Результаты итерации по ценнности.............................................................................................84
Резюме..................................................................................................................................................... 85
Дополнительные материалы для чтения.......................................................................................... 86
Использованные источники................................................................................................................. 86
Глава 3. Обучение с учетом временных различий, Q-обучение
и я-шаговые алгоритмы............................................................................................................... 87
Обучение с учетом временных различий: формулировка подхода............................................. 88
Q-обучение....................................................................................................................................... 90
SARSA............................................................................................................................................... 92
Q-обучение против SARSA............................................................................................................93
Пример использования: автоматическое масштабирование контейнеров приложений
для снижения затрат....................................................................................................................... 96
Отраслевой пример: торги рекламы в режиме реального времени............................................. 98
Определение марковского процесса принятия решения......................................................... 98
Результаты торгов в режиме реального времени...................................................................... 99
Дальнейшие улучшения............................................................................................................... 101
Расширения для Q-обучения............................................................................................................. 102
Двойное Q-обучение......................................................................................................................102
Отложенное Q-обучение.............................................................................................................. 103
Сравнение стандартного, двойного и отложенного Q-обучения......................................... 103
Обучение с подкреплением на основе противодействия...................................................... 104
«-Шаговые алгоритмы......................................................................................................................... 105
«-Шаговые алгоритмы в распределенных средах................................................................... 108
Трассировки соответствия................................................................................................................. 109

Расширения для трассировки соответствия.................................................................................... 112
Алгоритм обучения Q(k) Уоткинса............................................................................................ 112
Нечеткие стирания в алгоритме обучения Q(X) Уоткинса.....................................................113
Быстрое Q-обучение...................................................................................................................... 113
Накопление или замена трассировок соответствия................................................................ 113
Резюме.................................................................................................................................................... 114
Дополнительные материалы для чтения......................................................................................... 114
Использованные источники................................................................................................................114
Глава 4. Глубокие Q-сети........................................................................................................... 117
Архитектуры глубокого обучения.................................................................................................... 118
Основные положения.................................................................................................................... 118
Архитектуры нейронных сетей.................................................................................................... 119
Фреймворки глубокого обучения............................................................................................... 120
Глубокое обучение с подкреплением......................................................................................... 121
Глубокое Q-обучение.......................................................................................................................... 122
Воспроизведение опыта................................................................................................................122
Клоны Q-сети.................................................................................................................................. 123
Архитектура нейронной сети....................................................................................................... 123
Внедрение глубокой Q-сети......................................................................................................... 124
Пример: глубокая Q-сеть в среде CartPole................................................................................ 125
Зачем обучаться онлайн?..................................................................................................127
Что лучше? Глубока Q-сеть против Q-обучения......................................................... 128
Практический пример: сокращение энергопотребления в зданиях.................................... 128
Радужная DQN...................................................................................................................................... 130
Распределительное RL................................................................................................................... 130
Воспроизведение приоритетного опыта.................................................................................... 132
Зашумленные сети......................................................................................................................... 133
Дуэльные сети................................................................................................................................. 133
Пример: радужная глубокая Q-сеть в Atari Games........................................................................ 134
Результаты....................................................................................................................................... 134
Обсуждение..................................................................................................................................... 136
Другие улучшения глубокой Q-сети.................................................................................................138
Улучшение исследования............................................................................................................. 138
Повышение вознаграждения........................................................................................................ 139
Обучение на основе автономных данных..................................................................................140
Резюме.................................................................................................................................................... 142
Дополнительные материалы для чтения......................................................................................... 143
Использованные источники................................................................................................................143

Глава 5. Методы градиента политики................................................................................ 145
Преимущества прямого изучения политики...................................................................................145
Как рассчитать градиент политики................................................................................................... 146
Теорема о градиенте политики.......................................................................................................... 147
Функции политики.............................................................................................................................. 149
Линейные политики....................................................................................................................... 150
Логистическая политика................................................................................................... 150
Политика softmax............................................................................................................... 151
Произвольные политики.............................................................................................................. 152

Основные реализации...................................................
152
Метод Монте-Карло (алгоритм REINFORCE)........................................................................ 153
Пример: алгоритм REINFORCE в среде CartPole....................................................... 153
Алгоритм REINFORCE с базовыми показателями................................................................. 154
Пример: алгоритм REINFORCE с базовыми показателями в среде CartPole......... 156
Уменьшение градиентной дисперсии........................................................................................158
«-Шаговый и улучшенный алгоритмы "актор — критик".................................................... 159
Пример: «-шаговый алгоритм "актор — критик" в среде CartPole......................... 161
Темпы затухания ценностного обучения по сравнению с темпами
ослабления политики....................................................................................................... 163
Трассировки соответствия алгоритма "актор — критик"..................................................... 164
Пример: трассировка соответствия требованиям алгоритма "актор — критик"
в среде CartPole.................................................................................................................. 165
Сравнение основных алгоритмов градиента политики..........................................................166
Отраслевой пример: автоматическая продажа товаров клиентам............................................. 166
Рабочее окружение: корзина заказов, написанная при помощи библиотеки Gym......... 167
Ожидания......................................................................................................................................... 168
Результаты из среды "Корзина покупок".................................................................................. 169
Резюме.................................................................................................................................................... 172
Дополнительные материалы для чтения......................................................................................... 173
Использованные источники............................................................................................................... 173
Глава 6. Другие методы.............................................................................................................. 175
Алгоритмы, действующие вне политик................................................ ......................................... 175
Выборка по значимости................................................................................................................ 176
Поведенческие и целевые политики.......................................................................................... 178
Q-обучение, действующее вне политики.................................................................................. 178
Градиентное обучение с учетом временных различий...........................................................179
Жадный GQ-алгоритм.................................................................................................................. 180
Алгоритм "актор — критик" вне политики.............................................................................. 181
Детерминированные градиенты политики..................................................................................... 182
Обычные детерминированные градиенты политики.............................................................. 182
Глубокие детерминированные градиенты политики.............................................................. 184
Вывод DDPG....................................................................................................................... 184
Внедрение DSP...................................................................................................................185
Дважды отложенный DPG........................................................................................................... 188
Отложенные обновления политики............................................................................... 188
Ограниченное двойное Q-обучение............................................................................... 189
Сглаживание целевой политики..................................................................................... 189
Реализация TD3................................................................................................................. 190
Практический пример: рекомендации на основе отзывов.................................................... 192
Улучшения DPG............................................................................................................................. 193
Методы доверительной области........................................................................................................ 194
Дивергенция Кульбака — Лейблера.......................................................................................... 196
Эксперименты по дивергенции Кульбака — Лейблера............................................. 196
Естественные градиенты политики и оптимизация политики
доверительной области................................................................................................................. 197
Проксимальная оптимизация политики.................................................................................... 200
Усеченная цель РРО......................................................................................................... 201
Ценностная функция РРО и цели разведки..................................................................203

Пример: использование сервоприводов для Real-Life Reacher.................................................. 205
Описание эксперимента............................................................................................................... 205
Реализация алгоритма RL............................................................................................................. 206
Повышение сложности алгоритма............................................................................................. 208
Настройка гиперпараметров в моделировании....................................................................... 209
Результирующие политики.......................................................................................................... 210
Другие алгоритмы градиента политики..........................................................................................212
Алгоритм Retrace (X)......................................................................................................................212
Алгоритм ACER............................................................................................................................. 212
Алгоритм ACKTR.......................................................................................................................... 213
Эмпатические методы.................................................................................................................. 214
Расширения для алгоритмов градиента политики........................................................................ 214
Квантильная регрессия в алгоритмах градиента политики................................................... 215
Резюме................................................................................................................................................... 215
Какой алгоритм следует использовать?.................................................................................... 215
Замечание об асинхронных методах.......................................................................................... 216
Дополнительные материалы для чтения.........................................................................................216
Использованные источники............................................................................................................... 217

Глава 7. Изучение всех возможных политик
с помощью энтропийных методов......................................................................................... 221
Что такое энтропия?............................................................................................................................ 221
Максимальная энтропия обучения с подкреплением................................................................... 222
Мягкий "актор — критик"................................................................................................................. 223
Детали реализации SAC и дискретные пространства действий.......................................... 224
Автоматическая регулировка температуры.............................................................................. 224
Практический пример: автоматическое управление трафиком
для сокращения очередей.............................................................................................................225
Расширения методов максимальной энтропии.............................................................................. 226
Другие меры энтропии (и ансамбли).........................................................................................226
Оптимистичное исследование с использованием верхней границы
двойного Q-обучения.................................................................................................................... 227
Играем с воспроизведением опыта............................................................................................ 227
Мягкий градиент политики.......................................................................................................... 227
Мягкое Q-обучение (и производные).........................................................................................228
Обучение согласованности пути................................................................................................ 228
Сравнение производительности: SAC против РРО...................................................................... 228
Как энтропия способствует исследованиям?................................................................................. 230
Как температурный параметр влияет на исследование?....................................................... 233
Отраслевой пример: обучение вождению автомобиля с дистанционным управлением.........235
Описание задачи............................................................................................................................ 235
Минимизация времени обучения............................................................................................... 236
Выразительные действия............................................................................................................. 238
Поиск гиперпараметров................................................................................................................ 239
Финальная политика..................................................................................................................... 240
Дальнейшие улучшения............................................................................................................... 240
Резюме................................................................................................................................................... 241
Эквивалентность градиентов политики и мягкого Q-обучения.......................................... 242
Что это означает для будущего?................................................................................................. 242
Что это значит сейчас?................................................................................................................. 242
Использованные источники............................................................................................................... 243

Глава 8. Улучшение процесса обучения агента.............................................................245
Переосмысление марковских процессов принятия решений..................................................... 246
Частично наблюдаемый марковский процесс принятия решений...................................... 246
Предсказание доверительного состояния..................................................................... 247
Практический пример: POMDP в автономных транспортных средствах.......................... 248
Контекстные MDP........................................................................................................................ 249
MDP с изменяющимися действиями......................................................................................... 249
Регуляризованные MDP............................................................................................................... 250
Иерархическое обучение с подкреплением.................................................................................... 250
Наивный HRL................................................................................................................................. 251
Высокоуровневые и низкоуровневые иерархии с внутренними наградами...................... 252
Навыки обучения и неконтролируемое RL............................................................................. 254
Использование навыков в HRL................................................................................................... 255
Выводы HRL.................................................................................................................................. 255
Мультиагентное обучение с подкреплением................................................................................. 256
Фреймворки MARL...................................................................................................................... 257
Централизованное или децентрализованное........................................................................... 259
Алгоритмы с одним агентом....................................................................................................... 260
Практический пример: использование децентрализованного обучения
с одним агентом в беспилотном летательном аппарате........................................................ 261
Централизованное обучение, децентрализованное выполнение......................................... 262
Децентрализованное обучение................................................................................................... 263
Другие комбинации...................................................................................................................... 264
Проблемы MARL.......................................................................................................................... 265
Выводы о MARL........................................................................................................................... 266
Экспертное руководство.................................................................................................................... 267
Клонирование поведения............................................................................................................ 267
Имитационное RL......................................................................................................................... 267
Обратное RL................................................................................................................................... 268
Обучение по учебной программе...............................................................................................270
Другие парадигмы............................................................................................................................... 271
Метаобучение................................................................................................................................. 271
Трансферное обучение................................................................................................................. 272
Резюме................................................................................................................................................... 273
Дополнительные материалы для чтения........................................................................................ 274
Использованные источники...............................................................................................................275
Глава 9. Практическое обучение с подкреплением......................................................279
Жизненный цикл проекта RL........................................................................................................... 279
Определение жизненного цикла................................................................................................. 281
Жизненный цикл науки о данных.................................................................................. 281
Жизненный цикл обучения с подкреплением,............................................................ 282
Определение проблемы: что такое проект RL?............................................................................ 284
Проблемы с RL являются последовательными....................................................................... 284
Проблемы RL имеют стратегический характер...................................................................... 285
Низкоуровневые индикаторы RL...............................................................................................286
Сущность.............................................................................................................................286
Среда.................................................................................................................................... 286
Состояние............................................................................................................................287

Действие.............................................................................................................................. 287
Количественная оценка успеха или неудачи................................................................ 287
Типы обучения............................................................................................................................... 288
Онлайн-обучение............................................................................................................... 288
Автономное или пакетное обучение..............................................................................288
Параллельное обучение................................................................................................... 290
Обучение без сброса.......................................................................................................... 291
Проектирование и доработка RL.......................................................................................................292
Процесс............................................................................................................................................ 293
Инженерия среды........................................................................................................................... 293
Реализация........................................................................................................................... 294
Моделирование.................................................................................................................. 294
Взаимодействие с реальной жизнью.............................................................................. 295
Инжиниринг состояния или обучение представлениям........................................................ 296
Перспективные модели обучения.................................................................................. 297
Ограничения........................................................................................................................297
Преобразование (уменьшение размерности, автоэнкодеры и модели мира)....... 298
Разработка политики.................................................................................................................... 299
Дискретные состояния......................................................................................................300
Непрерывные состояния.................................................................................................. 301
Преобразование в дискретные состояния..................................................................... 303
Пространства смешанных состояний............................................................................. 304
Сопоставление политик с пространствами действий............................................................. 305
Бинарные действия............................................................................................................ 305
Непрерывные действия.....................................................................................................306
Гибридные пространства действий................................................................................ 306
Когда выполнять действия............................................................................................... 307
Обширные пространства действий................................................................................ 307
Исследование.................................................................................................................................. 308
Является ли внутренняя мотивация исследованием?................................................. 309
Количество посещений (выборка)................................................................................. 310
Прирост информации (сюрприз).................................................................................... 310
Прогноз состояния (любопытство или саморефлексия)............................................311
Любопытные задачки........................................................................................................ 311
Случайные вложения (сети случайной дистилляции)................................................312
Расстояние до новизны (эпизодическое любопытство).............................................313
Выводы по разведке.......................................................................................................... 313
Разработка вознаграждений......................................................................................................... 314
Рекомендации по разработке вознаграждений............................................................315
Формирование вознаграждения..................................................................................... 316
Общие награды.................................................................................................................. 317
Выводы о вознаграждении............................................................................................... 318
Резюме................................................................................................................................................... 318
Дополнительные материалы для чтения.........................................................................................319
Использованные источники............................................................................................................... 320

Глава 10. Этапы в обучении с подкреплением............................................................... 325
Реализация............................................................................................................................................. 325
Фреймворки.................................................................................................................................... 326
Фреймворки RL.................................................................................................................. 326
Другие фреймворки........................................................................................................... 328

Масштабирование RL................................................................................................................... 329
Распределенное обучение (Gorila)................................................................................. 330
Обучение на одной машине (АЗС, РААС)................................................................... 331
Распределенное воспроизведение (Аре-Х)................................................................... 333
Синхронное распределение (DD-PPO)......................................................................... 333
Повышение эффективности использования (IMPALA, SEED)............................... 334
Масштабирование сделанных выводов........................................................................ 336
Оценка.............................................................................................................................................. 337
Показатели эффективности политики.......................................................................... 338
Статистические сравнения политик...............................................................................340
Показатели производительности алгоритма................................................................343
Измерения производительности для конкретных задач............................................ 343
Объяснимость.................................................................................................................... 344
Выводы оценки.................................................................................................................. 345
Развертывание...................................................................................................................................... 346
Цели.................................................................................................................................................. 346
Цели на разных этапах развития.................................................................................... 346
Лучшие практики............................................................................................................... 347
Иерархия потребностей.................................................................................................... 348
Архитектура................................................................................................................................... 349
Вспомогательные инструменты.................................................................................................. 351
Разработка против покупки............................................................................................ 352
Мониторинг........................................................................................................................ 352
Регистрация и отслеживание.......................................................................................... 353
Непрерывная интеграция и непрерывная доставка.................................................... 353
Отслеживание экспериментов........................................................................................ 354
Настройка гиперпараметров........................................................................................... 355
Развертывание нескольких агентов.................
355
Развертывание политик.................................................................................................... 356
Безопасность, защита и этика..................................................................................................... 357
Безопасное RL.................................................................................................................... 357
Защитное RL...................................................................................................................... 359
Этическое RL..................................................................................................................... 361
Резюме................................................................................................................................................... 363
Дополнительные материалы для чтения........................................................................................ 364
Использованные источники............................................................................................................... 365
Глава 11. Выводы и будущее................................................................................................... 369
Советы и рекомендации..................................................................................................................... 369
Формулирование задачи............................................................................................................... 369
Ваши данные...........................................................................................................................
370
Тренировка..................................................................................................................................... 371
Оценка.............................................................................................................................................. 372
Развертывание................................................................................................................................ 373
Отладка.................................................................................................................................................. 373
Алгоритм не может решить проблемы среды!........................................................................ 375
Мониторинг для отладки..............................................................................................................376
Будущее обучения с подкреплением............................................................................................... 377
Рыночные возможности RL........................................................................................................ 377
Будущее RL и направления исследований...............................................................................379

Исследования в промышленности................................................................................. 379
Исследования в науке........................................................................................................381
Этические стандарты......................................................................................................... 383
Заключительные замечания............................................................................................................... 384
Дальнейшие шаги........................................................................................................................... 384
Теперь ваша очередь......................................................................................................................385
Дополнительные материалы для чтения......................................................................................... 385
Использованные источники............................................................................................................... 386
Приложение 1. Градиент логистической политики для двух действий.............. 389

Приложение 2. Градиент политики softmax..................................................................... 393

Предметный указатель................................................................................................................395

Отзывы

"Обучение с подкреплением — одна из самых захватывающих областей машинного
обучения и, к сожалению, также одна из самых сложных. Обучение с подкреплени­
ем отлично справляется с задачей выявления бэкграунда, ландшафта и возможно­
стей использования этой новаторской техники способами, которые значительно
улучшат возможности специалистов по обработке данных для своего бизнеса".
Дэвид Арончик,
соучредитель Kubeflow

"Книга доктора Фила Уиндера об обучении с подкреплением — это глоток свежего
воздуха. Он превратил невероятно динамичную тему в простую для понимания
книгу, которая фокусируется на идеях и понимании читателем. Эта книга интерес­
на тем, насколько уместно обучение с подкреплением для обучения в неопределен­
ной среде".
Основатель Your Chief Scientist, инструктор и автор книги
пВдумчивое машинное обучение”

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

Дэвид Фостер,
партнер Applied Data Science Partners
и автор книги ”Генеративное глубокое обучение”

"Отличная книга Фила Уиндера. Проверенный природой метод обучения через
действия наконец нашел свое место в стандартном наборе инструментов разработ­
чика программного обеспечения. Обучение с подкреплением — это маховик искус­
ственного интеллекта, и эта книга направлена на то, чтобы привнести эту перспек­
тиву в приложения в промышленности и бизнесе".

Дэнни Ланге,
старший вице-президент по искусственному интеллекту, Unity

Для Эммы, Евы и Коры

Об авторе

Доктор Фил Уиндер (Dr. Phil Winder)— многопрофильный инженер-програм­
мист, специалист по обработке данных и генеральный директор Winder Research1,
консалтинговой компании в области облачных технологий. Он помогает стартапам
и предприятиям улучшать свои процессы, основанные на данных, платформы и
продукты. Фил специализируется на внедрении машинного обучения для облачных
вычислений в производственной среде и был одним из первых сторонников движе­
ния MLOps.

Он восхитил тысячи инженеров своими учебными курсами по data science в госу­
дарственных и частных организациях, а также на платформе онлайн-обучения
O’Reilly. Курсы Фила посвящены использованию науки о данных в промышленно­
сти и охватывают широкий спектр актуальных, но практических тем, от очистки
данных до глубокого обучения с подкреплением. Он регулярно выступает с докла­
дами и активно участвует в сообществе специалистов по анализу данных.

Фил имеет докторскую степень и степень магистра. Он получил степень в элек­
тронной инженерии в Университете Халла; живет в Йоркшире (Великобритания) со
своим пивоваренным оборудованием и семьей.

1 См. https://winderresearch.com/?.utm_source=oreilly&iitm_medium.=book&iitm_campaign=rl.

Предисловие

Обучение с подкреплением (reinforcement learning, RL) — это парадигма машинно­
го обучения (machine learning, ML), которая способна оптимизировать последова­
тельные решения. RL интересно тем, что имитирует то, как мы, люди, учимся. Мы
инстинктивно способны изучать стратегии, которые помогают нам справляться со
сложными задачами, такими как езда на велосипеде или сдача экзамена по матема­
тике. RL пытается скопировать этот процесс, взаимодействуя с окружающей сре­
дой для изучения стратегий.
В последнее время компании применяют алгоритмы машинного обучения для при­
нятия единоразовых решений. Они обучаются на данных, чтобы принять лучшее на
текущий момент решение. Однако часто правильное в настоящий момент решение
может оказаться не лучшим решением в долгосрочной перспективе. Да, полная
ванна мороженого осчастливит вас в краткосрочной перспективе, но на следующей
неделе вам придется пропадать в тренажерном зале. Точно так же кликбейтные
рекомендации могут давать самую высокую кликабельность, но в долгосрочной
перспективе такие статьи воспринимаются как мошенничество и наносят ущерб
долгосрочному вовлечению или удержанию читателя.

RL интересно тем, что позволяет изучить долгосрочные стратегии и применить их
к сложным промышленным задачам. Как компании, так и специалисты-практики
могут преследовать цели, которые напрямую связаны с бизнесом, такие как извле­
чение прибыли, наращивание количества пользователей и их удержание, а не тех­
нические показатели оценки, такие как точность или F-мера. Проще говоря, ре­
шение многих проблем зависит от последовательного принятия решений. ML не
предназначено для решения этих проблем, RL — предназначено.

Цель
Я написал эту книгу, потому что прочитал о стольких удивительных примерах ис­
пользования RL для решения, казалось бы, невыполнимых задач. Правда, все эти
примеры взяты из академических исследовательских работ, а книги, которые я впо­
следствии прочитал, были либо ориентированы на академические круги, либо
представляли собой расхваленные автором листинги. Мало кто из авторов писал
с промышленной точки зрения или объяснял, как использовать RL в производст­
венных условиях. Я знал, насколько мощной может быть эта технология, поэтому
решил написать книгу об использовании RL в промышленности.

22

|

Предисловие

Когда я только приступил к написанию, я хотел сосредоточиться на эксплуатаци­
онных аспектах, но быстро понял, что вряд ли кто-нибудь в отрасли слышал о RL,
не говоря уже о том, чтобы использовать обечение с подкреплением в производст­
ве. Кроме того, в ходе исследования моей аудитории я обнаружил, что многие
инженеры и специалисты по обработке данных никогда даже не видели многих
основополагающих алгоритмов. Таким образом, эта книга превратилась частично
в фундаментальное объяснение, а частично — в практические советы по реализа­
ции. Я надеюсь, что эта книга вдохновит и подтолкнет к использованию RL в про­
мышленной сфере.
Считаю, что это первая книга, в которой обсуждаются проблемы практического
применения RL, и, безусловно, единственная книга, которая объединила алгорит­
мические и операционные разработки в целостную картину процесса разработ­
ки RL.

Кому следует прочитать эту книгу?
Цель этой книги — продвигать использование RL в производственных системах.
Если вы (сейчас или в будущем) создаете продукты в области RL, будь то исследо­
вания, разработки или прикладные вещи, то эта книга для вас. Это также означает,
что я написал книгу, скорее, для практиков, чем для людей из академических кру­
гов.

Руководящие принципы и стиль
Я выбрал несколько руководящих принципов, которые считал важными для такой
книги, основываясь на моем собственном опыте работы сдругими книгами.
Во-первых, я полностью избегаю листингов. Я считаю, что в большинстве случаев
книги не подходят для полотен кода (книги по разработке программного обеспече­
ния являются очевидным исключением). Это противоречит общепринятому мне­
нию, но лично мне надоело пролистывать страницы и страницы кода. Я покупаю
книги, чтобы узнать мнение автора, то, как авторы объясняют концепции, идеи.
Другая причина не печатать код заключается в том, что многие реализации, осо­
бенно в последующих главах, действительно довольно сложны, с большим количе­
ством деталей оптимизации в реализации, которые отвлекают от основных идей,
которыми я хочу поделиться. В любом случае вы обычно используете библиотеч­
ную реализацию. Кроме того, есть алгоритмы, которые еще не реализованы, пото­
му что они слишком новы или слишком сложны для включения в стандартные биб­
лиотеки. Исходя из этих и других причин, предупреждаю, что это не типичная кни­
га в жанре ’’покажи мне код”.
Но не волнуйтесь, это не значит, что кода вообще нет. Есть, но он находится в со­
путствующем репозитории вместе с множеством других практических примеров,
практических руководств, обзоров, сборников статей и многих других материалов
(см. разд. 'Дополнительные материалы " далее в предисловий).

Предисловие

|

23

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

Второй принцип, которого я придерживался, касался математики. RL — это в выс­
шей степени математическая тема, потому что обычно намного проще объяснить
алгоритм с помощью нескольких строк метаматематических выражений, чем двад­
цатью строками кода. Но я полностью осознаю, что математика иногда может
казаться чужеродным языком. Как и любой другой язык программирования, мате­
матика имеет собственный синтаксис, предполагаемые знания и встроенные функ­
ции, которые вы должны знать, прежде чем сможете полностью оценить их.
Поэтому на протяжении всей этой книги я не уклоняюсь от математики, особенно
при объяснении алгоритмов, фундаментальных для RL, потому что они являются
важны сами по себе. Однако я стараюсь ограничить математику там, где могу, и
давать длинные объяснения там, где не могу. Обычно я стараюсь следовать обозна­
чениям, предоставленным Томасом и Окал ом1, — марковской нотацией процесса
принятия решений, версией 1. Но я часто злоупотребляю обозначениями, чтобы
сделать все еще проще.
Третий принцип, который может отличаться от других технических книг, в кото­
рых больше внимания уделяется передовым методам и инженерному искусству,
связан с тем фактом, что разработка RL проводилась на основе исследований, а не
практики. Так что эта книга полна ссылок на исследовательские работы. Я пытаюсь
сопоставить и обобщить все эти исследования, чтобы дать вам общее представле­
ние о современном состоянии дел. Я также пытаюсь сбалансировать глубину изло­
жения.
Как учителю, это действительно трудно сделать, потому что вы уже можете быть
экспертом или вы можете быть полным новичком, который только что научился
программировать. Я не могу угодить всем, но могу стремиться к золотой середине.
В среднем, я надеюсь, вы почувствуете, что существует хороший баланс: вы полу­
чаете достаточное количество информации, чтобы чувствовать себя уверенно, но
при этом изучаете материал с достаточным упрощением, чтобы не перегружаться.
Если вы хотите углубиться в конкретные темы, обратитесь к исследовательским
работам, справочным материалам и другим учебным книгам. Если вы чувствуете
себя подавленным, не спешите. Я предоставил множество ссылок на дополнитель­
ные ресурсы, которые помогут вам на вашем пути.

Четвертый принцип заключается в том, что я всегда пытаюсь указать на подводные
камни или сущности, которые могут пойти не так. Некоторые люди, с которыми я
разговаривал, считают, что это означает, будто RL не готово или я не верю в него;
оно готово, и я в это верю. Но жизненно важно понимать неизвестности и трудно­
сти, чтобы вы не переусердствовали и выделяли достаточно времени на выполне­
ние работы. Это определенно не ’’нормальная” разработка программного обеспече-

1 Thomas Р. S., Okal D. A Notation for markov decision processes П ArXiv: 1512.09075. — 2016. — September. —
URL: https://oreil.ly/VT7np.

24

|

Предисловие

ния. Так что везде, где вы видите "проблемы” или объяснения ’’как улучшить”, это
существенная и важная информация. Неудача — лучший учитель.

Предварительная подготовка
Все это означает, что RL — довольно сложная тема, еще до того, как вы к ней при­
ступите. Чтобы читать эту книгу было максимально интересно, вам нужно немного
познакомиться с наукой о данных (data science) и машинным обучением, и вам по­
требуются небольшие математические знания.
Но не волнуйтесь, если этого у вас нет. Вы всегда сможете наверстать позже.
Я привожу много источников и ссылок для дальнейшего чтения и объясняю вспо­
могательные концепции там, где это имеет смысл. Обещаю, что вы все равно полу­
чите огромное количество знаний.

Объем и план
Книга охватывает весь ваш путь по внедрению продуктов RL в производство. Вопервых, вам нужно изучить базовую структуру, на которой построено RL. Затем вы
перейдете к простым алгоритмам, использующим эту парадигму. Тогда вы сможете
узнать о все более совершенных алгоритмах, способных на большие подвиги. Затем
вам нужно подумать о том, как применить эти знания к вашей отраслевой задаче.
И наконец, вам необходимо разработать надежную систему, чтобы сделать ее жиз­
неспособной в эксплуатации.
Это путь изложенного в книге, и я рекомендую вам читать ее последвательно, от
начала до конца. Последующие главы основываются на идеях первых глав, поэтому
вы можете что-то пропустить, если не прочтете их. Однако не стесняйтесь перехо­
дить к конкретным главам или разделам, которые вас интересуют. При необходи­
мости я возвращаюсь к предыдущим разделам.

Вот общее содержание, чтобы подогреть интерес.
♦ Глава 1 'Для чего нужно обучение с подкреплением?". Книга начинается с акку­
ратного введения в историю и основы RL, вдохновленные другими научными
дисциплинами. Оно закладывает азы и дает обзор различных типов алгоритмов
в RL.
♦ Глава 2 "Марковские процессы принятия решений, динамическое программиро­
вание и методы Монте-Карло". Более сложный материал начинается с главы,
в которой определяются фундаментальные концепции RL, включая марковские
процессы принятия решений, динамическое программирование и методы Мон­
те-Карло.

♦ Глава 3 "Обучение с учетом временных различий, Q-обучение и п-шаговые алго­
ритмы". В этой главе вы перейдете к так называемым методам оценки, которые
призваны количественно охарактеризовать ценность пребывания в определен­
ном состоянии, базовый алгоритм, который доминирует во всех современных
системах RL.

Предисловие

|

25

♦ Глава 4 'Глубокие Q-cemu". Большая часть недавнего ажиотажа была вызвана
сочетанием методов оценки и глубокого обучения. Вы подробно изучите это со­
четание, и я обещаю, что вы будете удивлены производительностью этих алго­
ритмов.

♦ Глава 5 "Методы градиента политики". Теперь вы узнаете о второй по попу­
лярности форме алгоритмов RL — методах градиента политики — которые при­
званы натолкнуть вас на параметризованную стратегию к повышению произво­
дительности. Основное преимущество состоит в том, что они могут справляться
с непрерывными действиями.

♦ Глава 6 "Другие методы". У базовых алгоритмов градиента политики имеется
ряд проблем, но в этой главе рассматриваются и исправляются многие недостат­
ки, от которых они страдают. И для повышения эффективности вводится пер­
спективное обучение вне политики.
♦ Глава 7 "Изучение всех возможных политик с помощью энтропийных методов".
Методы энтропии показали высокую надежность и позволяют вырабатывать
стратегии для сложных действий, таких как вождение автомобиля или управле­
ние транспортным потоком.

♦ Глава 8 "Улучшение процесса обучения агента". Отступив от основных алго­
ритмов RL, в этой главе я расскажу, как вспомогательные компоненты могут
помочь в решении сложных проблем. Здесь я сосредоточусь на различных пара­
дигмах RL и альтернативных способах формулирования марковского процесса
принятия решений.

♦ Глава 9 "Практическое обучение с подкреплением". Это первая из двух глав, по­
священных созданию производственных RL-систем. В данной главе вы позна­
комитесь с процессом разработки и реализации промышленных алгоритмов RL.
В ней описывается процесс, проектные решения и практические аспекты реали­
зации.
♦ Глава 10 "Этапы в обучении с подкреплением". Если вам нужен совет о том, как
использовать продукты RL в производственной среде, эта глава для вас. Здесь
я углубляюсь в архитектурный проект, который вам следует рассмотреть, чтобы
сделать ваше решение масштабируемым и более надежным, а затем подробно
описываю ключевые аспекты, на которые вам нужно обратить внимание.
♦ Глава 11 "Выводы и будущее". Последняя глава— это не просто резюме выше­
изложенного. Она содержит множество практических советов и приемов, кото­
рые вы найдете полезными во время вашего путешествия по RL, в ней также
представлены предложения для будущих исследований.

Дополнительные материалы
Я создал веб-сайт https://rl-book.com, чтобы систематизировать на нем все допол­
нительные материалы, сопровождающие эту книгу. Здесь вы найдете сопроводи­
тельный код, подробные статьи и рабочие таблицы, сравнения и обзоры технологии
RL, базы данных текущих тематических исследований RL и многое другое.

26

|

Предисловие

См. разд. "Руководящие принципы и стиль"ранее в предисловии, чтобы узнать, по­
чему в этой книге не напечатан код.
Причина создания целого веб-сайта, а не просто репозитория кода, заключалась
в том, что я считаю, что RL — это больше чем просто код. Это меняющий парадигму
способ мышления о том, как решения могут иметь долгосрочные последствия. Это
новый набор технологий, и для него нужна совершенно другая архитектура. По
всем этим и другим причинам дополнительная информация не помещается в репо­
зиторий. Она не подходит для печати, потому что может быстро меняться или ста­
новится просто неэффективной. Итак, я создал эту экосистему и уверен, что вы
найдете ее ценной. Обязательно просмотрите ее, и если чего-то не хватает, дайте
мне знать.

Условные обозначения,
используемые в этой книге
В этой книге используются следующие типографские условные обозначения:

♦ курсив указывает на новые термины и иногда используется для выделения;
♦ полужирный шрифт — URL-адреса, адреса электронной почты;
♦ рубленый шрифт используется для обозначения определенных классов или сред
RL, обозначения элеменов программ, таких как переменные или имена функций,
базы данных, типы данных, переменные среды, инструкции и ключевые слова.

Данный элемент обозначает подсказку или совет.

Данный элемент обозначает общее замечание.

Данный элемент обозначает предупреждение или предостережение.

Аббревиатуры
В обучении с подкреплением много аббревиатур, особенно когда речь идет о реа­
лизации алгоритмов.

Предисловие

|

27

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

Как правило, фигурные буквы обозначают множество, а строчные буквы— эле­
мент множества. Апостроф обозначает следующий временной шаг. Прописные
буквы представляют функцию или константу.
Я отказываюсь от формальности выборки определенного состояния из случай­
ной переменной и вместо этого использую конкретную реализацию перемен­
ной, например 5 , чтобы облегчить читаемость уравнений В литературе вы
обычно встретите заглавные буквы, представляющие стохастические перемен­
ные.
Некоторые алгоритмы насыщены индексами, и это означает, что вам нужно буфе­
ризовать данные и обращаться к определенным точкам в получившемся буфере.
Когда я получаю эти алгоритмы, мне приходится прибегать к использованию
нижних индексов; например at будет означать действие в какой-то момент времени
или позиции t.

Если вы не привыкли читать уравнения, делайте это медленно. Сначала посмотри­
те, чтобы понять, что представлено каждым символом, а затем определите, что
в этом уравнении делается. Как и в случае с любым навыком, чем больше раз вы
будете выполнять его, тем проще станет для вас процесс выполнения. Знак "точка
равно" = можно читать как "определяется как".
Изучая алгоритмы, прочтите их процедурно. Где возможно, я использую текст, но
во многих случаях уравнение оказывается более кратким. Символ
в алгоритмах
читается как "обновить"; это предпочтительнее, потому что технически знак равен­
ства означает математическое равенство, например == в вашем программном
обеспечении. Большинство языков программирования злоупотребляют этой но­
тацией и используют символ равенства для обозначения как определения, так и
обновления.

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

ГЛАВА 1

Для чего нужно
обучение с подкреплением?
Как люди учатся? Этот обманчиво простой вопрос сбивал с толку мыслителей на
протяжении тысячелетий. Греческий философ Платон и его ученик Аристотель за­
дались вопросом: находятся ли истина и знание внутри нас (рационализм) или они
пережиты (эмпиризм)? Даже сегодня, 2500 лет спустя, люди все еще пытаются от­
ветить на этот вечный вопрос.
Если бы люди уже всё знали, им не нужно было бы больше приобретать жизнен­
ный опыт. Люди могли бы проводить остаток своего земного времени, улучшая
жизнь, принимая правильные решения и размышляя над такими важными вопроса­
ми, как "где мои ключи?” и ”я запер входную дверь?”. Но как люди вообще полу­
чают эти знания? Вы можете научить знанию. А более высокий уровень среднего
образования ведет к лучшему обществу. Но всему нельзя научить. И на уроках,
и в жизни ученик должен переживать.

Маленькие дети вдохновляют в этом отношении. Им нужно испробовать ряд си­
туаций и результатов. В долгосрочной перспективе они начинают искать полезный
опыт и избегать пагубного (хочется надеяться). Они активно принимают решения и
оценивают результаты. Но жизнь ребенка загадочна, и награды часто вводят в за­
блуждение. Немедленная награда за то, что ребенок залезет в шкаф и съест печенье,
велика, но наказание будет суровее.

Обучение с подкреплением объединяет две задачи. Первая — это исследование но­
вых ситуаций. Вторая — использование этого опыта для принятия более качест­
венных решений. Со временем так формируется план достижения цели. Например,
ребенок учится ходить, вставая, наклоняясь вперед и падая в объятия любящего
родителя. Но это только после многих часов хождения, держась за руки, шатания
и падений. В конце концов, мышцы ног ребенка начинают работать слаженно,
используя многоступенчатую стратегию, которая сообщает, что и когда нужно де­
лать. Вы не можете вложить в голову ребенку решение всех жизненных ситуаций,
которое когда-либо ему понадобится, поэтому вместо этого жизнь предоставляет
ребенку основу, на которой можно учиться.
В этой книге показано, как реализовать процесс подкрепления для компьютера. Но
зачем это делать? Это позволяет машине учиться самостоятельно. Перефразируя
любимое телешоу моей жены, скажу: вы даете машине возможность искать новые
впечатления, смело идти туда, куда раньше не ступала никакая машина.
В этой главе представлено введение в обучение с подкреплением (я откладываю
формальное определение обучения с подкреплением до главы 2). Во-первых,

30

|

Гпава 1

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

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

Почему сейчас?
Две причины обусловили необходимость и способность выполнять обучение с под­
креплением: доступ к большим объемам данных и возросшая скорость обработки
данных.

Вплоть до 2000 г. человеческие знания хранились на аналоговых устройствах, та­
ких как книги, газеты и магнитные ленты. Если бы вы сжали эти знания, то
в 1993 г. вам потребовалось бы 15,8 эксабайт пространства (один эксабайт равен
одному миллиарду гигабайт) [1]. В 2018 г. этот показатель увеличился до
33 зеттабайт (1 Збайт = 1 000 000 000 000 Гбайт). Поставщикам облачных услуг да­
же приходится прибегать к использованию жестких дисков размером с контейнер
для загрузки больших объемов данных [2].
Вам также потребуются необходимые вычислительные мощности для анализа всех
этих данных. В качестве демонстрации давайте рассмотрим случай одной из самых
ранних реализаций обучения с подкреплением.
В 1947 г. Дитрих Принц (Dietrich Prinz) работал на компанию Ferranti в Манчестере
(Великобритания). Там он помог спроектировать и сконструировать первую произ­
водственную версию манчестерского компьютера под названием Ferranti Mark 1 [3].
Он научился программировать Mark 1 под руководством Алана Тьюринга (Alan
Turing) и Сисели Попплуэлл (Cicely Popplewell). Под влиянием статьи Тьюринга на
эту тему в 1952 г. Принц выпустил шахматную программу, которая могла решать
единственный набор задач под названием "matein-2”. Это шахматные композиции,
в которых игрок выбирает два хода, приводящих к мату в шахматах. Алгоритм
Принца тщательно перебирал все возможные позиции и вырабатывал решение
в среднем за 15-20 минут. Это реализация алгоритма Монте-Карло, описанного
в главе 2. Принц стал рассматривать шахматное программирование как ’’ключ к ме­
тодам, которые можно использовать для решения структурных или логистических
задач в других областях с помощью электронных компьютеров”. Он был прав [4].
Одновременное наращивание объема данных и вычислительной мощности аппа­
ратного обеспечения привело к тому, что примерно в 2010 г. стало возможным и
необходимым учить машины обучаться.

Для чего нужно обучение с подкреплением?

|

31

Машинное обучение
Полное описание машинного обучения выходит за рамки этой книги. Но на ма­
шинном обучении основано обучение с подкреплением. Прочтите как можно
больше о машинном обучении, особенно о книгах, которые я рекомендую
в разд. "Дополнительные материалы для чтения " в конце этой главы.
Повсеместное распространение данных и доступность дешевых высокопроизводи ­
тельных вычислений позволили исследователям пересмотреть алгоритмы 1950-х го­
дов. Они выбрали название "машинное обучение" (machine learning, ML), но такое
название не вполне удачно, потому что ML одновременно считается и дисципли­
ной, и набором методов. Я считаю машинное обучение детищем науки о данных
(data science), которая представляет собой всеобъемлющую научную область, изу­
чающую данные, генерируемые явлениями. Мне не нравится термин "искусствен­
ный интеллект" (ИИ— artificial intelligence, AI) по той же причине; достаточно
сложно определить, что такое интеллект, не говоря уже о том, как он воплощается.

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

При обучении с учителем метки представляют ответ на проблему для конкретного
наблюдения. Здесь алгоритм пытается использовать информацию, чтобы угадать
правильный результат. Обучение без учителя работает без меток, и вы принимаете
решения на основе характеристик данных. Я всегда рекомендую своим клиентам из
Winder Research стремиться к контролируемому обучению — например, путем оп­
латы или проведения экспериментов для поиска меток, — потому что, если у вас
нет основополагающей истины, вам будет сложно количественно оценить эффек­
тивность.

Процесс поиска алгоритма решения задачи называется моделированием. Инженеры
проектируют модели для упрощения и представления основных явлений. Они ис­
пользуют модель, чтобы делать обоснованные предположения о новых наблюдени­
ях. Например, модель может сказать вам, что новый клиент предоставил ложную
информацию в своем приложении, или может преобразовать вашу речь в текст.
Учитывая эти описания, попробуйте научить ребенка кататься на велосипеде. Как
лучше всего это сделать? Согласно парадигме ML вы должны разметить множество
наблюдений. Вы можете посоветовать своему ребенку посмотреть видео с профес­
сиональными велосипедистами. Как только он просмотрит достаточное количество
видеороликов, вы, игнорируя любые его протесты о том, что ему было скучно,
можете проверить его способности в соответствии с некоторыми произвольными
техническими критериями успеха. Думаете, это сработает? Нет.

32

|

Гпава 1

Несмотря на то что ML принципиально подходит для многих прикладных задач,
некоторые проблемы не поддаются машинному обучению. Лучшее решение, про­
должая предыдущий пример, — позволить своему ребенку попробовать самостоя­
тельно прокатиться. Некоторые его попытки ничем не увенчаются. В других случа­
ях у него что-то получится. Каждое решение будет сказываться на его представле­
нии о задаче. После достаточного количества попыток и определенных наставлений
он изучит стратегии, позволяющие максимизировать собственное определение
успеха. Вот в чем обучение с подкреплением превосходит обучение с учителем.

Обучение с подкреплением
Обучение с подкреплением (reinforcement learning, RL) поясняет, как принимать
наилучшие решения последовательно, в определенном контексте, чтобы максими­
зировать реальный показатель успеха. Лицо, принимающее решения, узнает об
этом методом проб и ошибок. Ему не говорят, какие именно решения принимать,
вместо этого он должен учиться самостоятельно, методом проб и ошибок. На
рис. 1.1 представлены четыре компонента RL, в главе 2 мы углубимся в подроб­
ности.

а

б

Рис. 1.1. Набросок четырех компонентов, необходимых для RL: агента, который совершает
действия в окружающей среде для наибольшего вознаграждения. Пример (а)
демонстрирует робота, который намеревается пройти через лабиринт, чтобы получить
монету. Пример (б) показывает приложение для электронной коммерции,
которое автоматически добавляет товары в корзины пользователей,
чтобы максимизировать прибыль

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

Для чего нужно обучение с подкреплением?

|

33

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

Вознаграждение кодирует вызов. Этот механизм обратной связи сообщает агенту,
какие действия привели к успеху (или неудаче).
Сигнал вознаграждения обычно числовой, но нужен только для подкрепления по­
ведения; например, стратегии генетического обучения могут удалять неэффектив­
ных агентов и не предоставлять никакого вознаграждения.
Вот еще пример: вы можете вознаградить робота за достижение цели или агента за
добавление нужного продукта в корзину. Все просто, правда? Но что делать, если
роботу требуется три дня, чтобы выйти из простого лабиринта, потому что он про­
водит большую часть времени, нарезая круги? А если агент начнет добавлять все
подряд товары в корзину?
Такие процессы происходят и в мире животных. Они должны максимально увели­
чить свои шансы на выживание, чтобы передать свои гены потомству. Например,
как и большинству травоядных, лосям нужно много есть, чтобы выжить. Но
в 2011 г. в окрестностях Гётеборга (Швеция) нашли лося, застрявшего в ветвях де­
рева после того, как он наелся ферментированных яблок [5]. Система ’’вознаграж­
дения” лося, которая вызывает голод, дала сбой, потому что цель ее слишком ли­
шена конкретики. Нельзя есть все подряд, чтобы максимизировать свои шансы на
выживание. Все гораздо сложнее.

Эти примеры подводят нас к главной проблеме в RL, которая известна с тех пор,
как Ада Лавлейс (Ada Lovelace) впервые написала алгоритм для получения чисел
Бернулли. Как сказать машине, что она должна делать? Агенты RL часто остаются
крайними, потому что они оптимизируются не для того, что на самом деле нужно.
И пока я рекомендую вам максимально не усложнять награду. Многие задачи
предполагают естественную награду. В главе 9 эта проблема обсуждается более
подробно.
Итак, четыре компонента образуют марковский процесс принятия решений (Markov
decision process, MDP). MDP используют для того, чтобы сформулировать задачи,
даже не связанные с инженерией. В главе 2 эти идеи представлены более подробно.

Когда следует использовать
обучение с подкреплением?
Некоторые примеры RL, которые вы найдете в Интернете, выглядят вымученными.
Их авторы берут пример ML и пытаются применить к нему RL, несмотря на отсут­
ствие четкого агента или действия. Посмотрите, например, несколько примеров
с попытками включить RL в прогнозирование фондового рынка. Существует воз-

34

|

Гпава 1

можность использования автоматизированного агента для совершения сделок, но
во многих примерах это не главное; основное внимание по-прежнему уделяется
прогнозной модели. Это неуместно, и такие примеры лучше оставить для ML.
RL работает лучше всего, когда решения принимаются последовательно, а действия
связаны с исследованием окружающей среды. Возьмите робототехнику, это клас­
сическая область применения RL. Цель робота — научиться выполнять неизвест­
ные задачи. Вы не должны указывать роботу, как добиться успеха, потому что это
либо слишком сложно (допустим, вы просите робота построить дом), либо вы мо­
жете быть предвзяты в силу собственного опыта (вы не робот), поэтому вы не знае­
те, как поставить себя на место робота. Если вместо этого вы позволите роботу
провести исследование, он сможет найти оптимальное решение. Этот случай хоро­
шо подходит для RL.

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

Основное преимущество RL заключается в том, что такое обучение оптимизирует­
ся для получения долгосрочных многоэтапных вознаграждений. Второстепенное
преимущество состоит в том, что очень легко включить в процесс метрики, исполь­
зуемые бизнесом. Например, рекламные решения обычно оптимизированы в целях
обеспечения наилучшей кликабельности для отдельной рекламы. Это неоптималь­
но, потому что зрители часто видят несколько рекламных объявлений, а цель не
щелчок (клик), а нечто большее, например удержание потребителя, регистрация
или покупка. Комбинация показываемых рекламных объявлений (в определенном
порядке и с конкретным содержанием) может быть автоматически оптимизирова­
на RL с помощью простой в использовании цели, соответствующей потребностям
бизнеса.
Вы можете отказаться от некоторых из четырех компонентов, представленных
в предыдущем разделе, чтобы упростить разработку. Если в вашей модели нет ес­
тественного сигнала, свидетельствующего о вознаграждении, например, ’’робот
достиг цели”, то можно создать искусственное вознаграждение. Также часто соз­
дают симуляцию окружающей среды. Вы можете квантовать или обрывать дейст­
вия. Но это все компромиссы. Симуляция никогда не заменит реальный жизненный
опыт.
В RL активно ищется оптимальная модель. Вам не нужно создавать случайную вы­
борку и подстраивать ее в автономном режиме. Быстрое онлайн-обучение может
творить чудеса, когда важно в самые сжатые сроки добиться максимальной произ­
водительности. Например, в А/В-тестах, ориентированных на прибыль, когда нуж­
но решить, какой маркетинговый текст использовать, не хочется тратить время на
подготовку случайной выборки, если какой-то вариант недостаточно эффективен.
RL делает это бесплатно. О том, как А/В-тестирование соотносится с RL, вы може­
те узнать в главе 2.

Для чего нужно обучение с подкреплением?

|

35

Таким образом, RL лучше всего подходит для прикладных задач, которые тре­
буют последовательных, сложных решений и имеют долгосрочную цель (в кон­
тексте единственного решения). ML может помочь вам в качестве вспомога­
тельного инструмента, но RL лучше всего подходит для сред с прямой обратной
связью. Утверждаю это, поскольку я разговаривал с некоторыми практиками,
которые использовали RL для замены групп специалистов по обработке дан­
ных, настраивающих производительность решений машинного обучения.

Варианты применения обучения с подкреплением
В этой книге я привожу целый спектр примеров по двум причинам. Во-первых,
я хочу проиллюстрировать теоретические аспекты, например, как работают алго­
ритмы. Эти примеры просты и абстрактны. Лично я считаю, что просмотр приме­
ров помогает мне учиться. Я также рекомендую вам воспроизвести примеры, это
поможет вам в обучении. Во-вторых, я хочу показать, как использовать RL в про­
мышленности.
В СМИ, как правило, наибольшее внимание уделяется примерам, демонстрирую­
щим, как агенты побеждают людей в играх. Журналистам нравятся броские исто­
рии о том, как люди сдают свои позиции. А ученые продолжают обращаться к иг­
рам из-за сложной моделируемой среды. Но я решил не говорить ни о DeepMind
AlphaGo Zero, ни о версии агента, победившего чемпиона мира по го, ни об OpenAI
Five, победившей чемпионов мира по Dota 2, а вместо этого сосредоточиться на
приложениях и примерах из самых разных промышленных отраслей. Я не говорю,
что игровые примеры — пустая трата времени. Игровые компании могут использо­
вать RL для многих практических целей, например для помощи в тестировании или
оптимизации внутриигровых вариантов "АГ для максимизации дохода. Мне хочет­
ся помочь вам абстрагироваться от хайпа и показать разнообразные области, где
применимо RL. Для того чтобы продемонстрировать, что именно возможно уже
сейчас, я представляю широкий выбор экспериментов, которые лично мне кажутся
интересными.

♦ Область робототехники имеет множество приложений RL, включая улучшение
движения и производственного процесса, игру в бильбоке и переворачивание
блинов [6]. Автономные транспортные средства также являются темой активных
исследований [7].
♦ Вы можете использовать RL для улучшения облачных вычислений. В одной ста­
тье рассказано, как оптимизируются приложения с учетом задержки [8], в дру­
гой обсуждается соотношение "энергоэффективность/использование" [9]. Охла­
ждение центра обработки данных, охлаждение процессора и сетевая маршрути­
зация — все это варианты применения RL, используемые сегодня [10-12].
♦ Финансовая отрасль применяет RL для совершения сделок и распределения
портфеля [13, 14]. Также существует значительный интерес к оптимизации
ценообразования в режиме реального времени [15].
♦ Количество энергии, потребляемой при коммунальном обслуживании (через
отопление, воду, свет и т. д.), может быть значительно уменьшено с помощью

36

|

Гпава 1

RL [16]. А электрические сети могут использовать RL для решения ситуаций,
когда спрос неоднороден; дома являются одновременно производителями и по­
требителями [17].

♦ RL улучшает управление светофорами и активное управление полосами движе­
ния [18, 19]. Умные города также остаются в выигрыше [20].

♦ Недавние статьи предлагают множество вариантов применения RL в здраво­
охранении, особенно в областях дозирования и составления схем лечения [21,
22]. RL можно использовать для разработки более совершенных протезов и про­
тезных контроллеров [23].
♦ Система образования и электронное обучение могут выиграть благодаря при­
цельно подобранным учебным программам на основе RL [24].
Ни один бизнес-сектор не остался незатронутым: игры, технологии, транспорт, фи­
нансы, наука и окружающая среда, промышленность, производство и государст­
венные службы — все они ссылались на приложения RL.

Я не хочу терять вас в бесконечном списке, поэтому вместо этого я отсылаю
вас на соответствующий веб-сайт1, где у меня есть полный каталог приложе­
ний RL.

Любая технология опасна в шаловливых руках. И, помня о популистских аргумен­
тах против AI, можно интерпретировать RL как опасное явление. Прошу вас, как
инженер, как человек, подумать о том, что вы строите. Прикиньте, как это повлияет
на других людей? Какие есть риски? Это противоречит вашей морали? Будьте от­
ветственны за свою работу перед собой. Если вы не можете этого сделать, вам,
вероятно, не следует этим заниматься. Далее приведены еще три задокументиро­
ванных гнусных приложения. У каждого свои этические границы,. Где ваша грани­
ца? Какие приложения вам подходят?
♦ Pwnagotchi— это устройство на базе RL, которое активно сканирует, анали­
зирует и взламывает Wi-Fi-сети с WPA/WPA2-3anjHToft путем дешифрования
рукопожатий [25].

♦ Исследователи показали, что можно обучить агентов обходить статические
модели вредоносных программ в антивирусных сканерах [26].
♦ Военное ведомство США разрабатывает модели боевых действий, чтобы проде­
монстрировать, как автономные роботы могут помочь на поле боя [27].
Я более подробно обсуждаю вопросы безопасности и этики в главе 10,

1 См. https://rl-book.com/applications/?utm_source=oreilly 0.
2: Инициализировать V(5) для всех 5 е d?7, V