Дополнительные детальные вопросы и ответы (набор 2)
Дополнительные вопросы
- Непрерывная интерполяция траектории внутри кадра необходима, чтобы по-настоящему решить проблему задержки «восприятие — исполнение» при динамических операциях в реальном мире.
Как именно выполняется эта интерполяция?
-
Что означает ? Когда именно происходит аварийное прерывание? Какое действие выполняется после прерывания? Робот так и остаётся неподвижным?
-
Score function позволяет точно аппроксимировать истинное распределение и через сэмплирование Ланжевена (Langevin dynamics) «схлопнуться» либо в «строго влево», либо в «строго вправо». Что за конкретная формула здесь стоит?
-
Линейное сжатие Mamba по своей сути lossy (с потерями). Что означает «lossy»?
-
Иерархические семантические якоря: Mamba не должна запоминать все низкоуровневые последовательности действий . «Крупная логика» прошлого абстрагируется VLM в дискретный набор вех (Milestone) (например, «отслаивание ткани завершено»). Эти семантические сведения периодически подаются как высокоразмерный условный вектор :
( — матрица проекции), что поддерживает точную долгосрочную логику.
Как это работает? Приведите подробный пример, конкретный случай.
Mamba (): Mamba обрабатывает последовательность через скрытое состояние фиксированной размерности. После дискретизации обновление состояния имеет вид . Для каждого нового токена требуется только умножение вектора на матрицу, и сложность одного шага постоянна: или меньше (после диагонализации). Для последовательности длины общая сложность равна , то есть растёт линейно.
Почему здесь появляется ? Откуда берутся матрицы и в формуле Mamba?
- Локальная потеря точности: на коротких последовательностях действий, требующих очень высокочастотной пространственной тонкой настройки, абсолютная успешность Mamba может быть немного ниже, чем у Transformer (обычно на 1–3%). С математической точки зрения это проблема информационного узкого места (Information Bottleneck). Пусть энтропия информации во входной последовательности равна , а ёмкость скрытого состояния фиксированной размерности — . Когда , высокочастотные пространственные признаки неизбежно обрезаются и теряются.
Как вычисляются и ?
- Преимущество на длинных последовательностях: при управлении на больших горизонтах времени () распределение softmax у Transformer страдает от разбавления внимания (Attention Dilution) из-за слишком большого знаменателя , и производительность резко падает. Mamba сохраняет высокую частоту инференса и плавность.
Почему у Mamba не возникает разбавления внимания?
- «Текущее визуальное состояние» плюс «несколько исторических кадров», отражающих тенденцию, в сочетании с конечной целью из текстовой инструкции уже дают полный семантический контекст для решения MDP.
Почему это так?
-
Обучение состоит из трёх этапов:
-
Крупномасштабное предобучение: формирование базового представления изображения и текста.
-
SFT (контролируемое дообучение): используются большие объёмы видео хирургических операций врачей, из которых извлекаются ключевые кадры и размечаются действия. Минимизируется функция потерь отрицательного логарифмического правдоподобия:
где — реальная инструкция по действию врача.
-
Выравнивание (RLHF/DPO): профессиональные врачи дают обратную связь о предпочтениях. На примере DPO (Direct Preference Optimization) политика оптимизируется для безопасных и опасных операций:
— безопасное предпочтительное действие, а — опасное нарушающее действие.
Приведите конкретный пример сценария.
Что означает параметр softplus?
Что забыть, а что запомнить: параметр шага времени Mamba является линейной проекцией входа :
Когда сеть выучивает, что — бесполезный фон, . Из формулы дискретизации следует, что , а , поэтому обновление скрытого состояния принимает вид . Это и есть «забыть текущее, запомнить историю». Наоборот, когда велико, новый текущий признак записывается в состояние.
Здесь не написано, как вычисляются A и B по отдельности.
- Что делать, если потеряна мелкая точка: это структурный недостаток архитектуры. На уровне инженерии вводится гибридная архитектура: параллельно Mamba добавляется высокочастотная ветка обнаружения аномалий . Её признаки напрямую через остаточное соединение (Residual Connection) объединяются с выходом:
Это гарантирует, что мгновенно появившиеся ключевые точки (например, точка кровотечения) обходят сжатие состояния Mamba.
Что такое остаток (residual) в остаточном соединении? Как устроено внутреннее отображение ?
- Что такое отказ, вызванный окклюзией?
В реальных медицинских роботах чисто визуальная работа вслепую категорически недопустима.
Если происходит сильная окклюзия, уверенность визуального энкодера резко падает. Пусть уверенность визуального предсказания действия равна , а порог уверенности — .
Когда , система обязана понизить режим и опираться на обратную связь по шестимерному моменту концевого эффектора (режим силового управления). Если в этом состоянии , немедленно выполняется стратегия безопасной приостановки (например, отвод инструмента на небольшое безопасное расстояние по его оси с фиксацией суставов), и подаётся сигнал тревоги для передачи управления врачу (контролируемая автономность, Supervised Autonomy).
Что значит «понизить режим» (деградация)?
Что значит «опираться на обратную связь по шестимерному моменту (режим силового управления)»?
- Онлайн-идентификация системы + остаточное управление (Online System ID + Residual Policy): при операции на живом организме по реальным действиям и сигналам силы онлайн оценивается неявное механическое представление текущей ткани . Затем остаточная сеть политики компенсирует разрыв Sim-to-Real:
Почему здесь именно остаточное управление? Сложение выглядит для меня странно. Есть ли теоретическое обоснование?
- Для обработки дискретных токенов вводится зависящий от входа динамический шаг для дискретизации.
Дискретная рекуррентная формула состояния после дискретизации:
Строгий вывод параметров дискретизации:
- : дискретный входной токен на шаге .
- : дискретное скрытое состояние на шаге .
- : дискретная матрица перехода состояний (определяет, сколько истории сохранить).
- : дискретная матрица проекции входа (определяет, сколько нового входа принять).
- : единичная матрица.
Как вычисляется ? Дайте пример.
- Генерация 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 из обучения с подкреплением.
- Почему не переобучать напрямую:
- В реальном физическом мире (особенно на живом организме) собрать сотни тысяч неудачных хирургических данных для дообучения большой модели невозможно (слишком низкая эффективность выборки, слишком высокая цена).
- уже выучила в симуляции (например, Isaac Sim/Lab) очень устойчивую базовую траекторию операции (скелет).
- Различия реального мира (например, свиная ткань скользче, чем в симуляции) — это лишь высокочастотное возмущение малой амплитуды. Если небольшая сеть учится выдавать лишь малую компенсирующую поправку (например, «нажать на миллиметр сильнее влево»), то обучение идёт очень быстро, а после ограничения амплитуды система остаётся безопасной и не ломает общую логику .
14. Как вычисляется ? Дайте пример.
Формула вычисления:
где — обученная матрица весов, а — вектор признаков текущего входа.
Конкретный пример:
Представим, что вы разрезаете ткань:
- Момент : на изображении скальпель движется над тканью, ничего не происходит. Модель уже выучила, что это избыточное действие. даёт небольшое отрицательное число, после
softplusполучаем . Система считает эту картинку «бесполезным фоном», и скрытое состояние почти не меняется. - Момент : на изображении кончик скальпеля только что проткнул ткань, появилась небольшая кровоточивость. Признаки модели распознают ключевую физическую точку контакта! даёт большое положительное число, после
softplusполучаем . Этот большой шаг мгновенно активирует матрицу и принудительно записывает состояние «ткань уже проткнута» в , предписывая следующему шагу замедлиться.
15. Как RHC корректирует нелинейное смещение ткани?
Конкретный процесс коррекции:
В момент диффузионная модель смотрит на изображение, видит полип в координатах , и генерирует идеальный Chunk из 20 шагов, рассчитанный на 2 секунды для захвата полипа.
-
Без RHC (открытый контур): манипулятор выполняет все 20 шагов «с закрытыми глазами». Но на 0.5 секунде ткань нелинейно смещается, полип скатывается в . Оставшиеся 1.5 секунды движений промахиваются и могут даже повредить ткань.
-
С RHC (замкнутый контур):
-
В момент генерируется Chunk на 20 шагов, но выполняются только первые 2 шага.
-
После выполнения двух шагов (всего 0.2 секунды) немедленно делается новый снимок (получаем наблюдение ).
-
На этом новом снимке ясно видно, что полип сдвинулся, его текущие координаты .
-
Диффузионная модель использует самое свежее изображение в качестве условия, отказывается от старой траектории и заново генерирует новый Chunk на 20 шагов.
-
Процесс повторяется.
Итог: замкнутая коррекция системы состоит не в «исправлении» ошибочной траектории, а в очень частом цикле «посмотреть — отбросить старый план — сгенерировать новый план». Так смещение среды (изменение состояния) постоянно вносится в самое новое условие, и поток действий всегда следует за реальным положением цели.
-
Дополнительные вопросы 1
-
Что такое score-функция ? Её нужно обучать?
-
Что такое матрица HiPPO, которой инициализируется ? Подробно объясните и приведите конкретный численный пример. На практике матрицу часто приводят к диагональному виду. Так ли это?
-
Как вычисляется «гейтинговая» переменная ? Дайте конкретный пример вычисления. Каков её физический смысл?
-
Остаточное соединение (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, то увидите:
- Чистая матрица HiPPO — плотная нижнетреугольная матрица, и вычисление матричной экспоненты и матричных умножений на каждом шаге слишком медленно.
- В статье S4 авторы использовали математический приём, диагонализующий матрицу HiPPO в виде , и в комплексной области вычисляли только комплексные собственные значения на диагонали .
- В 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
-
Что такое полиномы Лежандра? Как они вычисляются и применяются в нашей области? Приведите пример.
-
В статье S4 авторы использовали приём, диагонализующий матрицу HiPPO как , и в комплексной области вычисляли только диагональные комплексные собственные значения .
Что такое ? Её что, в конце не сохраняют?
-
Mamba напрямую параметризует как вещественную диагональную матрицу. Как именно её параметризовать? Есть ли численные требования?
-
Напишите на 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
Ключевые моменты:
- Только поэлементное умножение без матричного: поскольку параметризовано как вещественная диагональная матрица,
A_bar_t * h— очень эффективное поэлементное умножение, а не дорогойmatmul. - Физический смысл:
Delta_tуправляет гейтом затуханияA_bar. При большомDelta_tA_barстремится к 0, и история быстро забывается; при маломDelta_tA_barстремится к 1, и память сохраняется. - Суть параллельного скана: рекуррентность
h_t = A_t * h_{t-1} + B_t x_tобладает свойством ассоциативности (Associative Property). Если операция ассоциативна, её можно распараллелить с помощью алгоритма параллельных префиксных сумм на GPU. Именно поэтому Mamba избавляется от последовательной рекуррентности RNN и достигает скорости обучения, сравнимой с Transformer.
Дополнительные вопросы 3
-
Я понимаю так: если у большой модели нет нового выхода, в диффузионную модель подаётся предыдущий выход как текущий входной сигнал для вывода.
-
Одинаковы ли режим перетаскивания без усилия (нулевой силы) и режим импедансного управления?
-
Есть ли у функции score конкретные формулы?
-
Изменит ли наложение скрытого состояния среднее и дисперсию исходного латентного вектора? Скорее всего, да. Сможет ли Mamba тогда нормально работать? Нужно ли во время обучения добавлять такой условный вектор?
-
Последний вопрос, шестой: здесь выглядит как постоянная величина, верно? Небольшая константа?
Ответы на дополнительные вопросы 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 выводит шум?
Это соотношение раскрывает глубокий инженерный смысл:
- Математическая эквивалентность: score-функция распределения данных численно пропорциональна шуму , предсказываемому сетью.
- Инженерное удобство: при score стремится к бесконечности (распределение данных становится очень острым), и такую величину трудно обучать нейросети. Шум всегда подчиняется стандартному нормальному распределению, и его величина стабильна.
- Предсказание шума = поиск градиента: когда вы обучаете U-Net предсказывать шум с помощью MSE, вы по сути учите сеть, как из области низкой вероятности (зашумлённая область) указать направление к области высокой вероятности (область данных).
Именно эта эквивалентность — фундамент, на котором стоит успех диффузионных моделей.
Почему собственные значения матрицы с отрицательной действительной частью обеспечивают устойчивость динамической системы?
Это очень классический и глубокий вопрос теории управления и динамических систем. Чтобы понять, почему «собственные значения с отрицательной действительной частью» равносильны «устойчивости системы», нужно рассмотреть решение дифференциального уравнения и физический смысл на комплексной плоскости.
В HiPPO и более общих моделях пространства состояний (SSM) эволюция состояния обычно подчиняется линейному обыкновенному дифференциальному уравнению:
Чтобы анализировать устойчивость, в первую очередь изучим «однородное решение» (то есть поведение самой системы без внешнего входа ): .
1. Экспоненциальное затухание из общего решения
Для линейного дифференциального уравнения первого порядка общее решение всегда связано с экспоненциальной функцией:
Если разложить матрицу на собственные значения (предполагая, что её можно диагонализовать, ), решение распадается на сумму нескольких собственных мод:
Здесь — собственные значения матрицы . Теперь посмотрим, как каждый член меняется со временем.
Поскольку собственные значения обычно комплексные, запишем их как (где — действительная часть, — мнимая). По формуле Эйлера:
- Если действительная часть : неограниченно растёт со временем, система взрывается.
- Если действительная часть : система колеблется () или остаётся постоянной, это называется критической устойчивостью.
- Если действительная часть : стремится к со временем. Система сходится к точке равновесия.
2. Физический смысл в матрице HiPPO
Задача HiPPO — «память». Если собственные значения имеют отрицательную действительную часть, это значит:
- Предотвращение численного переполнения: при обработке очень длинных последовательностей (например, 10 тысяч или даже миллион шагов), если система немного неустойчива (действительная часть положительна), ошибки экспоненциально усиливаются, и скрытое состояние превращается в
NaN. - Плавное затухание (забывание): отрицательная действительная часть обеспечивает управляемое постепенное затухание «исторической информации». Замечательность матрицы HiPPO в том, что её собственные значения располагаются в левой полуплоскости комплексной плоскости с определённым распределением, позволяющим улавливать связи разных временных масштабов, а не просто стирать всё подряд.
- «Сток» системы (Sink): на фазовой плоскости это означает, что все траектории состояния в конечном счёте притягиваются к началу координат, а не разлетаются.
3. Почему все элементы A у HiPPO отрицательные?
Рассмотрим уже упомянутую матрицу HiPPO-LegS:
Это нижнетреугольная матрица. Для нижнетреугольной матрицы собственные значения — это элементы на её диагонали.
В этом примере собственные значения равны . Все они — отрицательные вещественные числа.
Это гарантирует:
- Абсолютную устойчивость: мнимой части нет, значит, система не колеблется, а плавно сходится.
- Многомасштабную память: собственные значения соответствуют разным скоростям затухания. Эти различия в скорости как раз соответствуют полиномам Лежандра разных порядков, позволяя точно описывать «форму» исторического сигнала.
Итог:
Знак действительной части собственных значений определяет, выступает ли система как «усилитель» (рост) или как «демпфер» (потери). В HiPPO отрицательная действительная часть играет роль «силы тяжести»: когда система непрерывно получает новые сведения, она всё же остаётся на устойчивой траектории и не выходит из-под контроля из-за накопления информации.