Терминология обучения с подкреплением, от А до Я

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

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

Это не вводный пост по обучению с подкреплением, а скорее вспомогательный инструмент, помогающий во время учебы. Если вы хотите начать свой путь и в этой области, я могу порекомендовать следующее:

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

Словарь

Функция значения действия: см. Q-значение.

Действия: Действия - это методы Агента, которые позволяют ему взаимодействовать и изменять свою среду и, таким образом, передавать между состояния . Каждое действие, выполняемое Агентом, приносит награду из среды. Решение о том, какое действие выбрать, принимает policy.

Актер-критик: при попытке решить задачу Обучение с подкреплением можно выбрать один из двух основных методов: вычисление функций ценности Или Q-значения каждого состояния и выбирая действия в соответствии с ними, или напрямую вычисляют политику , которая определяет вероятности каждого действия, которое должно быть предпринято, в зависимости от текущее состояние и действовать в соответствии с ним. Алгоритмы Actor-Critic объединяют два метода, чтобы создать более надежный метод. Прекрасное пояснение в виде комиксов можно найти здесь.

Функция преимущества: обычно обозначаемая как A (s, a), функция преимущества - это мера того, насколько определенное действие является хорошее или плохое решение при определенном состоянии - или, проще говоря, в чем преимущество выбора определенного действия из определенного состояния. Математически это определяется как:

где r (s, a) - это ожидаемое вознаграждение за действие a из состояния s, а r (s) - ожидаемая награда за все состояние s до того, как было выбрано действие. Его также можно рассматривать как:

где Q (s, a) - Q Value, а V (s) - функция значения.

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

Бандиты: формально названные k-Armed Bandits по прозвищу однорукий бандит, присвоенному игровым автоматам, они считаются простейшим типом Обучение с подкреплением. задачи. У бандитов нет разных состояний, но только одно - и рассматриваемая награда является лишь непосредственной. Следовательно, бандитов можно рассматривать как имеющих одно состояние эпизодов. Каждое из k-рычагов считается действием, и цель состоит в том, чтобы изучить политику, которая максимизирует ожидаемую награду после каждого действия (или руки- тянущий).
Контекстные бандиты - это немного более сложная задача, где каждое состояние может отличаться и влиять на результат действий - следовательно, каждый раз контекст отличается. Тем не менее, задача остается эпизодической задачей с одним состоянием, и один контекст не может влиять на другие.

Уравнение Беллмана: Формально уравнение Беллмана определяет отношения между заданным состоянием (или парой состояние- действие) с его преемниками. Хотя существует множество форм, наиболее распространенной из них, обычно встречающейся в задачах Обучение с подкреплением, является уравнение Беллмана для оптимального Q-Value, которое задается следующим образом:

или когда неопределенности нет (то есть вероятности равны 1 или 0):

где звездочка указывает оптимальное значение. Некоторые алгоритмы, такие как Q-Learning, основывают на нем свою процедуру обучения.

Непрерывные задачи: обучение с подкреплением, которые не состоят из эпизодов, а длятся вечно. У этих задач нет терминальных состояний. Для простоты обычно предполагается, что они состоят из одного бесконечного эпизода.

Deep Q-Networks (DQN): см. Q-Learning

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

Коэффициент дисконтирования (γ): коэффициент дисконтирования, обычно обозначаемый как γ, является коэффициентом, умножающим ожидаемое в будущем вознаграждение, и варьируется в диапазоне [0,1 ]. Он контролирует важность будущих наград по сравнению с немедленными. Чем ниже коэффициент скидки, тем менее важны будущие вознаграждения, и Агент будет склоняться к действиям, которые принесут только немедленные вознаграждения.

Среда: все, что не является агентом; все, с чем Агент может взаимодействовать прямо или косвенно. Среда изменяется по мере выполнения Агентом действий; каждое такое изменение считается переходом в состояние. Каждое действие, выполняемое Агентом, приносит ему вознаграждение.

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

Эпизодические задачи: Обучение с подкреплением, состоящие из разных эпизодов (то есть каждый эпизод имеет конечное состояние ).

Ожидаемая прибыль: иногда называемый общим вознаграждением, а иногда обозначаемый как G, - это ожидаемое вознаграждение за все эпизод .

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

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

Жадная политика, ε -Жадная политика: Жадная политика означает, что Агент постоянно выполняет действие , которое считается наиболее ожидаемым вознаграждением . Очевидно, такая политика вообще не позволит Агенту исследовать. Чтобы по-прежнему разрешить некоторое исследование, вместо этого часто используется жадная политика ε-: число (с именем ε) в диапазоне [ 0,1], и перед выбором действия выбирается случайное число в диапазоне [0,1]. если это число больше ε, выбирается жадное действие, а если оно меньше, выбирается случайное действие. Обратите внимание, что если ε = 0, политика становится жадной политикой, а если ε = 1, всегда исследуйте.

k-Armed Bandits: см. Бандиты.

Марковский процесс принятия решений (MDP): свойство Маркова означает, что каждое состояние зависит исключительно от своего предыдущего состояния, выбранного действия взятый из этого состояния и награда, полученная сразу после того, как это действие было выполнено. Математически это означает: s '= s' (s, a, r) ​​, где s ' - будущее состояние, s - его предыдущее состояние, а a и r - действие и награда. Никаких предварительных сведений о том, что произошло до s, не требуется - свойство Маркова предполагает, что s содержит всю необходимую информацию. Марковский процесс принятия решений - это процесс принятия решений, основанный на этих предположениях.

На основе модели и без модели: Основанный на модели и без модели - это два разных подхода, которые Агент может выбрать при попытке оптимизировать свою политику . Лучше всего это пояснить на примере: предположим, вы пытаетесь научиться играть в Блэкджек. Вы можете сделать это двумя способами: во-первых, вы заранее, до начала игры, рассчитываете вероятности выигрыша для всех состояний и всех вероятностей перехода между состояниями с учетом всех возможных действия , а затем просто действовать согласно вашим расчетам. Второй вариант - просто играть без каких-либо предварительных знаний и получать информацию методом проб и ошибок. Обратите внимание, что, используя первый подход, вы в основном моделируете свою среду, тогда как второй подход не требует никакой информации о среде. Это как раз разница между модельным и безмодельным; первый метод основан на модели, а второй - без модели.

Монте-Карло (MC): методы Монте-Карло - это алгоритмы, в которых для достижения результата используется повторная случайная выборка. Они довольно часто используются в алгоритмах обучение с подкреплением для получения ожидаемых значений; например - вычисление состояния функции значения путем многократного возврата к одному и тому же состоянию и усреднения фактического совокупного вознаграждения получал каждый раз.

В соответствии с политикой и вне ее. Каждый алгоритм Обучение с подкреплением должен следовать некоторой политике, чтобы решить, какая действия для выполнения в каждом состоянии . Тем не менее, процедура обучения алгоритма не должна учитывать эту политику во время обучения. Алгоритмы, которые заботятся о политике, которая приводила к прошлым решениям о действиях состояния, называются алгоритмами on-policy, а те, которые игнорируют их, называются off-policy.
Хорошо известным алгоритмом вне политики является Q-Learning, поскольку его правило обновления использует действие, которое даст наивысшее Q-Value, в то время как фактическая используемая политика может ограничивать это действие или выбирать другое. Вариант Q-Learning, связанный с политикой, известен как Sarsa, где правило обновления использует действие, выбранное соответствующей политикой.

Однорукие бандиты: см. Бандиты.

One-Step TD: См. Временная разница.

Политика (π): политика, обозначаемая как π (или иногда π (a | s)), является отображением некоторых Состояние к вероятностям выбора каждого возможного действия в данном состоянии. Например, жадная политика выводит для каждого состояния действие с наивысшим ожидаемым Q-Value.

Q-Learning: Q-Learning - это внеполитический алгоритм обучения с подкреплением, который считается одним из самых базовых. В самом упрощенном виде он использует таблицу для хранения всех Q-значений всех возможных пар состояние - действие. Он обновляет эту таблицу, используя уравнение Беллмана, в то время как выбор действия обычно выполняется с помощью ε-жадной политики.
В своей простейшей форме (отсутствие неопределенностей в состоянии -переходов и ожидаемых вознаграждений) правило обновления Q-Learning выглядит следующим образом: :

Более сложная версия, хотя и гораздо более популярная, - это вариант Deep Q-Network (который иногда даже называют просто Deep Q-Learning или просто Q-Learning). Этот вариант заменяет таблицу состояние-действие нейронной сетью, чтобы справиться с крупномасштабными задачами, где количество возможных пар состояние-действие может быть огромным. Вы можете найти руководство по этому алгоритму в этом блоге.

Значение Q (функция Q): обычно обозначается как Q (s, a) (иногда с нижним индексом π, а иногда как Q (s, a; θ ) в Deep RL), Q Value - это мера общей ожидаемой награды с учетом Agent находится в состоянии s и выполняет действие a, а затем продолжает воспроизведение до конца эпизод в соответствии с политикой π. Его название представляет собой сокращение от слова Качество, и математически оно определяется как:

где N - количество состояний от состояния s до конечного состояния, γ - коэффициент скидки, а r⁰ - немедленное полученное вознаграждение. после выполнения действия a в состоянии s.

Алгоритмы REINFORCE: алгоритмы REINFORCE - это семейство алгоритмов Обучение с подкреплением , которые обновляют свои параметры policy согласно градиенту политики относительно параметров политики [paper]. Название обычно пишется только заглавными буквами, так как изначально оно было аббревиатурой от оригинального дизайна группы алгоритмов: RE ward I ncrement = N onnegative F субъект x O ffset R усиление x C характерная доступность E [ источник ]

Обучение с подкреплением (RL): Обучение с подкреплением, как и обучение с учителем и обучение без учителя, является одной из основных областей машинного обучения и искусственного интеллекта. Он связан с процессом обучения произвольного существа, формально известного как Агент, в окружающем его мире, известном как Среда. Агент стремится максимизировать вознаграждения, которые он получает от Среды, и выполняет различные действия, чтобы узнать, как Среда реагирует, и получить больше вознаграждений. Одна из самых сложных задач RL - связать действия с отложенными вознаграждениями - вознаграждениями, получаемыми Агентом спустя много времени после того, как действие, генерирующее вознаграждение, было выполнено. Поэтому он активно используется для решения различных типов игр, от Tic-Tac-Toe, Chess, Atari 2600 и до Go и StarCraft.

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

Сарса: алгоритм Сарса в значительной степени похож на алгоритм Q-Learning с небольшой модификацией, чтобы сделать его политикой. Алгоритм. Правило обновления Q-Learning основано на уравнении Беллмана для оптимального Q-Value, и поэтому в случае отсутствия неопределенностей в состояние -переходов и ожидаемых вознаграждений , правило обновления Q-Learning:

Чтобы преобразовать это в алгоритм, основанный на политике, последний термин изменен:

здесь оба действия a и a ’ выбираются одной и той же политикой . Название алгоритма происходит от его правила обновления, которое основано на (s, a, r, s ’, a’), и все они происходят из одной и той же политики.

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

Функция значения состояния. См. Функция значения.

Temporal-Difference (TD): Temporal-Difference - это метод обучения, который сочетает в себе принципы динамического программирования и Монте-Карло; он обучается на лету аналогично Монте-Карло, но обновляет свои оценки, как динамическое программирование. Один из простейших алгоритмов временной разницы, известный как одношаговый TD или TD (0). Он обновляет Функция значения в соответствии со следующим правилом обновления:

где V - функция значения, s - состояние, r - награда. , γ - коэффициент дисконтирования , α - скорость обучения, t - временной шаг и знак '=' используются как оператор обновления, а не как равенство. Термин, заключенный в квадратные скобки, известен как ошибка временной разницы.

Конечное состояние: см. Состояние.

Верхняя уверенная граница (UCB): UCB - это метод исследования, который пытается гарантировать, что каждое действие хорошо изучено. Рассмотрим политику исследования, которая является полностью случайной - это означает, что каждое возможное действие имеет одинаковый шанс быть выбранным. Есть шанс, что одни действия будут изучены гораздо больше, чем другие. Чем меньше выбрано действие, тем менее уверенно Агент может быть уверен в своей ожидаемой награде и в своем использовании фаза может быть повреждена. Исследование UCB принимает во внимание количество раз, когда каждое действие было выбрано, и придает дополнительный вес менее изученным. Математически формализуя это, выбранное действие выбирается:

где R (a) - ожидаемая общая награда за действие a, t - количество сделанных шагов (сколько действий было выбрано в целом) , N (a) - это количество раз, когда было выбрано действие a, а c - настраиваемый гиперпараметр. Этот метод также иногда называют «исследованием через оптимизм», поскольку он придает менее изученным действиям более высокую ценность, побуждая модель их выбирать.

Функция Value: обычно обозначается как V (s) (иногда с индексом π), функция Value является мерой общей ожидаемой награды при условии, что Агент находится в состоянии s, а затем продолжает воспроизведение до конца эпизода следуя некоторой политике π. Математически это определяется как:

Хотя это действительно похоже на определение Q Value, существует неявное, но важное отличие: для n = 0 вознаграждение r⁰ V после определенного действия. Это различие также дает функцию преимущества.