Результаты обучения

После изучения урока вы сможете:

Главная идея. RL обучает агента через последствия его действий. Среда возвращает награду и новое состояние, а агент постепенно улучшает стратегию поведения.

1. Чем RL отличается от других режимов обучения

В supervised learning каждому обучающему примеру соответствует известный целевой ответ. В unsupervised learning заранее заданных меток нет, и алгоритм ищет структуру в данных. В Reinforcement Learning (RL) агент взаимодействует со средой: выбирает действие, получает новое состояние и сигнал награды.

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

Цикл агента и средыАгент получает состояние и отправляет действие среде. Среда возвращает новое состояние и награду.АгентВыбирает действиеСредаМеняет состояниеДействие aₜ →← Новое состояние sₜ₊₁ и награда rₜ₊₁Наблюдение → действие → последствие → новое наблюдение
Цикл взаимодействия: агент выбирает действие, среда возвращает результат. Иногда агент получает только наблюдение, а не полное состояние.

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

2. Элементы задачи: агент, среда, состояние, действие, награда

ЭлементЗначениеПример для здания
АгентПринимает решения.Виртуальный контроллер отопления.
СредаСистема, в которой действуют решения.Модель здания, погоды и тепловой инерции.
Состояние sОписание ситуации.Температура, время, прогноз погоды.
Действие aВыбор агента.Повысить, снизить или сохранить мощность.
Награда rЧисловой сигнал о результате.Баланс комфорта, затрат и ограничений.
ПереходПравило изменения состояния.Температура меняется с учётом погоды и инерции.

Формально часто используют Markov Decision Process (MDP): состояния S, действия A, функцию награды R, вероятности перехода P и начальное распределение состояний. Эпизод — ограниченная последовательность взаимодействий до условия завершения.

Последовательность состояний и наградЛиния показывает направление времени. Залитые круги отделяют текущее состояние, действие, следующее состояние и более позднее состояние; подписи находятся над кругами, обозначения — внутри.СейчасДействиеСледующееПозжеsₜaₜsₜ₊₁sₜ₊₂Награда оценивается после действия; часть последствий проявляется позже.
Оценка действия должна учитывать не только немедленную награду, но и будущие последствия.

3. Награда, возврат и дисконтирование

Награда — числовой сигнал, который среда возвращает после действия или перехода. Она может быть положительной, нулевой или отрицательной. Сумма наград за последовательность шагов называется возвратом (return).

Формула возвратаGₜ = rₜ₊₁ + γrₜ₊₂ + γ²rₜ₊₃ + …

Коэффициент γ (gamma) от 0 до 1 задаёт относительный вес будущих наград. При меньшем γ агент сильнее ориентируется на ближайшие последствия, при значении ближе к 1 — учитывает более отдалённые результаты.

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

4. Политика, ценность, исследование и эксплуатация

Exploration — исследование действий, последствия которых пока известны недостаточно. Exploitation — использование действия, которое по текущей оценке лучше. Если только исследовать — агент не использует опыт; если только эксплуатировать слишком рано — он может не найти лучшую стратегию.

Исследование и эксплуатацияИсследование проверяет альтернативы, эксплуатация выбирает текущий лучший вариант.ИсследованиеПробовать альтернативыЭксплуатацияВыбирать известный лучший вариантНужен баланс с учётом этапа обучения и риска
Exploration и exploitation — два аспекта стратегии, которые нужно сбалансировать.

5. Основные семейства алгоритмов

Это не взаимоисключающие категории: Deep RL может быть value-based, policy-based или actor–critic. Выбор зависит от типа действий, стоимости взаимодействия, доступности модели среды и требований к устойчивости.

6. Пример постановки задачи: здание в симуляции

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

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

7. Практика: минимальный Q-learning на Python

Игрушечная одномерная среда содержит пять состояний: агент начинает в позиции 0 и должен достичь позиции 4. Действия — шаг влево или вправо. За достижение цели начисляется +1, за промежуточный шаг — штраф −0,02. Внешние библиотеки не нужны; требуется Python 3.10+.

import random

random.seed(7)
N_STATES = 5
ACTIONS = (-1, 1)  # left, right
Q = [[0.0, 0.0] for _ in range(N_STATES)]
alpha, gamma, epsilon = 0.2, 0.95, 0.2

def step(state, action):
    next_state = max(0, min(N_STATES - 1, state + action))
    done = next_state == N_STATES - 1
    reward = 1.0 if done else -0.02
    return next_state, reward, done

for episode in range(400):
    state = 0
    for _ in range(10):
        if random.random() < epsilon:
            action_index = random.randrange(len(ACTIONS))
        else:
            action_index = max(range(2), key=lambda i: Q[state][i])
        action = ACTIONS[action_index]
        next_state, reward, done = step(state, action)
        best_next = 0.0 if done else max(Q[next_state])
        target = reward + gamma * best_next
        Q[state][action_index] += alpha * (target - Q[state][action_index])
        state = next_state
        if done:
            break

state, path = 0, [0]
for _ in range(10):
    action_index = max(range(2), key=lambda i: Q[state][i])
    state, _, done = step(state, ACTIONS[action_index])
    path.append(state)
    if done:
        break
print(" -> ".join(map(str, path)))

Как работает код

Ожидаемый вывод: 0 -> 1 -> 2 -> 3 -> 4. Это иллюстрация механизма Q-learning, а не доказательство пригодности алгоритма для реального оборудования.

8. Ограничения и типичные ошибки

RL не гарантирует безопасное или оптимальное управление. Нужны тестирование, независимые ограничения, мониторинг и возможность остановить или отменить действие.

9. Главное из урока

Самостоятельное задание

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