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

Дополнительные детальные вопросы и ответы (набор 2)

Дополнительные вопросы

  1. Непрерывная интерполяция траектории внутри кадра необходима, чтобы по-настоящему решить проблему задержки «восприятие — исполнение» при динамических операциях в реальном мире.

Как именно выполняется эта интерполяция?

  1. Что означает ? Когда именно происходит аварийное прерывание? Какое действие выполняется после прерывания? Робот так и остаётся неподвижным?

  2. Score function позволяет точно аппроксимировать истинное распределение и через сэмплирование Ланжевена (Langevin dynamics) «схлопнуться» либо в «строго влево», либо в «строго вправо». Что за конкретная формула здесь стоит?

  3. Линейное сжатие Mamba по своей сути lossy (с потерями). Что означает «lossy»?

  4. Иерархические семантические якоря: Mamba не должна запоминать все низкоуровневые последовательности действий . «Крупная логика» прошлого абстрагируется VLM в дискретный набор вех (Milestone) (например, «отслаивание ткани завершено»). Эти семантические сведения периодически подаются как высокоразмерный условный вектор :

( — матрица проекции), что поддерживает точную долгосрочную логику.

Как это работает? Приведите подробный пример, конкретный случай.

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

Почему здесь появляется ? Откуда берутся матрицы и в формуле Mamba?

  1. Локальная потеря точности: на коротких последовательностях действий, требующих очень высокочастотной пространственной тонкой настройки, абсолютная успешность Mamba может быть немного ниже, чем у Transformer (обычно на 1–3%). С математической точки зрения это проблема информационного узкого места (Information Bottleneck). Пусть энтропия информации во входной последовательности равна , а ёмкость скрытого состояния фиксированной размерности — . Когда , высокочастотные пространственные признаки неизбежно обрезаются и теряются.

Как вычисляются и ?

  1. Преимущество на длинных последовательностях: при управлении на больших горизонтах времени () распределение softmax у Transformer страдает от разбавления внимания (Attention Dilution) из-за слишком большого знаменателя , и производительность резко падает. Mamba сохраняет высокую частоту инференса и плавность.

Почему у Mamba не возникает разбавления внимания?

  1. «Текущее визуальное состояние» плюс «несколько исторических кадров», отражающих тенденцию, в сочетании с конечной целью из текстовой инструкции уже дают полный семантический контекст для решения MDP.

Почему это так?

  1. Обучение состоит из трёх этапов:

  2. Крупномасштабное предобучение: формирование базового представления изображения и текста.

  3. SFT (контролируемое дообучение): используются большие объёмы видео хирургических операций врачей, из которых извлекаются ключевые кадры и размечаются действия. Минимизируется функция потерь отрицательного логарифмического правдоподобия:

    где — реальная инструкция по действию врача.

  4. Выравнивание (RLHF/DPO): профессиональные врачи дают обратную связь о предпочтениях. На примере DPO (Direct Preference Optimization) политика оптимизируется для безопасных и опасных операций:

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

Приведите конкретный пример сценария.

Что означает параметр softplus?

Что забыть, а что запомнить: параметр шага времени Mamba является линейной проекцией входа :

Когда сеть выучивает, что — бесполезный фон, . Из формулы дискретизации следует, что , а , поэтому обновление скрытого состояния принимает вид . Это и есть «забыть текущее, запомнить историю». Наоборот, когда велико, новый текущий признак записывается в состояние.

Здесь не написано, как вычисляются A и B по отдельности.

  1. Что делать, если потеряна мелкая точка: это структурный недостаток архитектуры. На уровне инженерии вводится гибридная архитектура: параллельно Mamba добавляется высокочастотная ветка обнаружения аномалий . Её признаки напрямую через остаточное соединение (Residual Connection) объединяются с выходом:

Это гарантирует, что мгновенно появившиеся ключевые точки (например, точка кровотечения) обходят сжатие состояния Mamba.

Что такое остаток (residual) в остаточном соединении? Как устроено внутреннее отображение ?

  1. Что такое отказ, вызванный окклюзией?

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

Если происходит сильная окклюзия, уверенность визуального энкодера резко падает. Пусть уверенность визуального предсказания действия равна , а порог уверенности — .

Когда , система обязана понизить режим и опираться на обратную связь по шестимерному моменту концевого эффектора (режим силового управления). Если в этом состоянии , немедленно выполняется стратегия безопасной приостановки (например, отвод инструмента на небольшое безопасное расстояние по его оси с фиксацией суставов), и подаётся сигнал тревоги для передачи управления врачу (контролируемая автономность, Supervised Autonomy).

Что значит «понизить режим» (деградация)?

Что значит «опираться на обратную связь по шестимерному моменту (режим силового управления)»?

  1. Онлайн-идентификация системы + остаточное управление (Online System ID + Residual Policy): при операции на живом организме по реальным действиям и сигналам силы онлайн оценивается неявное механическое представление текущей ткани . Затем остаточная сеть политики компенсирует разрыв Sim-to-Real:

Почему здесь именно остаточное управление? Сложение выглядит для меня странно. Есть ли теоретическое обоснование?

  1. Для обработки дискретных токенов вводится зависящий от входа динамический шаг для дискретизации.

Дискретная рекуррентная формула состояния после дискретизации:

Строгий вывод параметров дискретизации:

  • : дискретный входной токен на шаге .
  • : дискретное скрытое состояние на шаге .
  • : дискретная матрица перехода состояний (определяет, сколько истории сохранить).
  • : дискретная матрица проекции входа (определяет, сколько нового входа принять).
  • : единичная матрица.

Как вычисляется ? Дайте пример.

  1. Генерация Action Chunk диффузией создаёт «слепую зону» открытого контура управления. При нелинейных деформациях тканей в реальном времени во время хирургии нужна строгая замкнутая коррекция:
  • Управление со скользящим горизонтом (Receding Horizon Control, RHC): модель генерирует Chunk из шагов траектории: . Но выполняются только первые шагов (), и в момент заново получается наблюдение и генерируется новый Chunk.

  • Высокочастотное прерывание по мультимодальным сигналам: в течение очень короткого времени учитывается сверхчастотная обратная связь по моменту (датчик силы/момента, Force/Torque Sensor). Пусть текущий измеренный вектор момента равен , а порог безопасности — . Логика контроллера:

    Как только резко выходит за пределы (что означает непредвиденную деформацию ткани), низкоуровневый контроллер немедленно прерывает текущий Chunk.

Как при этом выполняется коррекция? Ткань уже нелинейно сместилась — как система выполняет замкнутую коррекцию? Ведь это означает, что наблюдаемое состояние изменилось.

Ответы на вопросы

1. Как выполняется интерполяция траектории между кадрами?

В embodied AI скорость инференса VLM очень низкая (например, всего 5 Гц), тогда как низкоуровневое управление реальным роботом (например, Franka или Unitree) обычно требует команд с высокой частотой (70 Гц и выше, до 500 Гц и больше, как в сценарии сверхбыстрого инференса 71 Гц 1-NFE, который вы, возможно, исследуете).

Как устроена интерполяция:

Здесь «интерполяция» — это не просто линейная интерполяция между двумя точками, а генерация высокочастотной непрерывной траектории (Action Chunk) моделью Diffusion.

Пусть в момент VLM получает визуальное наблюдение и за 200 миллисекунд выдаёт высокоразмерный признак или целевую точку . За эти 200 миллисекунд без интерполяции робот будет дёргаться.

Модель Diffusion работает с очень высокой частотой (например, 71 Гц): она получает и текущее состояние робота (углы суставов) и напрямую генерирует плавную последовательность действий на будущих шагов:

Эти действий (например, ) физически заполняют «слепую зону» между двумя обновлениями визуальной информации от VLM, поэтому движение манипулятора получается непрерывным и плавным.


2. Что такое ? Когда происходит прерывание? Что делается потом? Остаётся ли робот неподвижным?

  • Что это: означает «приостановку системы» или «стратегию аварийной остановки».

  • Когда происходит прерывание: когда высокочастотный датчик момента (например, шестикомпонентный датчик силы, дискретизация 1000 Гц) регистрирует внешнюю силу , превышающую заданный порог безопасного разрыва ткани , срабатывает прерывание. В течение миллисекунд низкоуровневый контроллер напрямую перехватывает управление и блокирует выход большой модели.

  • Какое действие выполняется: ни в коем случае не застывание на месте. Если хирургический инструмент уже давит на ткань, неподвижность продолжит наносить ткани повреждение. Стандартное действие — податливый отвод (Compliant Retraction):

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


3. Какая конкретная формула стоит за тем, что сэмплирование Ланжевена «схлопывается» в «строго влево» или «строго вправо»?

В диффузионной модели генерация действий — это итеративный процесс денойзинга. Динамика Ланжевена (Langevin Dynamics) использует score function , чтобы шаг за шагом вести чистый случайный шум к областям высокой вероятности (к многообразию реальных физических траекторий).

Конкретная итеративная формула сэмплирования:

  • : последовательность действий с шумом на шаге .
  • : гиперпараметр, управляющий размером шага сэмплирования (аналог learning rate).
  • : score function, предсказываемая U-Net или Transformer. Её физический смысл: «в текущем зашумлённом пространстве действий — направление самого крутого подъёма к реальным разумным действиям».
  • : введённый стандартный гауссов шум.

Как избегается колебание: в начале денойзинга (когда шум велик) модель колеблется между «левым» и «правым». Но по мере уменьшения введённый шум становится всё меньше, и доминирующим становится градиентный член score function. Система испытывает спонтанное нарушение симметрии (Symmetry Breaking) и случайным образом «схлопывается» в один из пиков (например, в полностью левый), что в итоге даёт одну определённую траекторию обхода препятствия.


4. Что означает «lossy» в утверждении, что линейное сжатие Mamba по сути с потерями?

Lossy (с потерями) — понятие из теории информации, противоположное lossless (без потерь).

  • Transformer — без потерь: его KV-кэш целиком хранит все прошлые токены в видеопамяти. Это как снимать всю операцию камерой: любой момент можно воспроизвести в исходном качестве.
  • Mamba — с потерями: независимо от того, идёт операция минуту или час, вся прошлая информация принудительно сжимается и накладывается в вектор фиксированной размерности (например, ). Это как сжать двухчасовой фильм до JPEG-картинки в 100 КБ: старые, менее важные детали (например, то, что 10 минут назад манипулятор слегка дрогнул) стираются в ходе повторных матричных умножений и уже никогда не восстанавливаются точно.

5. Как на практике работают иерархические семантические якоря? Откуда берутся и матрицы , ?

Подробный пример:

Допустим, выполняется операция «холецистэктомия» (удаление желчного пузыря).

Низкоуровневая Mamba управляет манипулятором с частотой 50 Гц, обрабатывая изображения и углы. Через 30 минут, если полагаться только на скрытое состояние нижнего уровня, Mamba может забыть, на каком этапе находится операция.

В этот момент высокоуровневая VLM (например, запускаемая каждые 5 секунд) видит на изображении, что пузырный проток уже пережат клипсой, и выдаёт дискретный семантический токен: «пересечь пузырный проток».

Эта концепция преобразуется в высокоразмерный вектор .

Формула инъекции:

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

Откуда берутся A и B и почему ?

  • Происхождение A и B: в теории моделей пространства состояний (SSM) матрица обычно инициализируется как HiPPO-матрица (особая матрица, оптимально запоминающая историю полиномами), а затем становится обучаемым параметром, который дообучается вместе с сетью. — параметры линейного слоя, проецирующего вход в скрытое пространство.
  • О : в формуле состояние (размерность состояния ), а — квадратная матрица. Умножение матрицы на вектор имеет сложность . (Примечание: в реальной реализации Mamba авторы использовали допущение о диагональности , что превращает операцию в поэлементное умножение, и на практике сложность одного шага снижается до . На собеседовании стоит упомянуть этот момент — это большой плюс.)

6. Как вычисляются и в задаче информационного узкого места?

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

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

  • (ёмкость скрытого состояния): мера того, сколько бит может нести вектор скрытого состояния Mamba. Если размерность состояния равна , а используются 16-битные числа с плавающей точкой (FP16), то абсолютный физический предел ёмкости равен бит.

  • Вывод: когда точность операции так высока, что требуемое число бит превышает общую битовую ёмкость вектора состояния, данные переполняются, и высокочастотные пространственные признаки физически обрезаются.


7. Почему у Mamba не возникает разбавления внимания (Attention Dilution)?

  • Почему разбавление есть у Transformer: веса внимания равны . Знаменатель softmax — . Когда длина последовательности достигает десятков тысяч (несколько часов операции), знаменатель становится огромным, и большинство полезных локальных весов стремится к (они «разбавляются»).
  • У Mamba разбавления нет: Mamba не вычисляет глобальный softmax! Она использует гейтинговую переменную , чтобы решить, «перезаписать» или «сохранить» информацию. При встрече с важной информацией она напрямую переписывает соответствующие нейроны в и не конкурирует с предыдущими десятками тысяч токенов в нормировке. Поэтому, сколько бы ни было , сила отклика на ключевую информацию не размывается.

8. Почему «текущее визуальное состояние + несколько исторических кадров + инструкция» достаточно для решения MDP?

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

  • Текущий визуальный кадр даёт положение всех объектов .

  • Три исторических кадра через конечные разности неявно дают скорость и ускорение .

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


9. Пример сценария для RLHF/DPO

Пусть задача — «удалить полип».

  • (контекст): на экране полип рядом с сосудом, манипулятор держит электрод.
  • (хорошее действие): модель медленно перемещает электрод и режет в направлении от сосуда.
  • (плохое действие): модель делает слишком большое движение, задевает полип, но также повреждает соседний сосуд.
  • Как работает DPO: врач видит действие и помечает его как «опасное». — обучаемая модель, — замороженная исходная модель. В формуле вероятность хорошего действия постепенно растёт, а принудительно снижает вероятность опасного действия . В итоге модель становится «крайне осторожной».

10. Что означает softplus? Как связана с A и B?

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

  • Как вычисляются A и B здесь:

    В архитектуре Mamba матрица обычно является фиксированным или медленно обучаемым глобальным параметром (для сохранения истории); динамически генерируется из текущего входа:

    Дискретизированное определяется совместно , непрерывным и непрерывным :

    (при имеем , и , то есть новые входные данные не поглощаются.)


11. Что такое остаточное соединение? Что представляет внутреннее отображение ?

  • Остаточное соединение (Residual Connection): . Идея: если путь Mamba со сжатием состояния потерял информацию, мы прокладываем «зелёный коридор» и добавляем исходную информацию к конечному результату.
  • Внутреннее отображение : это может быть очень компактная и быстрая свёрточная сеть (CNN) или многослойный перцептрон (MLP). Её задача очень узкая: специально обнаруживать резкий рост площади красных (кровяных) пикселей в кадре или мгновенные импульсы на датчике момента. Как только такое обнаружено, она выдаёт сильный отклик, который через остаточный канал напрямую влияет на итоговый выход , минуя медленный механизм памяти Mamba.

12. Что такое деградация системы? Что означает обратная связь по шестимерному моменту?

  • Деградация (Degradation): как у автопилота в сильный туман, когда камеры не видят. Система автоматически переходит с «высокоуровневого ассистированного вождения с видеокамерами (NOA)» на «адаптивный круиз-контроль (ACC) только с радаром». Здесь сложное управление «визуальной большой моделью в сквозном режиме» деградирует до самого базового «классического промышленного физического управления роботом».
  • Шестимерная обратная связь по моменту (6D Force-Torque): вы наверняка знаете датчик (F/T Sensor) на фланце манипулятора Franka. В режиме силового управления машина больше не полагается на изображения, а опирается исключительно на «ощущение». Шесть измерений — это три силы (Force) по осям и три момента (Torque) вокруг осей . Даже если глаза ничего не видят, рука ощущает сопротивление (контакт с тканью) и по заданным механическим правилам (например, адмиттансному управлению) отводится назад по направлению силы.

13. Почему именно остаточное управление? Какое теоретическое обоснование у простого сложения?

Почему формула именно ?

  • Теоретическое обоснование сложения: оно опирается на подавление возмущений (Disturbance Rejection) из теории управления и на Residual RL из обучения с подкреплением.
  • Почему не переобучать напрямую:
    1. В реальном физическом мире (особенно на живом организме) собрать сотни тысяч неудачных хирургических данных для дообучения большой модели невозможно (слишком низкая эффективность выборки, слишком высокая цена).
    2. уже выучила в симуляции (например, Isaac Sim/Lab) очень устойчивую базовую траекторию операции (скелет).
    3. Различия реального мира (например, свиная ткань скользче, чем в симуляции) — это лишь высокочастотное возмущение малой амплитуды. Если небольшая сеть учится выдавать лишь малую компенсирующую поправку (например, «нажать на миллиметр сильнее влево»), то обучение идёт очень быстро, а после ограничения амплитуды система остаётся безопасной и не ломает общую логику .

14. Как вычисляется ? Дайте пример.

Формула вычисления:

где — обученная матрица весов, а — вектор признаков текущего входа.

Конкретный пример:

Представим, что вы разрезаете ткань:

  • Момент : на изображении скальпель движется над тканью, ничего не происходит. Модель уже выучила, что это избыточное действие. даёт небольшое отрицательное число, после softplus получаем . Система считает эту картинку «бесполезным фоном», и скрытое состояние почти не меняется.
  • Момент : на изображении кончик скальпеля только что проткнул ткань, появилась небольшая кровоточивость. Признаки модели распознают ключевую физическую точку контакта! даёт большое положительное число, после softplus получаем . Этот большой шаг мгновенно активирует матрицу и принудительно записывает состояние «ткань уже проткнута» в , предписывая следующему шагу замедлиться.

15. Как RHC корректирует нелинейное смещение ткани?

Конкретный процесс коррекции:

В момент диффузионная модель смотрит на изображение, видит полип в координатах , и генерирует идеальный Chunk из 20 шагов, рассчитанный на 2 секунды для захвата полипа.

  • Без RHC (открытый контур): манипулятор выполняет все 20 шагов «с закрытыми глазами». Но на 0.5 секунде ткань нелинейно смещается, полип скатывается в . Оставшиеся 1.5 секунды движений промахиваются и могут даже повредить ткань.

  • С RHC (замкнутый контур):

    1. В момент генерируется Chunk на 20 шагов, но выполняются только первые 2 шага.

    2. После выполнения двух шагов (всего 0.2 секунды) немедленно делается новый снимок (получаем наблюдение ).

    3. На этом новом снимке ясно видно, что полип сдвинулся, его текущие координаты .

    4. Диффузионная модель использует самое свежее изображение в качестве условия, отказывается от старой траектории и заново генерирует новый Chunk на 20 шагов.

    5. Процесс повторяется.

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


Дополнительные вопросы 1

  1. Что такое score-функция ? Её нужно обучать?

  2. Что такое матрица HiPPO, которой инициализируется ? Подробно объясните и приведите конкретный численный пример. На практике матрицу часто приводят к диагональному виду. Так ли это?

  3. Как вычисляется «гейтинговая» переменная ? Дайте конкретный пример вычисления. Каков её физический смысл?

  4. Остаточное соединение (Residual Connection): . Идея в том, что если путь Mamba со сжатием состояния потерял информацию, исходную информацию можно прямо добавить к результату по «зелёному коридору». Но если это сложение, почему это называется «остатком» (residual)?

Ответы на дополнительные вопросы 1

1. Нужно ли обучать score-функцию ?

Обязательно нужно, и именно в этом заключается всё ядро обучения диффузионной модели.

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

  • Роль большой модели: поскольку вычислить её нельзя, мы используем нейронную сеть (U-Net или Transformer), чтобы приблизить её. Определим сеть как , её цель — приблизиться к истинному .

  • Элегантная эквивалентность (объединение DDPM и score-based моделей): по формуле Твиди (примечание 1) и теории денойзинг-сопоставления score (Denoising Score Matching), score текущего состояния математически строго пропорциональна добавленному шуму:

    Поэтому в инженерной реализации U-Net выводит не «вектор score» напрямую, а предсказанный шум . Обучение состоит в том, чтобы MSE-потерями заставить предсказанный шум приближаться к действительно добавленному:

    Таким образом, обучение диффузионной модели по сути и есть обучение этой score-функции.


2. Что такое матрица HiPPO? Приводится ли она на практике к диагональному виду?

HiPPO (High-order Polynomial Projection Operators) — математическая схема, которая оптимально «запоминает» непрерывную историю сигнала.

  • Принцип: чтобы конечномерное скрытое состояние запоминало бесконечно длинную историю последовательности, лучший способ — не простое затухание (как в RNN), а проекция истории сигнала на ортогональный базис полиномов (например, полиномы Лежандра, Legendre Polynomials). Матрица HiPPO — матрица перехода состояний, полученная из этого вывода.

  • Конкретный числовой пример: возьмём классическую HiPPO-LegS (масштабированные Лежандровы полиномы). Её непрерывная матрица определяется так:

    при :

    при :

    при :

    Если взять минимальную размерность состояния , матрица выглядит так (нижнетреугольная):

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

  • Диагонализация на практике:

    Ваша интуиция верна: в инженерной практике её обязательно диагонализируют.

    Если вы изучали эволюцию от S4 к Mamba, то увидите:

    1. Чистая матрица HiPPO — плотная нижнетреугольная матрица, и вычисление матричной экспоненты и матричных умножений на каждом шаге слишком медленно.
    2. В статье S4 авторы использовали математический приём, диагонализующий матрицу HiPPO в виде , и в комплексной области вычисляли только комплексные собственные значения на диагонали .
    3. В Mamba это сделано радикальнее: авторы выяснили, что не нужно тщательно инициализировать идеальную HiPPO и затем диагонализовать её. Mamba напрямую параметризует как вещественную диагональную матрицу (Real Diagonal Matrix). Это очень эффективно на аппаратуре (GPU SRAM), сложность параллельного скана (Parallel Scan) становится минимальной, а в сочетании с зависящим от данных производительность памяти достигает или даже превосходит исходную HiPPO.

3. Как вычисляется гейтинговая переменная ? Каков её физический смысл?

Пример вычисления:

— скаляр (или вектор, расширяемый вещательно), и вычисляется полностью по текущему входу (например, текущему визуальному токену) через линейный слой и функцию активации:

Пусть веса линейного слоя уже обучены.

  • Сценарий A (бесполезная информация): робот смотрит на белую стену (избыточный фон), .

    (очень маленькое значение).

  • Сценарий B (ключевая информация): робот видит момент касания скальпеля с тканью, .

    (очень большое значение).

Физический смысл:

  • В непрерывной динамике — физический шаг дискретизации времени (например, с).

  • Но в Selective Scan Mamba становится зависящей от данных скоростью поглощения информации (Information Absorption Rate).

    По формуле дискретизации (напомним, отрицательно):

  • При имеем . Система «замораживает» время, скрытое состояние сохраняется (), и текущий бесполезный вход игнорируется.

  • При большом имеем . Система «ускоряет» время, стирая старую инерцию истории, и сильно поглощает текущие ключевые новые признаки, записывая их в скрытое состояние.


4. Почему называется «остатком» (Residual)?

Чтобы понять это, нужно вернуться к сути ResNet (остаточных сетей).

Допустим, в каком-то слое сети мы хотим выучить целевое базовое отображение .

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

  • Идея остаточной сети: раз напрямую учить трудно, преобразуем формулировку и заставим нелинейный слой учить разность между целевым значением и входом:

    В математике и статистике разность между наблюдаемым (или целевым) значением и базовым (или входным) значением строго определяется как остаток (Residual).

    Поэтому нелинейный слой учит именно «остаток».

    Наконец, чтобы получить нужный выход (то есть ), прибавляем обратно базовое значение :

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


Дополнительные вопросы 2

  1. Что такое полиномы Лежандра? Как они вычисляются и применяются в нашей области? Приведите пример.

  2. В статье S4 авторы использовали приём, диагонализующий матрицу HiPPO как , и в комплексной области вычисляли только диагональные комплексные собственные значения .

Что такое ? Её что, в конце не сохраняют?

  1. Mamba напрямую параметризует как вещественную диагональную матрицу. Как именно её параметризовать? Есть ли численные требования?

  2. Напишите на PyTorch краткий псевдокод ядра прямого прохода Mamba, включающий дискретизацию и параллельный скан (Parallel Scan).

Ответы на дополнительные вопросы 2

1. Что такое полиномы Лежандра? Как их вычисляют и применяют в HiPPO? Пример.

Что это:

В математике полиномы Лежандра — набор базисных функций, ортогональных на отрезке . Их можно понимать как «полиномиальный аналог преобразования Фурье»: Фурье раскладывает сигнал по синусам и косинусам, а полиномы Лежандра — по ортогональной комбинации .

Первые несколько:

Применение в SSM/HiPPO:

В непрерывном управлении роботом или видеопотоке сигнал поступает непрерывно. Невозможно хранить в памяти всю непрерывную историю от до текущего момента.

Основная идея HiPPO: ортогональная полиномиальная проекция непрерывного сигнала.

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

Нужно запомнить лишь коэффициентов, и бесконечная история сжимается в -мерный вектор состояния .

Пример вывода и вычисления:

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

Здесь матрица естественно строится из коэффициентов рекуррентного соотношения производных полиномов Лежандра! Именно поэтому матрица HiPPO имеет характерный нижнетреугольный вид (как указано выше: ). Это не выдумка, а закономерный результат перегруппировки коэффициентов после дифференцирования ортогональных полиномов.


2. Что такое в диагонализации S4? Её что, в итоге не сохраняют?

Вывод: действительно отбрасывается (точнее, «поглощается»). В реальном прямом проходе нейросети вычислять и хранить не нужно.

Математическое доказательство:

В S4 непрерывное уравнение состояния:

Выполняем собственное разложение матрицы (eigendecomposition): . Здесь — диагональная матрица, на диагонали которой стоят комплексные собственные значения, — матрица собственных векторов.

Подставляем в исходное уравнение и делаем замену базиса (Change of Basis).

Определим новое скрытое состояние и умножим оба уравнения на :

Для выхода:

Инженерное чудо:

Преобразованная система выглядит так:

где , .

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

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


3. Как параметризовать как вещественную диагональную матрицу? Есть ли численные требования?

Автор Mamba Альберт Гу сделал в инженерии очень прямолинейное упрощение: поскольку комплексные диагональные матрицы на GPU всё равно неудобны, он просто упростил их до чисто вещественных диагональных матриц, и сделал их зависящими от данных.

Численные требования:

Диагональные элементы должны быть строго отрицательными.

Почему? Потому что при дискретизации .

  • Если , то , и скрытое состояние при рекуррентном шаге экспоненциально растёт, сеть мгновенно выдаёт NaN.
  • Только при выражение даёт гейт затухания в интервале , что обеспечивает BIBO-устойчивость динамической системы (ограниченный вход даёт ограниченный выход).

Конкретная параметризация в PyTorch:

Чтобы градиенты при обратном распространении не делали положительным, инженерно используется приём экспоненциальной репараметризации (Exponential Reparameterization):

В коде на самом деле инициализируется не , а обучаемый параметр (nn.Parameter).

Что бы ни стало в процессе обучения, всегда остаётся отрицательным.

В исходном коде Mamba обычно инициализируется последовательностью от до вдоль размерности признаков, то есть:

. Так разные каналы (Channel) получают разные скорости «забывания истории», что позволяет захватывать признаки разных временных масштабов.


4. Напишите краткий псевдокод ядра прямого прохода Mamba с дискретизацией и параллельным сканом

На собеседовании написание такого псевдокода может стать решающим. Ниже — понятная чисто PyTorch-версия, в которой внутренний поток данных виден с комментариями о точке замены на параллельный скан.

import torch
import torch.nn as nn
import torch.nn.functional as F

class MambaCore(nn.Module):
    def __init__(self, d_model, d_state):
        super().__init__()
        self.d_model = d_model
        self.d_state = d_state # Размерность скрытого состояния N

        # 1. Параметризация вещественной диагональной матрицы A (инициализация -1, -2, ..., -N)
        A_init = torch.arange(1, d_state + 1, dtype=torch.float32)
        self.A_log = nn.Parameter(torch.log(A_init)) # Обучаем log(A)

        # 2. Линейные слои, генерирующие B, C и Delta, зависящие от входа x_t
        self.x_proj = nn.Linear(d_model, d_state * 2 + d_model) # Выводит сырые значения B, C и Delta
        self.dt_proj = nn.Linear(d_model, d_model) # Отдельная проекция для дальнейшей обработки Delta

    def forward(self, x):
        """
        x: (batch_size, seq_len, d_model)
        """
        B, L, D = x.shape

        # Строго обеспечиваем, что A — диагональ из отрицательных чисел
        # Размерность A: (d_state,)
        A = -torch.exp(self.A_log)

        # 1. Вычисляем зависящие от данных B, C, Delta
        x_proj = self.x_proj(x) # (B, L, d_state * 2 + d_model)

        # Разбиваем признаки
        delta_raw, B_t, C_t = torch.split(x_proj, [self.d_model, self.d_state, self.d_state], dim=-1)

        # Применяем softplus к Delta, чтобы шаг был положительным
        # Размерность Delta: (B, L, d_model)
        Delta_t = F.softplus(self.dt_proj(delta_raw))

        # 2. Дискретизация ZOH (Zero-Order Hold)
        # Для эффективности Mamba использует broadcasting с поэлементным умножением вместо плотного матричного умножения

        # Выравнивание размерностей: Delta_t (B, L, D, 1) * A (d_state,) -> (B, L, D, d_state)
        Delta_A = Delta_t.unsqueeze(-1) * A.view(1, 1, 1, -1)

        # A_bar: (B, L, d_model, d_state)
        A_bar = torch.exp(Delta_A)

        # B_bar: в исходном коде Mamba обычно используется упрощённая дискретизация B_bar = Delta * B
        # (или разложение первого порядка). Здесь приведена упрощённая форма ZOH (форма B_t: B, L, 1, d_state)
        B_bar = Delta_t.unsqueeze(-1) * B_t.unsqueeze(-2)

        # 3. Процесс сканирования (Scan)
        # ======= Ключевой момент для собеседования =======
        # Здесь цикл for показывает реальную последовательность рекуррентных вычислений.
        # В низкоуровневой CUDA-реализации Mamba (selective_scan_fn) этот O(L) цикл заменяется
        # параллельным ассоциативным сканом (Parallel Associative Scan) по алгоритму Blelloch.
        # Он использует идею префиксных сумм, распараллеливая последовательные вычисления в SRAM GPU
        # и снижая время до O(log L).
        # =======================================

        h = torch.zeros(B, self.d_model, self.d_state, device=x.device)
        ys = []

        for t in range(L):
            A_bar_t = A_bar[:, t, :, :]   # (B, d_model, d_state)
            B_bar_t = B_bar[:, t, :, :]   # (B, d_model, d_state)
            x_t = x[:, t, :].unsqueeze(-1) # (B, d_model, 1)
            C_t_curr = C_t[:, t, :].view(B, 1, self.d_state) # (B, 1, d_state)

            # Обновление состояния h_t = A_bar * h_{t-1} + B_bar * x_t
            # Поскольку A_bar — диагональная матрица, это вырождается в поэлементное умножение
            h = A_bar_t * h + B_bar_t * x_t

            # Проекция на выход y_t = C_t * h_t (поэлементное умножение с суммированием)
            y_t = torch.sum(h * C_t_curr, dim=-1) # (B, d_model)
            ys.append(y_t)

        y = torch.stack(ys, dim=1) # (B, L, d_model)

        return y

Ключевые моменты:

  1. Только поэлементное умножение без матричного: поскольку параметризовано как вещественная диагональная матрица, A_bar_t * h — очень эффективное поэлементное умножение, а не дорогой matmul.
  2. Физический смысл: Delta_t управляет гейтом затухания A_bar. При большом Delta_t A_bar стремится к 0, и история быстро забывается; при малом Delta_t A_bar стремится к 1, и память сохраняется.
  3. Суть параллельного скана: рекуррентность h_t = A_t * h_{t-1} + B_t x_t обладает свойством ассоциативности (Associative Property). Если операция ассоциативна, её можно распараллелить с помощью алгоритма параллельных префиксных сумм на GPU. Именно поэтому Mamba избавляется от последовательной рекуррентности RNN и достигает скорости обучения, сравнимой с Transformer.

Дополнительные вопросы 3

  1. Я понимаю так: если у большой модели нет нового выхода, в диффузионную модель подаётся предыдущий выход как текущий входной сигнал для вывода.

  2. Одинаковы ли режим перетаскивания без усилия (нулевой силы) и режим импедансного управления?

  3. Есть ли у функции score конкретные формулы?

  4. Изменит ли наложение скрытого состояния среднее и дисперсию исходного латентного вектора? Скорее всего, да. Сможет ли Mamba тогда нормально работать? Нужно ли во время обучения добавлять такой условный вектор?

  5. Последний вопрос, шестой: здесь выглядит как постоянная величина, верно? Небольшая константа?

Ответы на дополнительные вопросы 3

1. Если большая модель не выдала нового результата, подаётся ли предыдущий выход в диффузионную модель?

Полностью верно.

В теории управления это называется стратегией удержания нулевого порядка (Zero-Order Hold, ZOH).

Когда VLM (частота, например, 1 Гц) выдаёт целевой вектор (например, координаты иглы для шва или соответствующий семантический эмбеддинг), в течение следующей секунды, даже если нижняя диффузионная модель (частота, например, 50 Гц) выполнит 50 выводов, условие этих 50 выводов будет «зафиксировано» как . Условие обновится только тогда, когда VLM в следующую секунду выдаст . Так в паузах, пока VLM «думает», нижний уровень сохраняет высокочастотную плавную интерполяцию и обход препятствий.

2. Одинаковы ли режим перетаскивания без усилия (нулевой силы) и импедансное управление?

Нет. Хотя оба режима делают робота «мягким», физические уравнения у них совершенно различны.

  • Режим перетаскивания без усилия (компенсация гравитации, Gravity Compensation):

    • Принцип: система по динамической модели робота в реальном времени вычисляет силу тяжести, действующую на каждый сустав в текущей позе, и моторы выдают момент той же величины и противоположного направления, чтобы её компенсировать.
    • Ощущение: робот переходит в состояние «невесомости», как будто парит в космосе. Вы можете сдвинуть его одним пальцем, и он останется там, куда его отвели (как пластилин). У него нет тенденции вернуться в исходное положение.
  • Импедансное управление (Impedance Control):

    • Принцип: на конце строится виртуальная система «масса — пружина — демпфер». Основное уравнение:

      (где — жёсткость, — демпфирование, — целевое положение, — внешняя сила).

    • Ощущение: робот ведёт себя как пружина. Если вы его толкнёте, он податливо отойдёт (благодаря демпфированию и жёсткости он не «бьёт» жёстко, как камень); но как только вы отпустите, он самостоятельно вернётся в исходное целевое положение . Во время операции при столкновении с неодолимой тканью импедансное управление позволяет избежать жёсткого разрыва, а после исчезновения столкновения продолжить операцию.

3. Есть ли у score-функции конкретные формулы?

Да. В диффузионных моделях, особенно в непрерывных основанных на score генеративных моделях (Score-based Generative Models), формулы очень изящны.

  • Определение: score-функция по сути — логарифмический градиент плотности вероятности данных:

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

  • Цель обучения (Score Matching):

    Через процесс добавления шума сделаем цель вычислимой. По сути обучение заставляет нейросеть предсказывать добавленный шум , потому что в этом выводе score в точности равен отрицательному шуму, делённому на дисперсию:

  • Процесс сэмплирования (дискретизация динамики Ланжевена, Langevin Dynamics):

    То есть делается полшага вдоль градиента, а затем добавляется небольшое случайное возмущение для исследования мультимодального распределения.

4. Изменит ли наложение скрытого состояния среднее и дисперсию латентного вектора? Сможет ли Mamba нормально работать? Нужно ли добавлять условный вектор при обучении?

Вы уловили ключевую проблему: если просто складывать (), среднее и дисперсия точно начнут взрываться, и модель полностью развалится (OOD, сдвиг распределения вне обучающего).

  • При обучении это обязательно нужно учитывать: раз условие подаётся при инференсе, при обучении нельзя обучать модель «вслепую». Модуль инъекции условия должен входить в весь прямой проход обучения, чтобы сеть заранее адаптировалась к такому изменению распределения.

  • Инженерное решение (механизм FiLM):

    В реальных больших или видеогенеративных моделях кросс-модальные условия редко объединяют простым сложением. Обычно используют FiLM (Feature-wise Linear Modulation) или механизм Cross-Attention. Если FiLM, формула такая:

    Семантический вектор VLM пропускается через небольшой MLP, который выдаёт два параметра масштабирования и сдвига и . Такое аффинное преобразование (масштабирование + сдвиг) вместе с последующей нормализацией LayerNorm или RMSNorm позволяет внедрить семантическую информацию в Mamba и одновременно жёстко удерживает дрейф среднего и дисперсии, обеспечивая нормальный инференс Mamba.

5. — это небольшая константа, верно?

Да, совершенно верно.

  • Заглавное — длина последовательности (Sequence Length), например, если на вход подано 10 000 кадров хирургического видео, то .
  • Строчное — размерность скрытого состояния Mamba (State Dimension), или количество характерных каналов. На практике обычно задаётся небольшими значениями: 16, 64, 128 или 256.
  • Поскольку — заданный человеком постоянный гиперпараметр (константа), при оценке сложности, растущей с длиной последовательности , можно рассматривать как , то есть линейную сложность. Именно поэтому Mamba может «раздавить» Transformer с его : в Transformer со временем видеопамять растёт квадратично, а в Mamba — линейно.

Формула Твиди (Tweedie’s Formula) — замечательный инструмент из байесовской статистики. Её главный вклад: если вы наблюдаете образец, зашумлённый гауссовым шумом, и при этом знаете «score» (градиент логарифма вероятности) этого шумового распределения, то можно записать оптимальную оценку исходного изображения.

В контексте диффузионных моделей (Diffusion Models) она объясняет, почему «предсказание шума» и «оценка score» по сути делают одно и то же.


1. Математическое выражение: как по шуму увидеть истину

Пусть есть исходный сигнал (например, чистое изображение), добавим гауссов шум и получим наблюдение .

По формуле Твиди при заданном наблюдении апостериорное математическое ожидание исходного сигнала (то есть наиболее надёжная оценка очистки от шума) записывается так:

Здесь два ключевых члена:

  • : текущее наблюдение (зашумлённые данные).
  • : это и есть score — направление градиента логарифма вероятности распределения данных в точке .

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


2. Почему это объединяет DDPM и Score-based Model?

В диффузионной модели состояние на шаге с шумом выражается так:

Если подставить это в формулу Твиди и провести простые алгебраические преобразования (считая переменной , а — переменной ), получим:

С другой стороны, восстановление из исходного определения (через добавленный шум) даёт:

Сравнивая эти два выражения, легко получить вывод:

Это и есть соотношение , о котором шла речь.


3. Суть: разные пути к одной цели

Формула Твиди сыграла роль «моста» в развитии диффузионных моделей:

  • Score-based Models (сопоставление score): считают, что нужно учиться тому, как спуститься по склону обратно в область высокой вероятности (учить ).
  • DDPM (диффузионные модели): считают, что нужно учиться «вычитать» добавленный шум (предсказывать ).

Формула Твиди показывает: пока существует гауссов шум, «предсказание шума» по сути и есть моделирование функции score.

Поэтому в коде может стоять loss = MSE(pred_noise, true_noise), а в статье написано, что это «сопоставление score». Предсказывая шум, сеть неявно осваивает геометрию структуры распределения данных.


Как по наблюдаемому и градиенту распределения (score) приблизиться к исходному .


1. Подготовка: определение прямого зашумления

В DDPM репараметризованная формула перехода от чистого образца к зашумлённому на шаге :

Из неё можно выразить :


2. Подключаем формулу Твиди

Формула Твиди утверждает, что для данных, которые удовлетворяют экспоненциальному семейству распределений (гауссово распределение — частный случай), при заданном наблюдении эмпирическая байесовская оценка среднего (наилучший результат очистки от шума) равна:

В контексте диффузионных моделей сопоставляем переменные:

  • наблюдение соответствует зашумлённому состоянию на шаге ;
  • исходный сигнал соответствует сигналу на шаге (заметим: Твиди оценивает среднее со множителем);
  • дисперсия шума соответствует дисперсии добавленного шума .

Подставляем в формулу Твиди:

Выражаем оценку :


3. Ключевое эквивалентное преобразование

Теперь сравниваем формулу A и формулу B:

  • Из определения (A):
  • Из формулы Твиди (B):

Чтобы эти равенства выполнялись, средние члены должны строго совпадать:

Отсюда получаем знаменитое эквивалентное соотношение:


4. Вывод: почему U-Net выводит шум?

Это соотношение раскрывает глубокий инженерный смысл:

  1. Математическая эквивалентность: score-функция распределения данных численно пропорциональна шуму , предсказываемому сетью.
  2. Инженерное удобство: при score стремится к бесконечности (распределение данных становится очень острым), и такую величину трудно обучать нейросети. Шум всегда подчиняется стандартному нормальному распределению, и его величина стабильна.
  3. Предсказание шума = поиск градиента: когда вы обучаете U-Net предсказывать шум с помощью MSE, вы по сути учите сеть, как из области низкой вероятности (зашумлённая область) указать направление к области высокой вероятности (область данных).

Именно эта эквивалентность — фундамент, на котором стоит успех диффузионных моделей.


Почему собственные значения матрицы с отрицательной действительной частью обеспечивают устойчивость динамической системы?

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

В HiPPO и более общих моделях пространства состояний (SSM) эволюция состояния обычно подчиняется линейному обыкновенному дифференциальному уравнению:

Чтобы анализировать устойчивость, в первую очередь изучим «однородное решение» (то есть поведение самой системы без внешнего входа ): .


1. Экспоненциальное затухание из общего решения

Для линейного дифференциального уравнения первого порядка общее решение всегда связано с экспоненциальной функцией:

Если разложить матрицу на собственные значения (предполагая, что её можно диагонализовать, ), решение распадается на сумму нескольких собственных мод:

Здесь — собственные значения матрицы . Теперь посмотрим, как каждый член меняется со временем.

Поскольку собственные значения обычно комплексные, запишем их как (где — действительная часть, — мнимая). По формуле Эйлера:

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

2. Физический смысл в матрице HiPPO

Задача HiPPO — «память». Если собственные значения имеют отрицательную действительную часть, это значит:

  • Предотвращение численного переполнения: при обработке очень длинных последовательностей (например, 10 тысяч или даже миллион шагов), если система немного неустойчива (действительная часть положительна), ошибки экспоненциально усиливаются, и скрытое состояние превращается в NaN.
  • Плавное затухание (забывание): отрицательная действительная часть обеспечивает управляемое постепенное затухание «исторической информации». Замечательность матрицы HiPPO в том, что её собственные значения располагаются в левой полуплоскости комплексной плоскости с определённым распределением, позволяющим улавливать связи разных временных масштабов, а не просто стирать всё подряд.
  • «Сток» системы (Sink): на фазовой плоскости это означает, что все траектории состояния в конечном счёте притягиваются к началу координат, а не разлетаются.

3. Почему все элементы A у HiPPO отрицательные?

Рассмотрим уже упомянутую матрицу HiPPO-LegS:

Это нижнетреугольная матрица. Для нижнетреугольной матрицы собственные значения — это элементы на её диагонали.

В этом примере собственные значения равны . Все они — отрицательные вещественные числа.

Это гарантирует:

  1. Абсолютную устойчивость: мнимой части нет, значит, система не колеблется, а плавно сходится.
  2. Многомасштабную память: собственные значения соответствуют разным скоростям затухания. Эти различия в скорости как раз соответствуют полиномам Лежандра разных порядков, позволяя точно описывать «форму» исторического сигнала.

Итог:

Знак действительной части собственных значений определяет, выступает ли система как «усилитель» (рост) или как «демпфер» (потери). В HiPPO отрицательная действительная часть играет роль «силы тяжести»: когда система непрерывно получает новые сведения, она всё же остаётся на устойчивой траектории и не выходит из-под контроля из-за накопления информации.