Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Вопросы для собеседования, набор 5: DDPG, PPO, TD3, SAC и другие алгоритмы

1. Нужно хорошо знать принципы и различия алгоритмов DDPG, PPO, TD3, SAC и других.

Эти четыре алгоритма — самые распространённые алгоритмы глубокого обучения с подкреплением для непрерывного управления (например, управления роботами).

PPO (Proximal Policy Optimization)

  • Принцип: PPO — алгоритм градиента политики с политикой on-policy. Он использует механизм отсечения (Clipping), который ограничивает величину шага обновления между старой и новой политикой, чтобы обновление политики не «сорвалось».

  • Основная формула:

  • Пример числового расчёта:

    Пусть в момент времени оценка преимущества по GAE равна (положительное число: действие хорошее).

    Гиперпараметр отсечения .

    Если новая сеть слишком агрессивна и отношение вероятностей новой и старой политики равно (новая политика выбирает это действие в 1.5 раза чаще старой):

    1. Исходная цель: .

    2. Цель после отсечения: .

    3. Берём минимум: .

      Вывод: даже если сеть хочет обновиться до значения 15, PPO принудительно обрезает его до 12, что обеспечивает стабильность обучения.

DDPG (Deep Deterministic Policy Gradient)

  • Принцип: алгоритм actor-critic с политикой off-policy. Actor выдаёт детерминированное действие, Critic оценивает значение Q.

  • Основная формула (обновление Critic):

  • Пример числового расчёта:

    Пусть робот сделал шаг вперёд и получил награду . Коэффициент дисконтирования .

    Целевые сети (Target Actor и Target Critic) предсказывают оптимальное значение Q для следующего состояния .

    Вычисляем TD-цель (примечание 1): .

    Если текущая сеть Critic предсказывает значение Q, равное 90, то среднеквадратичная ошибка (MSE) равна .

TD3 (Twin Delayed DDPG)

  • Принцип: решает проблему завышения значений Q в DDPG, вводя два Q-критика, отложенное обновление и сглаживание целевой политики.

  • Основная формула (клиппированное двойное Q-обучение со сглаживанием):

  • Пример числового расчёта:

    Целевой Actor выдаёт следующее действие . С учётом шума (после клиппирования) итоговое целевое действие .

    Подаём в два целевых Critic:

    Пусть Critic 1 предсказывает значение Q, равное , а Critic 2 — .

    TD3 берёт минимум, чтобы подавить завышение: .

    Итоговая TD-цель: .

SAC (Soft Actor-Critic)

  • Принцип: алгоритм обучения с максимальной энтропией, off-policy, который поощряет исследование.

  • Основная формула (член энтропии в целевой функции):

  • Пример числового расчёта:

    Пусть в текущем состоянии есть два дискретизированных возможных действия, а распределение вероятностей политики равно .

    Вычисляем информационную энтропию: .

    Если температурный коэффициент , то «мягкая» дополнительная награда за этот шаг равна .

    Если политика становится более случайной, , энтропия , а дополнительная награда — . Так SAC существенно поощряет исследование.


2. Нужно понимать такие понятия, как GAE (обобщённая оценка преимущества) и PG (градиент политики).

PG (Policy Gradient)

  • Формула:

  • Пример числового расчёта:

    Пусть суммарная награда за эпизод . Вероятность действия равна .

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

GAE (Generalized Advantage Estimation)

  • Принцип: баланс между смещением (bias) и дисперсией (variance) TD-ошибки.

  • Основные формулы:

  • Пример числового расчёта (ручной расчёт траектории из двух шагов):

    Пусть , .

    Есть три состояния (конец).

    Награды: .

    Предсказания сети ценности: (конечное состояние имеет значение 0).

    1. Вычисляем TD-ошибку каждого шага ():

    2. Рекурсивно вычисляем преимущество () с конца:

      Последний шаг:

      Предпоследний шаг:

    Вывод: у действия преимущество положительное (1.0295), его нужно поощрять; у действия оно отрицательное (-1.0), его нужно подавлять.

import torch
# Проверяем псевдокод на указанных значениях
rewards = torch.tensor([1.0, 2.0])
values = torch.tensor([2.0, 3.0])
next_value = 0.0
dones = torch.tensor([0.0, 1.0])
gamma, lam = 0.99, 0.95
# (логика цикла — в исходной версии ответа; результат совпадает с ручным расчётом)

1. Макроскопический взгляд: «тренер и спортсмен» в обучении с подкреплением

Весь процесс можно представить как тренера (GAE / сеть ценности), который наставляет спортсмена (сеть политики).

Градиент политики (PG) — тренировка спортсмена

Логика PG очень проста: «если в этом раунде выиграли, то все действия в нём надо делать чаще; если проиграли — реже».

  • Ему не важно, хорошо ли конкретное действие само по себе, важен только результат.
  • Проблема: если раунд длится 1000 шагов, а на 5-м шаге спортсмен сыграл блестяще, но на 999-м ошибся и проиграл, PG накажет и гениальное действие на 5-м шаге, потому что итог был «проигрыш». Это и есть высокая дисперсия (Variance).

Обобщённая оценка преимущества (GAE) — разбор игры тренером

GAE решает именно эту проблему. Он оценивает не итог, а «насколько этот шаг оказался лучше моих ожиданий».

  • Он объединяет «немедленную награду» и «прогноз на будущее».
  • Он работает как рассудительный тренер, который говорит: «Хотя в итоге ты проиграл, твоя операция на 5-м шаге подняла шансы на победу с 20% до 60%. Тебе засчитывается плюс!»

2. Полный конвейер (итерационный процесс)

В реальных алгоритмах PPO или A2C данные движутся так:

Шаг 1: взаимодействие (сбор выборки)

Спортсмен (сеть политики ) играет в среде шагов.

  • Результат: набор данных (состояние, действие, награда, следующее состояние).
  • Состояние: параметры сети на этом этапе фиксированы и не обновляются.

Шаг 2: оценка (выставление баллов — здесь работает GAE)

Теперь нужно оценить каждое действие из этих шагов. Этот балл и есть функция преимущества .

  1. Оценка ценности: состояние подаётся в «сеть ценности », которая предсказывает, насколько ценно это состояние.
  2. Вычисление TD-ошибки (): сравниваем реально полученную награду плюс ожидаемое будущее с текущим ожиданием.
  3. Сглаживание GAE: с помощью параметра суммируем с весами ошибки текущего шага, шага через секунду и через две секунды.
    • После этого каждое действие получает точную оценку (положительная — лучше ожиданий, отрицательная — хуже).

Шаг 3: обучение (обновление — здесь работает PG)

Имея оценки (), возвращаемся к спортсмену (сети политики) и корректируем его «мышечную память».

  1. Вычисляем градиент: находим, насколько в состоянии вероятно действие , то есть .

  2. Взвешенное обновление:

    • Если положительно (хороший удар!), градиент повышает вероятность этого действия.
    • Если отрицательно (плохой удар!), градиент понижает вероятность.
  3. Градиентный подъём: обновляем , и сеть становится умнее.

Шаг 4: цикл

Обновлённый «спортсмен» снова играет, и процесс повторяется с первого шага.


3. Почему нужен GAE? (интуиция)

Что будет, если использовать только PG без GAE?

  • PG без GAE (REINFORCE):

    Суммарная награда за весь эпизод умножается на каждое действие.

    • Минус: обучение идёт очень медленно и нестабильно. Это как если бы за трёхчасовой экзамен вам поставили только общий балл и не сказали, какие задачи решены правильно, а какие нет.
  • PG с GAE:

    Для каждого действия используется .

    • Плюс: каждому «заданию» (каждому действию) выставляется собственная оценка. Параметр работает как регулятор:
      • при смотрим только на следующий шаг — очень дальновидно, но может быть близоруко;
      • при смотрим на весь эпизод — честно, но может сбивать случайный шум;
      • GAE выбирает промежуточное значение и обеспечивает баланс смещения и дисперсии.

Итог: как связаны ваши вычисления?

  1. Сеть даёт ожидаемую «базовую линию».
  2. (TD-ошибка) измеряет «разрыв между реальностью и идеалом».
  3. GAE (преимущество) с помощью рекурсии объединяет эти разрывы в одну цепочку и определяет, хорошо ли действие.
  4. PG (градиент политики) использует эту оценку, чтобы подстроить веса нейросети.

3. Нужно уметь объяснить логику проектирования функции награды и то, как решается разрыв Sim-to-Real.

Логика проектирования функции награды

  • Формула:

  • Пример числового расчёта:

    Пусть вес задачи захвата , вес направляющей по расстоянию , параметр плавности , вес штрафа .

    Текущие координаты концевого эффектора манипулятора , координаты целевого объекта .

    Квадрат евклидовой нормы момента на выходе .

    1. Вычисляем расстояние: м.

    2. Вычисляем сформированную награду: .

    3. Вычисляем штраф: .

    4. Объект не захвачен, .

      Общая награда на этом шаге: .

Решение проблемы Sim-to-Real (числовой пример рандомизации доменов)

В симуляции масса звеньев манипулятора задаётся нормальным распределением. Реальная масса составляет 2.0 кг, и в симуляции в каждом эпизоде масса выбирается как . Это значит, что при обучении сеть RL обязана выучить стратегию управления, которая успешно работает при массе от 1.6 до 2.4 кг. Тогда при развёртывании в реальном мире модель просто не замечает ошибок модели трения моторов.


4. Нужно знать архитектуры и идеи основных моделей, таких как Open-VLA и RT-2.

RT-2 (Robotic Transformer 2)

  • Основная идея: действия дискретизируются как текстовые слова (токенизация), и большая модель предсказывает их напрямую.

  • Пример числового расчёта (токенизация действия):

    Формула:

    Пусть нужно предсказать степень раскрытия захвата , физический диапазон которого (-1 — полностью закрыт, 1 — полностью открыт).

    В обучающих демонстрациях значение раскрытия захвата .

    Подставляем:

    .

    Физическое действие отображается в 142-й специальный токен словаря модели (например, <action_142>).

Open-VLA

  • Модель с 7 миллиардами параметров. При инференсе в FP16 только веса занимают около 14 ГБ видеопамяти, а с учётом KV-кэша для плавного одношагового инференса обычно требуется видеокарта 24 ГБ, например RTX 3090 или 4090.

5. Нужно понимать принципы методов тонкой настройки, таких как LoRA.

LoRA (Low-Rank Adaptation)

  • Формула:

  • Пример числового расчёта (ручной расчёт на матрицах):

    Пусть весовая матрица одного линейного слоя предобученной модели заморожена. Входной признак .

    Задаём ранг .

    Инициализируем низкоранговую матрицу случайным гауссовым распределением; допустим, сейчас .

    Матрица инициализирована нулями, но после нескольких шагов обучения стала .

    Коэффициент масштабирования .

    Расчёт обходной ветви:

    1. (понижение размерности до r=1).

    2. (повышение размерности обратно до 2).

    3. Умножаем на коэффициент масштабирования: .

      Итоговый выход — это выход предобученной модели плюс вклад дообучения .

      Сравнение числа параметров: при полном дообучении пришлось бы обновлять параметра; LoRA с обновляет параметра. Но в больших моделях (например, ) LoRA () содержит всего около параметров полной тонкой настройки!


6. Нужно уметь анализировать сильные и слабые стороны VLA по сравнению с другими методами (например, чистым обучением с подкреплением) и понимать перспективы внедрения в промышленности.

  • Численное сравнение:
    • Успешность и обобщение: в задаче «захватить чашку любого цвета на столе» чистое RL при встрече с незнакомой красной чашкой может обвально упасть с 95% до 5%; VLA же благодаря семантическому пониманию VLM сохраняет успешность выше 85%.
    • Частота управления: сеть чистого RL очень мала (например, MLP), задержка вывода меньше 1 мс, что позволяет низкоуровневое силовое управление на 500 Гц; а VLA с 7 миллиардами параметров (даже в квантизации INT8) обычно тратит на один проход 80–200 мс, то есть планирует высокоуровневые действия лишь на 5–10 Гц.
  • Промышленное внедрение: поэтому в промышленности обычно используют двухуровневую архитектуру: верхний уровень VLA (2 Гц) + нижний уровень MPC/RL (200 Гц).

7. Нужно понимать базовые понятия: прямую и обратную кинематику (IK), якобиан, PID-регулирование, MPC.

Прямая и обратная кинематика (на примере плоского двухстепенного манипулятора)

  • Числовой пример:

    Длины звеньев м, м.

    Прямая кинематика (FK): заданы углы суставов , .

    Координата концевого эффектора .

    Координата концевого эффектора .

    Вывод: концевой эффектор находится в точке .

    Обратная кинематика (IK): зная целевую точку , находим (верно при отсутствии сингулярных точек).

Якобиан

  • Числовой пример:

    Пусть в текущей конфигурации . Мы хотим, чтобы концевой эффектор перемещался по оси x с линейной скоростью (м/с).

    Решаем относительно скоростей суставов (рад/с).

    То есть первый сустав неподвижен, второй вращается в обратном направлении со скоростью 0.1 рад/с.

PID-регулирование

  • Формула:

  • Пример числового расчёта:

    Целевая позиция 10.0, текущая фактическая позиция 8.0. Текущая ошибка .

    Накопленный интеграл ошибки .

    Ошибка уменьшается, скорость её изменения .

    Параметры .

    Выходной момент двигателя Н·м.


8. Нужно знать принципы и применение распространённых датчиков, например глубинной камеры Realsense.

Глубинная камера Realsense (расчёт по стереоскопическому параллаксу)

  • Формула:

  • Пример числового расчёта:

    Фокусное расстояние инфракрасного объектива камеры пикселей.

    Физическое расстояние между левой и правой камерами (базис) м (5 см).

    Точка на объекте имеет горизонтальную координату 300 на левом изображении и 280 на правом. Параметр пикселей.

    Расстояние по глубине: м.

    Камера выдаёт глубину этой точки 1.5 м.


9. «Почему в вашем проекте именно такая функция награды? Какие ещё варианты вы пробовали?»

(с числовым примером, основанным на вычислении потенциала)

«Помимо разреженной награды, я использовал формирование награды на основе потенциала (Potential-based Reward Shaping):

где — некоторое масштабирование обратной величины расстояния между эффектором и объектом.

Конкретный расчёт: пусть расстояние , а функция потенциала . .

В состоянии (предыдущий шаг) расстояние м, потенциал .

В состоянии (после действия) манипулятор приблизился к объекту, расстояние сократилось до м, потенциал .

Направляющая награда на этом шаге: .

Эта положительная награда эффективно поощряет манипулятор приближаться к объекту, а математически гарантирует, что не возникнет лазейки в виде локального оптимума «ходить кругами» (Reward Loop).»


10. «Что входит в ваше пространство наблюдений и почему оно устроено именно так?»

(с числовым примером вычисления размерности)

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

  1. Собственное состояние: углы суставов 6-степенного манипулятора (6 измерений) и угловые скорости (6 измерений) = 12 измерений.

  2. Положение концевого эффектора: позиция — 3 измерения, ориентация в виде кватерниона — 4 измерения, раскрытие захвата — 1 измерение = 8 измерений.

  3. Визуальные признаки: изображение с камеры «глаз в руке». Если сразу развернуть его (Flatten), получится 21168 измерений, что легко ведёт к переобучению. Я извлекаю признаки замороженной предобученной сетью ResNet-18, выход имеет 512 измерений.

    Итоговая размерность: вектор наблюдения , поступающий в сеть Actor RL, — одномерный тензор размерности . Такая конструкция сохраняет марковское свойство среды и при этом сильно сжимает пространство состояний.»


11. «Объясните механизм многоголового внимания Transformer.»

Числовой пример вычисления самовнимания

  • Формула:

  • Допустим, на входе всего два токена (например, «красный» и «кружка»), после проекции размерность сделаем небольшой, например .

    Пусть (две строки — Query двух слов).

    Пусть .

    1. Вычисляем скалярные произведения .

    2. Делим на , получаем матрицу оценок внимания: .

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

      Многоголовый механизм выполняет описанный процесс раз параллельно в нескольких подпространствах, а затем конкатенирует результаты. Это позволяет модели, рассматривая одно и то же слово, извлекать признаки разных подпространств, например «цвет» и «форму».


12. «Чем отличаются диффузионная модель (DM) и авторегрессионная модель (AR) в VLA?»

  • Числовой пример для авторегрессии (AR):

    Предсказываем последовательность действий .

    Вероятность первого шага . Подставляем обратно на вход, и второй шаг даёт .

    Совместная вероятность траектории . Проблема в том, что при небольшой ошибке в погрешность экспоненциально накапливается по шагам (Exposure Bias).

  • Числовой пример для диффузионной модели (DM):

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

    Пусть истинное действие с добавленным реальным гауссовым шумом .

    Прямой проход сети даёт предсказанный шум .

    Вычисляем MSE-потерю DDPM: .

    DM за один раз выполняет денойзинг и выдаёт блок (Chunk) из нескольких шагов действий (например, 16 шагов). Траектория по своей природе гладкая и согласованная, поэтому каскадная ошибка AR устраняется.


13. «Почему вы выбрали именно нашу лабораторию / это направление?»

«Я выбрал направление воплощённого ИИ, потому что оно позволяет непосредственно воздействовать на физический мир.

Что касается вашей лаборатории:

  1. Совпадение технических подходов: я читал статью вашей команды о применении диффузионных моделей для долгосрочных задач ловкой работы кистью. Я заметил, что вы задали размер Action Chunk равным 32, и это подняло успешность захвата на 15%. В своих прошлых проектах я тоже менял длину окна Action Chunking и обнаружил, что диапазон 16–32 — оптимальная зона. Поэтому мне очень близки ваши инженерные детали.
  2. Вычислительные ресурсы и аппаратная база: у вас есть 4 реальных робота со многопалыми кистями и кластер A100 в частном облаке. По сравнению с тем, что я сейчас могу запускать на одной видеокарте RTX 3090 (500 тысяч шагов обучения RL в симуляции), ваша платформа позволила бы за тот же срок пройти 10 миллионов шагов и значительно ускорить цикл Sim-to-Real.»

Первая часть: что такое DDPG / PPO / TD3 / SAC? Каковы входы и выходы?

По сути, это общие «правила обучения мозга» (фреймворк непрерывного управления). Их можно использовать для обучения захвату манипулятором, для обучения робота-собаки паркуру или даже для обучения управления рулём беспилотного автомобиля.

Основная структура этих четырёх алгоритмов обычно содержит две нейронные сети: Actor (актёр, выдаёт действия) и Critic (критик, выставляет оценки).

1. Входы модели (Observation/State)

При выполнении задачи в модель (главным образом в сеть Actor) обычно подаётся одномерный вектор, который описывает текущее состояние робота, воспринимаемое им, . В этом векторе можно объединить различные данные:

  • Физическое состояние (самое частое): например, углы и угловые скорости 6 суставов манипулятора, координаты захвата. Если это 12-мерный массив, размер входного слоя сети равен 12.
  • Изображения (Visual RL): если нужно, чтобы модель «видела» изображения, обычно не подают в эти алгоритмы десятки тысяч пикселей напрямую. Стандартный подход — сначала сжать RGB-изображение с помощью CNN (например, ResNet) в вектор признаков фиксированной длины (например, 256 измерений), а затем объединить его с физическим состоянием выше и подать на вход алгоритма.
  • Языковые инструкции: если используется управление по языку (что сейчас популярно), подход похож. Фраза «возьми красное яблоко» преобразуется текстовым энкодером, похожим на CLIP, в вектор чисел, который также объединяется с входным состоянием.

2. Выходы модели (Action)

Выход сети Actor — это непрерывная команда действия, которую нужно выполнить на следующем шаге.

  • Конкретная форма: например, 6-мерный вектор, задающий целевые моменты 6 моторов манипулятора или желаемые угловые скорости суставов.
  • Куда идёт выход: он напрямую отправляется в физический движок (например, симулятор Isaac Gym) или в контроллер реального оборудования.

3. Цикл итераций (RL Loop)

На примере захвата предметов манипулятором весь замкнутый цикл выглядит так:

  1. Наблюдение за средой: датчики получают текущее состояние (например: манипулятор находится в точке A, цель — в точке B).
  2. Решение сети: подаётся в сеть Actor, и она выдаёт действие (например: каждый мотор поворачивается на определённый угол).
  3. Обратная связь среды: после выполнения действия робот переходит в новое состояние . Среда (или ваш код) выдаёт награду (например: приблизился к цели, +1 балл; ударился о стену, −10 баллов).
  4. Сбор данных: этот шаг опыта записывается в «буфер воспроизведения опыта» (большую таблицу данных).
  5. Обновление сетей:
    • Обновление Critic: Critic берёт данные из буфера и учится точнее предсказывать «если в этом состоянии выполнить это действие, сколько баллов в сумме будет получено в будущем». (Здесь используется TD-цель, о ней ниже.)
    • Обновление Actor: Actor корректирует параметры по оценкам Critic, чтобы при следующей похожей ситуации с большей вероятностью выдавать действие с более высокой оценкой.
  6. Цикл: возврат к шагу 1, и процесс повторяется десятки тысяч или миллионы раз, пока модель не выучит оптимальную стратегию.

Вторая часть: что такое «TD-цель (TD Target)»?

TD (Temporal Difference, временная разность) — одна из самых тонких идей обучения с подкреплением. TD-цель можно понимать как «самый свежий и более точный прогноз суммарной будущей выгоды, в котором учтена реально полученная награда».

Пример из жизни поможет быстро понять:

Допустим, вы едете на машине из Пекина в Шанхай. Перед выездом ваша голова (сеть Critic) оценивает, что путь займёт 12 часов.

Доехав до Тяньцзиня, вы потратили 2 часа (это соответствует реальной награде текущего шага). Вы снова смотрите навигатор: от Тяньцзиня до Шанхая ещё 9 часов (это прогноз модели для следующего состояния ).

Тогда ваша новая общая оценка времени всего пути из Пекина в Шанхай с учётом пройденного участка такая:

2 часа (реально потраченное время) + 9 часов (новый прогноз оставшегося времени) = 11 часов.

Это и есть TD-цель!

Ваша голова будет исправлять прежний прогноз 12 часов с учётом этих 11 часов. Именно такой метод — обновлять старые прогнозы, используя новую информацию из шага «вперёд» — и есть ядро TD-обучения.

В формуле это выглядит так:

  • : реальная награда, полученная за выполненное действие (2 часа).
  • : прогноз Critic о будущих баллах из нового состояния (сколько ещё ехать от Тяньцзиня до Шанхая).
  • : коэффициент дисконтирования (обычно 0.99), то есть будущие прогнозы немного обесцениваются.
  • : вычисленная TD-цель.

При обучении задача сети Critic — изо всех сил подогнать свой прогноз к этой TD-цели , и тогда её предсказания становятся всё точнее.


Третья часть: в чём различие DDPG, PPO, TD3 и SAC?

На макроуровне DDPG, PPO, TD3 и SAC действительно крутятся вокруг одного и того же цикла «наблюдение — действие — награда — обновление» (архитектура actor-critic). Но на микроуровне, чтобы решить проблемы, которые возникают при обучении, исследователи по-разному изменяют форму выхода сети, способ вычисления значений Q и механизм награды.

Основные различия как раз в этих микроскопических деталях. Сначала возьмём PPO, а затем сравним DDPG, TD3 и SAC — три «родственных» алгоритма.

1. Главное различие семейств: как используются данные?

  • PPO (on-policy): это типичный пример «учиться и применять сразу». Actor сам собирает пакет данных в среде; после обновления сетей этот пакет выбрасывается. Следующее обновление обязательно требует новых данных, собранных самым свежим Actor.
  • DDPG / TD3 / SAC (off-policy): у них есть большой «буфер воспроизведения опыта» (Replay Buffer). Данные, которые собрал Actor, сохраняются в буфер, и Critic может многократно использовать старые данные для обучения. Такой подход экономит обращения к среде (высокая эффективность по выборкам).

2. Микрохирургия: что именно изменено в значениях Q и политике?

Эти три off-policy алгоритма (DDPG → TD3 → SAC) — по сути история исправления ошибок, и их микроскопические различия как раз отвечают на ваш вопрос.

DDPG: родоначальник (но со множеством дыр)

  • Выход Actor: Actor напрямую выдаёт определённое числовое значение (например, «моторный момент 2.5 Н·м»). Это детерминированная политика.
  • Вычисление Q: Critic действует как наивный учитель и обновляется по обычной формуле TD-цели .
  • Фатальный недостаток: поскольку предсказания нейронных сетей всегда содержат ошибки, Critic в DDPG очень склонен к слепому оптимизму (завышению Q). Он может выставить очень высокую оценку плохому действию, и Actor в итоге выучит плохую политику.

TD3: «усиленная заплатка» поверх DDPG

Чтобы справиться со «слепым оптимизмом» DDPG, TD3 вносит в микроскопический расчёт значений Q очень точные изменения:

  • Два Q-критика и минимум (ключевое!): там два независимых Critic. При вычислении будущих значений Q оба выставляют оценки, и затем принудительно берётся меньшее из двух.
    • Пример из жизни: вы оцениваете будущую стоимость квартиры, пригласили двух оценщиков. Один говорит 5 миллионов, другой — 3 миллиона. Чтобы не переплатить (то есть не попасть в ловушку завышения), вы принимаете решение, исходя из 3 миллионов.
  • Сглаживание целевой политики: при вычислении TD-цели в следующее действие намеренно добавляется небольшой случайный шум. Это заставляет Critic понять: «Не отдавай высокую оценку лишь одному конкретному действию, смотри, хороши ли соседние действия в небольшой окрестности».
  • Отложенное обновление: Critic обновляется два-три раза, и только потом обновляется Actor. Так Actor опирается на уже более точные оценки.

SAC: нынешний лидер, который меняет само определение награды

SAC идёт другим путём. Его главное микроскопическое изменение — изменение целевой функции награды (фреймворк максимальной энтропии):

  • Микроскопическое изменение награды: к традиционной реальной награде добавляется «бонус энтропии» (Entropy Bonus).
    • Цель становится такой: максимизировать .
  • Выход Actor: в отличие от DDPG/TD3, которые выдают определённые действия, Actor SAC выдаёт гауссово распределение (среднее и дисперсию).
  • Эффект: SAC требует не только выполнить задачу, но и поощряет робота выполнять её максимально разнообразными и случайными способами. Такая микроскопическая конструкция делает SAC более устойчивым к внешним возмущениям при работе с физической средой.

3. Одна таблица стоит тысячи слов: сводка микроскопических различий

АлгоритмФорма выхода ActorМикро-операции при предсказании Q (Critic)Особые механизмы награды и обновленияОсобенности применения
PPOРаспределение вероятностей (гауссово/дискретное)Использует функцию преимущества (Advantage)Отсечение (Clipping), чтобы шаг обновления не был слишком большимОчень стабилен, проще всего настраивается
DDPGОпределённое числовое значениеОдна сеть Q, прямой прогнозОсобых механизмов нет, TD-ошибка считается напрямуюЛегко расходится, сейчас редко используется отдельно
TD3Определённое числовое значениеМинимум из двух сетей QШум в целевом действии, отложенное обновление ActorБыстрое обучение, относительно невысокие вычислительные затраты
SACРаспределение вероятностей (среднее и дисперсия гауссова)Минимум из двух сетей QМаксимизация энтропии политики (в награду добавлена премия за исследование)Очень высокая эффективность по выборкам, наибольшая устойчивость при развёртывании на реальном роботе