Итак, как мы узнали из Введение в машинное обучение, обучение с подкреплением - это методика, при которой у нас есть агент, который будет предпринимать определенные действия в среде, чтобы попытаться достичь оптимального состояния. Но как мы можем это проиллюстрировать? Взгляните на следующую картинку.
Здесь мы можем видеть, что агент предпримет определенное действие At, чтобы получить вознаграждение Rt в метку времени t. Но что мы должны предпринять, если нам известны награды? Это известно как дилемма разведки / эксплуатации. Например, просто подумайте о выборе между 100USD, 1.000USD или неизвестным вознаграждением, которое вы возьмете? Вы рискнете и пойдете навстречу неизведанному? или вы будете осторожны и пойдете на 1.000USD?
Теперь давайте рассмотрим различные элементы обучения с подкреплением, которые нам понадобятся в следующих публикациях.
Элементы обучения с подкреплением
Окружающая обстановка
Среда, его задача - определить мир, с которым агент может взаимодействовать. Поэтому у него есть базовый цикл, который можно записать так:
- Награда за производство государственного песка r
Где наше состояние s представляет текущую ситуацию в среде, а вознаграждение r представляет собой скалярное значение, возвращаемое средой после выбора действия a.
Примечание. В основном мы будем использовать at, rt, st , чтобы указать, на каком временном интервале мы получаем эти результаты.
Агент
Нашему агенту необходимо научиться достигать целей, взаимодействуя с окружающей средой. Основанием для этого является использование базового цикла.
- Смысловое состояние и награда от окружающей среды
- Выберите действие a на основе этого состояния и вознаградите
Однако мы отмечаем, что действие, которое может предпринять наш агент, можно разделить на две конкретные категории:
- Дискретный: 1 из N действий (например, влево или вниз)
- Непрерывный: действие как скаляр / вектор реального значения (например, величина, на которую нам нужно согнуть ногу, чтобы мы могли ходить).
Политика π
Мы хотим достичь наилучшего и кратчайшего пути к оптимальному состоянию. Поэтому мы используем политику π
который сопоставляет действия с состояниями, которые мы должны предпринять. Так же, как и наше действие, это можно разделить на две конкретные категории:
- Детерминированный: одно и то же действие каждый раз.
- Стохастик: существует вероятность выполнения другого действия (например, действие 1 выполняется в 70% случаев, а действие 2 - в 30%).
Чтобы дать вам пример Стохастической политики, взгляните на следующее:
Функция значения V
Функция ценности - это нечто сложное, она отражает качество состояния в долгосрочной перспективе, которое рассчитывает наш агент. Или, другими словами, каково ожидаемое долгосрочное накопление вознаграждения.
Давайте посмотрим на пример этой функции значения. В игре Tic-Tac-Toe размещение нашего X в середине в начале игры увеличило бы наши шансы на победу. Следовательно, функция значения для этой позиции вернет более высокое значение, чем то, где мы поместили наш X в другое место (см. Пример справа).
У нас есть две разные функции значений:
- Функция значения Vπ (s): качество состояния s, следование политике π
- Функция состояния-значения Qπ (s, a): качество состояния s, выполнение действия a и последующее выполнение политики π
Задания
В обучении с подкреплением у нас есть два вида задач. Эпизодические и продолжающиеся:
- Эпизод: задачи, которые подходят к концу (пример: крестики-нолики, пакман,…)
- Постоянно: Задачи, которые никогда не заканчиваются (пример: настройка системы отопления)
Фундаментальные проблемы
Обучение с подкреплением имеет четыре ключевых проблемы, которые приведут к получению хорошего или плохого алгоритма. Все эти проблемы можно изолировать в их собственном черном ящике и исследовать независимо.
- Представление: Как изобразить состояния, действия и результаты?
- Обобщение: как мы можем заставить алгоритм RL хорошо себя вести в невидимых ситуациях?
- Временное присвоение кредита: Как мы можем найти действия в последовательности, которые больше всего способствовали определенному результату?
- Исследование. Есть ли действие, которое мы еще не пробовали и которое могло бы привести к лучшему результату?
Подробнее об этом в следующих постах.
Примечание. Это репост моего исходного сообщения в моем блоге https://xaviergeerinck.com/rl-intro, который включает поддержку LaTeX для лучшего представления математических символов.