4.4 Рекуррентные нейронные сети.
4.4 Нейросетевое обучение с подкреплением
Машинное обучение относится к классу алгоритмов, которые обещают автоматическое улучшение на основе опыта. В более широком смысле машинное обучение является частью искусственного интеллекта, который представляет собой изучение интеллектуальных агентов, основанное в 1956 году.
Мы можем условно разделить машинное обучение на три категории в зависимости от обратной связи, которую алгоритм получает для обучения с течением времени:
- Обучение с учителем: цель обучения с учителем — изучить функцию, которая может преобразовывать входные данные в выходные, используя размеченный набор обучающих данных.
- Обучение без учителя: в отличие от обучения с учителем, обучение без учителя направлено на выявление неочевидных закономерностей в данных посредством исследования без каких-либо заранее заданных меток.
- Обучение с подкреплением: наконец, цель обучения с подкреплением — максимизировать совокупное вознаграждение за действия в среде, балансируя между исследованием и эксплуатацией.
Нейронные сети и глубокое обучение
Теперь давайте разберемся, что мы подразумеваем под нейронными сетями. Мы часто используем нейронные сети как метод решения задач машинного обучения, таких как обучение с учителем.
Нейронные сети состоят из множества простых обрабатывающих узлов, которые взаимосвязаны и в общих чертах основаны на принципах работы человеческого мозга. Обычно мы располагаем эти узлы слоями и присваиваем вес связям между ними. Цель состоит в том, чтобы изучить эти веса с помощью нескольких итераций прямого и обратного распространения обучающих данных по сети.
Итак, что такое глубокое обучение и как оно связано с нейронными сетями? Как мы теперь знаем, нейронная сеть состоит из обрабатывающих узлов, расположенных слоями. Сеть, состоящая всего из нескольких узлов и слоёв, может разрастись до миллионов узлов, расположенных в тысячах слоёв.
Обычно мы создаём эти сети для решения сложных задач и относим их к категории глубокого обучения. Когда мы применяем глубокое обучение в контексте обучения с подкреплением, мы часто называем это глубоким обучением с подкреплением.
Обучение с подкреплением заключается в том, что автономный агент предпринимает подходящие действия для получения максимальной награды в определённой среде. Со временем агент учится на собственном опыте и старается вести себя наилучшим образом.
В случае обучения с подкреплением мы ограничиваем взаимодействие человека с окружающей средой изменением состояний среды и системой вознаграждений и наказаний. Такая установка известна как марковский процесс принятия решений.
Пример
Чтобы лучше понять это, давайте возьмем пример дрессировки домашнего животного. Мыможем рассматривать домашнее животное как автономного агента. Если мы пытаемся дрессировать питомца в нашей гостиной, это можно рассматривать как окружающую среду:
Мы можем бросить мяч и ожидать, что питомец побежит за ним. Здесь бросание мяча представляет собой состояние, которое создаёт окружающая среда, а бег за мячом — действие, которое может совершить питомец. Наконец, мы можем поощрить питомца, погладив его по спине, или наказать, проигнорировав его.
Вы можете выдать вознаграждение немедленно или отложить его на какое-то время в будущем. Конечно, вознаграждение в будущем часто менее ценно в настоящем и, следовательно, имеет меньшую стоимость.
Типы окружающей среды
Обучение с подкреплением в основном состоит из двух типов задач:
- Детерминированный: относится к случаю, когда и модель перехода между состояниями, и модель вознаграждения являются детерминированными функциями. Проще говоря, агент может ожидать одно и то же вознаграждение и следующее состояние, если он повторяет действие в определённом состоянии.
- Стохастический: стохастический означает, что вероятность события случайна. В такой среде, если агент многократно выполняет действие в одном и том же состоянии, он не может быть уверен, что получит такое же вознаграждение или перейдёт в следующее состояние.
Типы обучения с подкреплением
Обычно выделяют два типа обучения с подкреплением:
- Алгоритм, основанный на моделировании: в алгоритме, основанном на моделировании, агент использует опыт для построения внутренней модели переходов и непосредственных результатов в окружающей среде и обращается к ней для выбора подходящего действия. Агент может получать извне информацию о переходах между состояниями и функциях вероятности вознаграждения.
- Без использования модели: в отличие от этого, в алгоритме без использования модели агент использует опыт для непосредственного изучения политики или функции ценности без использования модели окружающей среды. Здесь агент знает только о возможных состояниях и действиях в окружающей среде и ничего не знает о функциях перехода между состояниями и вероятности получения вознаграждения.
Ценностные функции и политика
Вознаграждение — это немедленная обратная связь, которую агент получает от среды за действие, совершённое им в заданном состоянии. Более того, агент получает серию вознаграждений на дискретных временных отрезках при взаимодействии со средой.
Цель обучения с подкреплением состоит в том, чтобы максимизировать совокупное вознаграждение, которое мы также называем ценностью.
Стратегия, которой следует агент, называется политикой, а политика, максимизирующая ценность, называется оптимальной политикой.
Формально понятие ценности в обучении с подкреплением представлено в виде функции ценности:
Здесь функция учитывает дисконтированные будущие вознаграждения, начиная с текущего состояния при заданной политике. Мы также называем это функцией ценности состояния для данной политики. Уравнение в правой части — это то, что мы называем уравнением Беллмана, которое связано с условиями оптимальности в динамическом программировании.
Q-значение и Q-обучение
Q-value - это показатель долгосрочной доходности для агента в состоянии согласно политике, но он также учитывает действия, которые предпринимает агент в этом состоянии. Основная идея состоит в том, чтобы зафиксировать тот факт, что одно и то же действие в разных штатах может принести разные награды:
Здесь функция создаёт карту, в которой пары «состояние — действие» сопоставляются с вознаграждением. Мы также называем это функцией действия-значения для политики.
Q-значение — это показатель, который мы используем в Q-обучении, которое является одним из основных подходов к обучению с подкреплением без использования моделей. Q-обучение подчеркивает, насколько полезно то или иное действие для получения вознаграждения в будущем в рамках определенной политики.