Почему-то у меня сложилось неправильное представление о том, что обучение с подкреплением (RL) — это все о контроле. Наверное, потому, что мирянам обычно объясняют в терминах кнута и пряника. Действительно, многие методы RL направлены на улучшение политик, то есть на обучение действию более эффективно/выгодно в конкретной ситуации. Тем не менее, есть также достаточно тех, кто предсказывает (оценочные) преимущества пребывания в конкретной ситуации.

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

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

Итак, приступим к различиям в целях и предположениях. Знаем ли мы среду, в которой работаем? Всегда ли он ведет себя одинаково или в нем есть доля случайности? Можем ли мы наблюдать это непосредственно или мы получаем только проблески и должны решить, что это значит для нас? Можем ли мы легко различать разные состояния, или в значительной степени от нас зависит, как их определить? Как можно оценить эффект от действий нашего алгоритма? Есть ли естественный конец активности, или она продолжается, и нам нужно установить какие-то временные границы, когда мы принимаем меры? Сколько состояний и действий мы можем или должны определить? Создает ли эта сумма дополнительные вычислительные трудности, которые необходимо решить? Можем ли мы и должны ли мы вообще моделировать среду, или она настолько изменчива, что даже не имеет смысла? И, наконец, нужен ли нам наш алгоритм, чтобы действовать или просто оценивать, насколько хорошо мы справляемся?

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

Существует три основных класса алгоритмов RL: планирование, основанные на моделях и без моделей. В случае использования алгоритма планирования нам нужна готовая модель среды MDP (Markov Decision Process), т. е. функция перехода T(S,A) и функция вознаграждения R(S,A) должны быть известны заранее. В алгоритмах, основанных на моделях, модель среды изучается и используется для получения дополнительного опыта путем моделирования. Алгоритмы без моделей, очевидно, обходятся без каких-либо попыток моделирования среды. Альтернативным решением является воспроизведение опыта, при котором прошлый опыт сохраняется и может воспроизводиться либо случайным образом, либо с разным приоритетом, что оказывает глубокое влияние на процесс обучения.

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

Еще одно важное разделение лежит на алгоритмах политики и вне политики. On-policy означает, что политика, предоставляющая опыт, и политика, оптимизируемая, являются одним и тем же. Неполитика, очевидно, означает обратное. Алгоритмы, включающие воспроизведение опыта, по определению не соответствуют политике. Алгоритмы градиента политики по определению основаны на политике.

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

Аппроксимация функций, такая как обычные методы машинного обучения (ML) или глубокого обучения (DL), может помочь в оценке обратной связи и обобщении выборочной обратной связи. DL в первую очередь помогает работать с огромными и/или непрерывными пространствами состояний и/или действий, однако иногда он также добавляет что-то уникальное в общий дизайн, например, в дуэльную архитектуру.

Основные различия между алгоритмами обычно очевидны с первого взгляда на их соответствующую функцию обновления (или «резервного копирования» на жаргоне RL). Если это алгоритм градиента политики, интерес представляет только целевая функция J(θ). В противном случае он обычно состоит из обновляемой функции значения, которая может сказать вам, является ли это методом планирования (функция значения состояния V(S)) или нет (функция значения состояния-действия Q(S,A)). Другими типичными компонентами функции обновления (или «резервного копирования») являются скорость обучения, скорость дисконтирования, ошибка и цель ее подкомпонента, которая является наиболее интересной из всех.

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

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

Пришло время попрактиковаться в стрельбе! Для алгоритма TD (Temporal Difference) цель определяется как r + 𝛾V(s'), а для SARSA как r + 𝛾Q(s',a'), оба зависят от политики, и основное различие заключается в используемой функции значения (состояние или состояние-действие). Для Q-обучения это r + 𝛾maxQ(s',a'), где используется оптимальное значение состояния-действия вместо значения, предложенного политикой, что делает его алгоритмом вне политики. Цель Монте-Карло R +𝛾R' +𝛾²R'' + ... показывает, что это автономный алгоритм, не использующий загрузку.