Глава 11. Основы глубокого обучения с подкреплением
429
Захватывающая область обучения с подкреплением коренным образом отлича
ется от задач обучения с учителем из предыдущих глав. Задача RL состоит в по
иске оптимальных процессов принятия решений путем взаимодействия со средой,
в отличие от усвоения соответствий входных и выходных сигналов, как в обучении
с учителем. В RL у нас нет маркированных обучающих наборов данных, лишь раз
личные типы сред для исследования. Кроме того, неотъемлемым основополагающим
измерением в задачах RL является время, в отличие от многих задач обучения с учи
телем, где измерение времени либо отсутствует, либо играет роль фактически еще од
ного пространственного измерения. Вследствие уникальных характеристик обучения
с подкреплением терминология и образ мыслей в этой главе будет сильно отличаться
от того, что вы прочли в предыдущих главах. Но не беспокойтесь. Основные понятия
и подходы мы проиллюстрируем на простых конкретных примерах. Кроме того, нам
попрежнему будут сопутствовать наши старые добрые друзья, глубокие нейронные
сети и их реализации в TensorFlow.js, образуя один (хотя и не единственный!) из
столпов алгоритмов обучения с подкреплением в этой главе.
К концу главы вы познакомитесь с постановкой основных задач RL, разберетесь
с основными идеями двух чаще всего используемых в RL нейронных сетей (сетей
стратегий и Qсетей), а также научитесь обучать подобные сети с помощью API
TensorFlow.js.
11.1.
Постановка задач обучения с подкреплением
На рис. 11.2 приведены основные компоненты задачи обучения с подкреплением.
Мы (специалисты по RL) можем непосредственно контролировать агента. Агент
(например, робот, собирающий мусор в здании) взаимодействует со средой тремя
способами.
z
z
На каждом шаге агент выполняет
действие
(action), меняющее состояние среды.
Применительно к нашему роботу, например, набор возможных действий может
выглядеть так:
{переместиться
вперед,
переместиться
назад,
повернуть
налево,
повернуть
направо,
поднять
мусор,
сбросить
мусор
в
контейнер}
.
z
z
Изредка среда
вознаграждает
агент. Применительно к людям это вознагражде
ние можно сравнить с мерой одномоментного удовольствия или счастья. На бо
лее абстрактном языке вознаграждение (а точнее, сумма вознаграждений за
определенный промежуток времени, как мы увидим далее) — это число, которое
агент стремится максимизировать. Оно представляет собой важную числовую
величину, направляющую ход алгоритмов обучения с подкреплением, подобно
тому как величина потерь направляет ход алгоритмов обучения с учителем.
Вознаграждение может быть положительным или отрицательным. Например,
наш робот, собирающий мусор, может получать положительное вознаграждение
при успешном сбросе порции мусора в контейнер. А отрицательное вознаграж
дение — если случайно опрокинет мусорное ведро, натолкнется на людей или
мебель либо промахнется мимо контейнера при сбросе мусора.
430
Do'stlaringiz bilan baham: |