Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Deep Reinforcement Learning

Глубокое обучение с подкреплением (DRL) использует нейросети для обучения политик и функций ценности на основе исходных данных, например пикселей. Разбираем DQN, PPO, результаты и ограничения.

Глубокое обучение с подкреплением (DRL) объединяет обучение с подкреплением (RL), в котором агент методом проб и ошибок учится максимизировать вознаграждение, с глубокими нейронными сетями, представляющими усвоенные агентом знания. В классическом RL для каждого состояния хранится значение в таблице, что невозможно, если состояние — это изображение с камеры или непрерывные углы суставов робота. Вместо этого нейронная сеть преобразует исходные наблюдения высокой размерности, например пиксели, сканы лидара или текст, в значения или вероятности действий и обобщает результат на ранее не встречавшиеся состояния. В 2015 году DQN от DeepMind прославил этот подход, научившись играть в 49 игр Atari 2600, используя только пиксели экрана и счет в игре. Для этого применялись одна архитектура сети и один набор гиперпараметров, а уровень игры был сопоставим с уровнем профессионального тестировщика игр.

Как работает глубокое обучение с подкреплением#

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

  • Функция ценности: Сеть предсказывает ожидаемую отдачу для каждого действия, и агент выбирает действие с наибольшей отдачей. На вход сети DQN поступали последние четыре кадра игры, уменьшенные до 84×84 пикселей, чтобы она могла распознавать движение.
  • Политика: Сеть выдает вероятность для каждого действия либо среднее значение и разброс для непрерывного действия, например угла поворота руля. Методы градиента политики напрямую корректируют ее в сторону действий, обеспечивших высокую отдачу.
  • Актор и критик: Сеть актора выбирает действия, а сеть критика оценивает их ценность и сообщает актору, насколько каждое действие оказалось лучше ожидаемого. Это снижает шум при обновлении параметров.
  • Модель мира: Агент на основе модели, например Dreamer, обучает сеть предсказывать будущие наблюдения и вознаграждения, а затем учит политику внутри созданного симулятора.

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

Градиенты политики в коде#

Методы градиента политики полностью обходятся без таблиц значений: они выбирают действия по выходам сети, а затем увеличивают вероятность действий, за которыми последовала высокая отдача. В этом примере на PyTorch небольшая сеть политики обучается по алгоритму REINFORCE — исходному алгоритму градиента политики — удерживать шест на движущейся тележке в среде CartPole из Gymnasium:

import gymnasium as gym
import torch
from torch import nn

torch.manual_seed(0)
env = gym.make("CartPole-v1")
policy = nn.Sequential(nn.Linear(4, 64), nn.ReLU(), nn.Linear(64, 2))  # cart and pole state -> logits for left/right
optimizer = torch.optim.Adam(policy.parameters(), lr=0.02)
lengths = []

for episode in range(500):
    obs, _ = env.reset(seed=episode)
    log_probs, rewards, done = [], [], False
    while not done:  # play one episode with the current policy, earning +1 per step the pole stays up
        dist = torch.distributions.Categorical(logits=policy(torch.as_tensor(obs)))
        action = dist.sample()
        obs, reward, terminated, truncated, _ = env.step(action.item())
        log_probs.append(dist.log_prob(action))
        rewards.append(reward)
        done = terminated or truncated
    # REINFORCE: raise the log-probability of actions followed by above-average discounted return
    returns = torch.tensor([sum(0.99**k * r for k, r in enumerate(rewards[t:])) for t in range(len(rewards))])
    loss = -(torch.stack(log_probs) * (returns - returns.mean()) / (returns.std() + 1e-8)).sum()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    lengths.append(len(rewards))

print(f"Average episode length: first 20 = {sum(lengths[:20]) / 20:.0f}, last 20 = {sum(lengths[-20:]) / 20:.0f}")

Код выводит first 20 = 14, last 20 = 500: необученная сеть роняет шест примерно через 14 шагов, а после 500 эпизодов удерживает его до предела в 500 шагов на протяжении каждого эпизода. При других случайных начальных значениях тот же скрипт может застрять или потерпеть неудачу на полпути обучения. Снизить такую высокую дисперсию помогают критики и ограниченные обновления в методе проксимальной оптимизации политики (PPO). Библиотеки, такие как Stable-Baselines3, предоставляют проверенные реализации PPO, DQN и мягкого актора-критика (SAC).

Знаковые примеры применения#

  • Игры: После Atari агенты глубокого обучения с подкреплением победили чемпионов мира по го с помощью AlphaGo и достигли уровня гроссмейстера в StarCraft II с помощью AlphaStar, сочетая обучение на человеческих партиях с самообучением методом RL.
  • Гонки дронов: Дрон Swift, созданный в Цюрихском университете и обученный с помощью глубокого RL в симуляции с последующей донастройкой на данных реальных полетов, в 2023 году выиграл несколько очных гонок у каждого из трех пилотов-чемпионов и установил рекордное время прохождения трассы.
  • Термоядерная энергетика: DeepMind и Швейцарский центр физики плазмы EPFL использовали политику глубокого RL для управления магнитными катушками токамака. Она сформировала несколько конфигураций плазмы, в том числе одновременно создала две отдельные «капли» плазмы.
  • Робототехника: Шагающие роботы учатся передвигаться по пересеченной местности с помощью политик, обученных на тысячах симулируемых роботов. Трение и массу случайным образом меняют, чтобы политика сохраняла работоспособность при переносе на реальное оборудование.
  • Языковые модели: Дообучение политик Transformer с помощью RL на основе предпочтений или автоматически проверяемых вознаграждений привело к созданию современных чат-ассистентов и моделей рассуждений.

Восприятие как наблюдение#

DQN пришлось учиться распознавать объекты только по вознаграждению, получая на каждом шаге 84×84×4 = 28,224 значения пикселей. Во многих робототехнических системах и системах управления автомобилями политика вместо этого получает выход предварительно обученной модели сверточной нейронной сети компьютерного зрения. Это уменьшает размер наблюдения и позволяет алгоритму RL тратить выборки на принятие решений. Ultralytics YOLO26 в режиме отслеживания преобразует каждый кадр камеры в класс, рамку и постоянный идентификатор для каждого объекта — состояние, ориентированное на объекты, по которому политика также может отслеживать движение каждого объекта между кадрами.

Сложности#

Глубокое RL требует много данных: DQN обучали на 50 миллионах кадров для каждой игры — примерно 38 дней игрового времени. Поэтому большинство робототехнических политик обучают в симуляции, а затем переносят на реальные устройства. Физика в симуляции никогда не совпадает с реальностью в точности, поэтому инженеры рандомизируют трение, массы, освещение и текстуры с помощью рандомизации предметной области и добавляют синтетические данные для редких условий. На результаты также влияют случайные начальные значения, гиперпараметры и детали реализации — проблему воспроизводимости описывает работа Deep Reinforcement Learning That Matters. Сильный оптимизатор также находит лазейки в любом несовершенном вознаграждении. Этот сбой известен как взлом вознаграждения: например, агент в гоночной игре на лодках научился бесконечно кружить и собирать очки, вместо того чтобы финишировать.

  • Обучение с подкреплением: более широкая область. Табличное RL подходит для небольших задач, а глубокое RL — это RL с нейронными сетями в качестве аппроксиматоров функций.
  • Глубокое обучение: обычные модели глубокого обучения обучаются на фиксированном размеченном наборе данных. В глубоком RL данные генерируют действия самого агента, а обучающим сигналом служит отложенное вознаграждение, а не метка.
  • Обучение с подкреплением на основе отзывов людей (RLHF): метод глубокого RL, в котором вместо написанного вручную вознаграждения используется модель вознаграждения, обученная на сравнении человеческих предпочтений. Этот метод применяют для согласования языковых моделей.
  • Предиктивное управление по модели: MPC на каждом шаге управления заново решает задачу оптимизации на основе явной модели, тогда как обученная политика глубокого RL выбирает действие за один прямой проход по сети.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

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

Компьютерное зрение в розничной торговле

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

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

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

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения