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

Вопросы для собеседования по воплощённому ИИ, набор 4, с ответами

1. Почему выбран именно этот метод? Пробовали ли другие baseline? Как сравнивались результаты?

Пример ответа и разбор (на примере выбора алгоритма SAC):

В моём проекте по захвату манипулятором я в итоге выбрал алгоритм Soft Actor-Critic (SAC).

  • Испытанные baseline:

    1. DDPG (Deep Deterministic Policy Gradient): поскольку политика детерминированная, способность к исследованию в непрерывном управлении воплощённым агентом очень слабая, и легко застрять в локальном оптимуме.
    2. PPO (Proximal Policy Optimization): стабилен, но как алгоритм on-policy имеет очень низкую эффективность по выборкам (Sample Efficiency), и сбор данных на реальном манипуляторе или на высокоточном физическом движке (например, Isaac Gym) слишком дорог.
  • Почему выбран SAC (с опорой на формулы):

    SAC использует фреймворк обучения с максимальной энтропией (Maximum Entropy RL). Целевая функция оптимизирует не только суммарную награду, но и энтропию политики:

    • : состояние и действие в момент .
    • : функция награды.
    • : температурный коэффициент (Temperature Parameter), определяет важность члена энтропии относительно награды.
    • : энтропия политики в данном состоянии (то есть случайность распределения действий).
  • Сравнение результатов: SAC (off-policy) имеет эффективность по выборкам примерно на порядок выше, чем PPO. Кроме того, благодаря энтропийной регуляризации манипулятор демонстрирует большую устойчивость (Robustness) к внешним возмущениям.

2. Как спроектирована ваша функция награды (Reward Function)? Какие версии вы перебрали?

Пример ответа и разбор:

Моя функция награды прошла три версии итераций: от разреженной награды к плотной награде с потенциальной функцией (Potential Function).

  • Версия V1: разреженная награда (Sparse Reward)

    Награда выдаётся только при успешной задаче.

    • : трёхмерные координаты концевого эффектора манипулятора.
    • : трёхмерные координаты целевого объекта.
    • : евклидово расстояние.
    • : порог расстояния для признания успеха.
    • : индикаторная функция, 1 при выполнении условия, иначе 0.
    • Проблема: в сложном многомерном пространстве действий манипулятор почти не получает положительной обратной связи при случайном исследовании, и градиент исчезает.
  • Версия V2: плотная награда на основе расстояния (Dense Reward)

    • : вес штрафа за расстояние.
    • Проблема: манипулятор быстро приближается к объекту, но рядом с ним начинает дрожать (Jittering), и он не учится поднимать предмет после захвата.
  • Версия V3: формирование награды (Reward Shaping) — финальная версия с потенциалом и штрафом за действие

    Я ввёл потенциальную функцию на основе разности состояний (Potential-based Reward Shaping), которая сохраняет инвариантность оптимальной политики, и добавил штраф за действие.

    • : расстояние от концевого эффектора до объекта в момент .
    • : разность расстояний, поощряющая приближение к цели на каждом шаге.
    • : штраф по L2-норме величины действия, снижающий энергопотребление манипулятора и уменьшающий резкие грубые движения.
# Псевдокод функции награды V3
def compute_reward(state, action, next_state, success_threshold=0.05):
    # Разбор переменных состояния
    gripper_pos = state['gripper_pos']
    obj_pos = state['obj_pos']
    next_gripper_pos = next_state['gripper_pos']
    next_obj_pos = next_state['obj_pos']
    
    # 1. Штраф за расстояние
    dist_current = np.linalg.norm(gripper_pos - obj_pos)
    dist_next = np.linalg.norm(next_gripper_pos - next_obj_pos)
    r_dist = -1.0 * dist_next
    
    # 2. Потенциальная функция (положительная обратная связь за приближение к цели)
    r_approach = 5.0 * (dist_current - dist_next)
    
    # 3. Награда за успех
    r_success = 100.0 if dist_next < success_threshold else 0.0
    
    # 4. Штраф за действие (плавное управление)
    r_action_penalty = -0.1 * np.linalg.norm(action)**2
    
    total_reward = r_dist + r_approach + r_success + r_action_penalty
    return total_reward

3. Каковы достоинства и недостатки имитационного обучения (IL) и обучения с подкреплением (RL) в воплощённых задачах?

Пример ответа и разбор:

В воплощённом ИИ IL и RL — две стороны одной медали.

Имитационное обучение (Imitation Learning, например Behavior Cloning)

  • Основная логика: задача управления сводится к задаче обучения с учителем.

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

  • Недостатки: смещение ковариат (Covariate Shift). Как только состояние во время тестирования отклоняется от распределения эксперта (например, манипулятор получил толчок), ошибка накапливается экспоненциально по временным шагам , и задача проваливается. Кроме того, потолок производительности IL ограничен уровнем эксперта.

Обучение с подкреплением (Reinforcement Learning)

  • Основная логика: максимизация долгосрочной награды через взаимодействие со средой и проверку гипотез методом проб и ошибок.
  • Преимущества: может обнаруживать «эмерджентное поведение (Emergent Behaviors)», превосходящее эксперта-человека, и очень устойчиво в низкоуровневом управлении движением (Locomotion, например походка четырёхногого робота).
  • Недостатки: сложно проектировать функцию награды (Reward exploitation), а исследование с нуля (Tabula Rasa) в физическом мире очень дорого и может повредить аппаратное обеспечение робота.

Итог: будущий тренд — IL + RL (например, RLHF в воплощённом ИИ или офлайн RL). Сначала с помощью IL на больших объёмах человеческих данных предобучается политика с базовым «здравым смыслом», затем с помощью RL в симуляции или в реальности она дообучается и выравнивается.

4. Какое у вас отношение к моделям VLA (Vision-Language-Action)? В каких сценариях, по-вашему, они подходят лучше всего?

Пример ответа и разбор:

Я очень оптимистично отношусь к моделям VLA (например, RT-2, серия RT-X от Google). Это необходимый путь к универсальной робототехнике (General Purpose Robotics).

  • Суть VLA: действия робота отображаются в то же пространство токенов, что язык и зрение . По сути это мультимодальная условная генеративная модель.

  • Наиболее подходящие сценарии:

    1. Манипуляции с открытым словарём (Open-vocabulary Manipulation): благодаря обширным предобученным знаниям о мире у LLM VLA понимает незнакомые инструкции (например, «дай мне ту игрушку, похожую на Таноса»), что традиционное RL сделать не может.
    2. Долгосрочное планирование задач (Long-horizon Task Planning): в сочетании с цепочкой рассуждений (Chain-of-Thought, CoT) VLA может в сквозном выводе одновременно учитывать высокоуровневую логическую работу и низкоуровневое выводение действий.
  • Текущие ограничения: задержка инференса слишком высока (обычно больше 100 мс), поэтому VLA не подходит для ловкой работы кистью с очень высокой частотой управления (например, 500 Гц) или для задач с высокой динамикой (например, игра в настольный теннис).

5. Базовая логика механизма внимания Transformer, позиционного кодирования RoPE и метода тонкой настройки LoRA.

Пример ответа и разбор:

(1) Механизм внимания (Scaled Dot-Product Attention)

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

  • (Query): вектор, которому нужно найти связанные признаки.
  • (Key): вектор, с которым сопоставляются другие признаки.
  • (Value): вектор фактического содержимого признака.
  • : масштабирующий коэффициент ( — размерность Key), предотвращает исчезновение градиента softmax при слишком больших значениях скалярного произведения.

(2) RoPE (Rotary Position Embedding), позиционное кодирование с поворотом

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

Для вектора признаков на позиции (на примере двумерного случая):

  • : абсолютный индекс позиции токена.

  • : заранее заданный базовый угол поворота.

    Скалярное произведение двух векторов и зависит только от относительной позиции , что существенно повышает обобщающую способность модели при экстраполяции (Extrapolation) длины последовательности.

(3) Логика метода LoRA (Low-Rank Adaptation)

Основная идея: при дообучении предобученной большой модели обновление матрицы параметров обладает очень низким внутренним рангом (Intrinsic Rank). Поэтому не нужно обучать все параметры, достаточно обучить произведение двух низкоранговых матриц.

  • : входной вектор.
  • : замороженная предобученная матрица весов.
  • : обучаемые низкоранговые матрицы.
  • : ранг, причём .
# Псевдокод внутренней логики LoRA (в стиле PyTorch)
import torch.nn as nn

class LoRALinear(nn.Module):
    def __init__(self, in_features, out_features, r=8, alpha=16):
        super().__init__()
        # Замороженные исходные веса (не участвуют в обновлении градиентов)
        self.pretrained_weight = nn.Linear(in_features, out_features, bias=False)
        self.pretrained_weight.weight.requires_grad = False
        
        # Низкоранговые матрицы LoRA A и B
        self.lora_A = nn.Linear(in_features, r, bias=False)
        self.lora_B = nn.Linear(r, out_features, bias=False)
        
        # Коэффициент масштабирования
        self.scaling = alpha / r
        
        # Инициализация: A — гауссово распределение, B — нулевая матрица,
        # чтобы в начальном состоянии Delta W = 0
        nn.init.normal_(self.lora_A.weight)
        nn.init.zeros_(self.lora_B.weight)

    def forward(self, x):
        # Выход исходной ветки + выход низкоранговой ветки * коэффициент масштабирования
        return self.pretrained_weight(x) + self.lora_B(self.lora_A(x)) * self.scaling

6. Принципиальное различие между VLA и World Model; различия в применении авторегрессии (AR) и диффузионных моделей (DM) в управлении воплощённым агентом.

Пример ответа и разбор:

(1) Принципиальное различие VLA и World Model

  • VLA — это «модель политики (Policy Model)»: она отвечает на вопрос «что я вижу и что мне делать». На входе наблюдение (зрение и язык), на выходе действие.

  • World Model (модель мира) — это «модель динамики среды (Dynamics Model)»: она отвечает на вопрос «что будет с миром, если я сделаю именно это». Она изучает вероятности переходов состояний среды.

    Итоговое различие: VLA используется для непосредственного управления роботом; World Model похожа на «физическую интуицию» человеческого мозга и используется для «воображения и предсказания» в голове, обычно вместе с алгоритмами планирования (например, MPC) или как симулятор для RL.

(2) Различия применения авторегрессии (AR) и диффузионной модели (DM) в управлении воплощённым агентом

  • Авторегрессионная модель (Autoregressive):

    Обычно требует дискретизации непрерывного пространства действий (Tokenization). Многомерное действие разбивается по измерениям и генерируется последовательно.

    • : -е измерение действия (например, токен угла одного сустава манипулятора).
    • Особенности: хорошо учитывает мультимодальную семантику, например язык, но скорость инференса низкая, а в непрерывном управлении легко возникают накопленные ошибки между измерениями.
  • Диффузионная модель (Diffusion Model, например Diffusion Policy):

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

    • : действие на шаге после добавления шума.
    • : номер шага диффузии.
    • Особенности: идеально подходит для высокоразмерного непрерывного управления! Хорошо описывает мультимодальное распределение (Multimodal Distribution) в данных человеческой демонстрации (например, препятствие можно обойти слева или справа; при MSE-потере модель усреднит оба варианта и направится прямо в дерево, тогда как DM может точно выдать «слева» или «справа»).

7. Принципы основных алгоритмов PPO, SAC и т. п., их достоинства и недостатки, а также возможности улучшения для конкретных задач.

Пример ответа и разбор:

(1) PPO (Proximal Policy Optimization)

  • Принцип: основан на архитектуре Actor-Critic. Механизм отсечения (Clipping) ограничивает величину обновления политики (доверительная область, Trust Region), обеспечивая монотонный рост и стабильность обучения.

    • : отношение вероятностей новой и старой политики.
    • : функция преимущества (Advantage Function), оценивает, насколько действие лучше среднего.
    • : диапазон отсечения (обычно 0.2).
  • Достоинства и недостатки: очень устойчив к гиперпараметрам, сходится стабильно; но как on-policy алгоритм может использовать только данные, собранные текущей политикой, поэтому эффективность по выборкам очень низкая.

  • Возможности улучшения: в визуальных воплощённых задачах можно использовать асимметричную архитектуру Actor-Critic (Asymmetric Actor-Critic). Вход Critic может быть привилегированным состоянием симулятора (Privileged State: точные координаты объекта, масса), а вход Actor — только изображение с камеры. Это одновременно обеспечивает возможность развёртывания в реальности и сильно ускоряет сходимость сети ценности.

(2) SAC (Soft Actor-Critic)

  • Принцип: как описано в вопросе 1, это off-policy алгоритм на основе максимальной энтропии: нужно не только получать высокую награду, но и сохранять достаточную случайность действий. Для смягчения переоценки Q-значений используются две Q-сети (Double Q-learning) со взятием минимума.
  • Достоинства и недостатки: очень высокая эффективность по выборкам, сильная способность к исследованию, хорошая устойчивость к помехам; недостаток — гиперпараметр (температурный коэффициент) очень сложно подбирать, а алгоритм чувствителен к размерности пространства состояний и масштабу награды.
  • Возможности улучшения: в задачах манипулятора на больших горизонтах по времени исходный SAC сложно сходится. Улучшение — автоматическая настройка энтропии (Automatic Entropy Adjustment): обновляется градиентным спуском по эвристической цели; либо применяется Hindsight Experience Replay (HER) для построения буфера воспроизведения при разреженной награде.