MambaGaze: как змея научилась читать мысли по глазам
Твои глаза выдают больше, чем ты думаешь. Расширение зрачка, микропаузы между саккадами, паттерны фиксации — всё это сигналы о том, насколько сильно твой мозг загружен прямо сейчас. Инженеры давно пытаются превратить эти сигналы в цифры, чтобы автомобиль понял, что водитель засыпает, или чтобы кабина пилота предупредила о перегрузке в критический момент. Но два препятствия постоянно срывают эту задачу: данные eye-tracking прерываются морганиями и сбоями трекера, а длинные временные последовательности требуют вычислительных ресурсов, которых нет на edge-устройствах.
Статья от 21 мая 2026 года предлагает решение. MambaGaze — это фреймворк на базе Mamba-2, который явно моделирует пропущенные данные через XMD-кодинг и использует бидирекшенальную архитектуру для захвата контекста в обе стороны времени. Результат: 76.8% точности на бенчмарке CLARE при работе на Jetson Orin Nano с задержкой 18 мс. Давай разберём, как это устроено и почему это важно не только для лабораторий, но и для реальных safety-critical систем.
Что такое когнитивная нагрузка и зачем её измерять
Когнитивная нагрузка — это количество умственных ресурсов, которые человек тратит на задачу прямо сейчас. Не общий IQ, не усталость за день, а именно мгновенное состояние: насколько перегружен рабочий стол мозга. Когда нагрузка слишком высока, человек начинает ошибаться, игнорировать сигналы, принимать импульсивные решения. В авиации это называют task saturation, в медицине — cognitive overload, в гейминге — просто тильт.
Измерить её напрямую сложно. Нельзя вставить датчик в префронтальную кору во время вождения. Поэтому исследователи используют прокси-сигналы: ЭКГ, дыхание, кожно-гальваническую реакцию и, самый информативный из доступных, eye-tracking. Движения глаз коррелируют с когнитивной нагрузкой потому, что зрачок управляется автономной нервной системой, а паттерны фиксации отражают стратегию обработки информации. Когда задача усложняется, зрачок расширяется, саккады укорачиваются, а фиксации становятся более разрозненными.
Проблема в том, что eye-tracking данные — это временной ряд с огромным количеством пропусков. Человек моргает 15–20 раз в минуту, каждое моргание создаёт gap в 100–300 мс. Трекер теряет точку взгляда при резких поворотах головы или при слабом освещении. На дороге таких пропусков может быть 20–30% от всего сигнала. Стандартные подходы либо выбрасывают пропущенные фреймы, теряя информацию, либо заполняют их средними значениями, внося артефакты. Оба варианта портят качество модели.
Как MambaGaze решает проблему пропусков
Авторы предлагают XMD-кодинг — eXplicit Missing Data encoding. Вместо того чтобы прятать пропуски под ковёр импутации, XMD делает их явной частью входного представления. Каждый timestep кодируется тремя векторами: собственно значения признаков, бинарная маска наблюдения и время с момента последнего наблюдения.
Если трекер зафиксировал диаметр зрачка — маска равна 1, время равно 0. Если трекер потерял глаз на 200 мс — маска 0, время накапливает 0.2 секунды. Это даёт модели прямую информацию о том, насколько "свежи" данные и можно ли им доверять. Три вектора конкатенируются: из 10 исходных признаков получается 30-мерный вход. Признаки включают диаметр зрачка, координаты взгляда, скорость саккад, длительность фиксаций и другие стандартные eye-tracking метрики.
После кодирования данные проходят через бидирекшенальную Mamba-2. Почему Mamba, а не трансформер? Потому что eye-tracking — это длинные последовательности: при частоте 50 Гц десятисекундное окно содержит 500 timestep'ов. Трансформер с квадратичной сложностью attention потребовал бы 250 тысяч парных вычислений на каждое окно. Mamba-2 работает за линейное время — 500 операций вместо 250 тысяч. На edge-устройстве это разница между 4 мс и 15 мс задержки, между 240 и 68 кадров в секунду.
Архитектура состоит из четырёх слоёв Mamba-2 в прямом направлении и четырёх в обратном. Каждый слой имеет скрытую размерность 128, SSM-состояние размером 16 и свёрточное ядро длины 4. Расширение в два раза даёт промежуточную размерность 256. Прямое направление смотрит в будущее от начала последовательности, обратное — в прошлое от конца. Контекст с обеих сторон конкатенируется через attention pooling с обучаемым query, а не через простое усреднение. Это важно: не все timestep'ы равнозначны, и модель учится выделять те, которые несут максимальную информацию о когнитивной нагрузке.
Результаты: где MambaGaze выигрывает и где проигрывает
Оценка проводилась на двух публичных датасетах. CLARE — 20 испытуемых, выполняющих когнитивные задачи, с eye-tracking и самооценкой по шкале NASA-TLX. CL-Drive — 15 испытуемых в симуляторе вождения с оценкой когнитивной нагрузки каждые 10 секунд. Оба датасета бинаризованы: низкая нагрузка 1–4, высокая 5–9.
На CLARE MambaGaze показывает точность 76.8% при leave-one-subject-out валидации, что на 6.5 процентных пункта выше CNN-бейслайна (70.3%) и на 11.8 пунктов выше трансформера (65.0%). F1-macro практически совпадает с CNN — 55.4 против 55.5 — что говорит о том, что выигрыш в точности не покупается за счёт дисбаланса классов. Трансформер, кстати, провалился хуже всех: 65.0% точности и 52.1% F1. Для коротких последовательностей в 500 timestep'ов его квадратичная сложность не даёт преимуществ, а переобучение на конкретных субъектах ухудшает генерализацию.
На CL-Drive картина сложнее. MambaGaze набирает 73.1% точности против 69.0% у ResNet и 68.5% у VGG, но F1-macro падает до 47.8% — ниже, чем у конкурентов (60.6% и 62.8%). Это означает, что модель хорошо определяет доминирующий класс, но плохо справляется с меньшим. Авторы объясняют это более сильным дисбалансом классов в CL-Drive и тем, что класс высокой нагрузки там представлен реже. Абляционный анализ показывает, что взвешивание положительного класса, оптимизация порога и калибровка вероятностей последовательно улучшают метрики, но полностью проблему не решают.
С точки зрения inference MambaGaze работает медленнее CNN, но остаётся в пределах реального времени. На AGX Orin задержка 14.8 мс против 4.2 у CNN, на Orin NX — 23.8 мс против 5.2, на Orin Nano — 18.2 мс против 4.6. FPS соответственно 68, 43 и 55 кадров в секунду. Энергопотребление практически идентично — около 3.8–7.5 Вт в зависимости от платформы. Для safety-critical приложений 18 мс задержки при 55 FPS — приемлемо: человек реагирует на внешний стимул за 200–300 мс, так что система успевает обнаружить перегрузку задолго до критического момента.
Почему это работает: интуиция за архитектурой
Ключевое инсайт MambaGaze — не в том, чтобы заполнять пропуски, а в том, чтобы модель знала о них. Стандартные RNN вроде GRU-D тоже используют маски и временные дельты, но страдают от ограниченной параллелизации и плохого захвата длинных зависимостей. Трансформеры хорошо ловят зависимости, но квадратичная сложность делает их непригодными для edge-устройств. Mamba-2 занимает промежуточное положение: линейная сложность, селективное состояние, которое адаптируется под вход, и возможность параллельного обучения.
Селективный механизм Mamba-2 особенно важен для eye-tracking. Не все признаки одинаково информативны в каждый момент. Диаметр зрачка может быть полезен при чтении текста, но бесполезен при быстром движении глаз. Скорость саккад информативна при поиске, но шумна при фиксации. Mamba-2 через input-dependent параметры B, C и delta учится выбирать, какую информацию запоминать, какую забывать и с какой скоростью обновлять состояние. Это аналогично тому, как человеческое внимание переключается между разными аспектами зрительной сцены.
Бидирекшенальность решает проблему асимметрии времени. Когнитивная нагрузка в момент t зависит не только от того, что происходило до t, но и от того, что произойдёт после. Если испытуемый видит сложную задачу, делает паузу, а потом быстро решает — обратное направление улавливает эту "разгрузку" после решения. Attention pooling вместо финального hidden state решает проблему recency bias: последние timestep'ы не всегда самые информативные, и модель учится искать релевантные моменты по всей последовательности.
Где это применимо завтра
Прямое применение — автономное вождение и полёт. Система, которая отслеживает состояние пилота или водителя через eye-tracking и предупреждает о когнитивной перегрузке до того, как произойдёт ошибка. Не замена автопилоту, а дополнительный слой safety: если водитель перегружен, машина может увеличить дистанцию, снизить скорость или предложить остановку.
Образовательные платформы — ещё одна очевидная ниша. Адаптивное обучение, которое замедляется, когда система видит, что ученик перегружен, и ускоряется, когда нагрузка низкая. Не по времени, потраченному на страницу, а по реальному когнитивному состоянию. Это меняет парадигму персонализации: от "показал 5 минут — значит понял" к "зрачок расширился, саккады замедлились — значит борется с материалом, дадим подсказку".
Медицинские интерфейсы, операционные залы, диспетчерские службы — везде, где человек принимает критические решения под давлением. MambaGaze демонстрирует, что такие системы можно строить на доступном железе: Jetson Orin Nano стоит около 500 долларов и потребляет 15 Вт. Не нужен дата-центр, не нужен облачный inference с задержкой в сотни миллисекунд. Локальная обработка на устройстве — это и приватность, и надёжность, и низкая задержка.
Ограничения и честный взгляд
Низкий F1-macro на CL-Drive — серьёзный сигнал. Модель страдает от дисбаланса классов, и простые техники взвешивания не решают проблему полностью. Для реального deployment это означает, что система может пропускать редкие, но критические случаи высокой нагрузки. Нужны более продвинутые стратегии сэмплирования или ансамблирования.
Задержка 18–24 мс на Orin Nano приемлема, но не идеальна. Для задач, требующих мгновенной реакции — например, предупреждение о микросне за рулём — хочется меньше 10 мс. Это потребует либо квантизации модели, либо дистилляции в более лёгкую архитектуру. Авторы не исследовали эти направления, оставляя их для будущей работы.
И, наконец, датасеты. 20 и 15 субъектов — это мало для обучения глубоких моделей. Leave-one-subject-out валидация даёт честную оценку генерализации, но дисперсия высока. Для промышленного применения нужны датасеты на сотни или тысячи субъектов, с разнообразием по возрасту, зрению, культурному бэкграунду. Eye-tracking сильно зависит от физиологии: формы глаз, частоты моргания, рефлексов — всё это варьируется между людьми.
Часто задаваемые вопросы
Почему Mamba, а не просто LSTM или GRU?
LSTM и GRU тоже линейны по сложности, но плохо масштабируются на длинные последовательности из-за затухания градиентов и ограниченной параллелизации. Mamba-2 через селективное состояние и структурированное внимание захватывает дальние зависимости лучше, чем рекуррентные сети, и при этом остаётся быстрее трансформеров. Для 500 timestep'ов разница ещё терпима, но при переходе к более длинным окнам — например, минутным интервалам — преимущество Mamba станет решающим.
Можно ли использовать MambaGaze для других physiological сигналов?
Архитектура не привязана к eye-tracking. XMD-кодинг применим к любому временному ряду с пропусками: ЭКГ, ЭЭГ, кожно-гальваническая реакция, акселерометр. Главное требование — явное кодирование маски наблюдения и времени с последнего измерения. Авторы уже упоминают CogAdapt — адаптацию клинических ЭКГ-моделей к носимым устройствам — как смежную работу в том же направлении.
Насколько это близко к коммерческому продукту?
Пока это исследовательский прототип. Для продукта нужно: масштабирование датасетов, решение проблемы дисбаланса классов, калибровка под конкретного пользователя, и интеграция с существующими eye-tracking системами. Но технологические риски низкие: Mamba-2 — открытая архитектура, Jetson — массовое железо, датасеты CLARE и CL-Drive публичны. Барьер входа для стартапа или R&D-команды в автомобильной компании — невысокий.
Итог
MambaGaze — это не просто ещё одна архитектура для классификации временных рядов. Это демонстрация того, как селективные state space модели решают реальные проблемы edge-AI: длинные последовательности, пропущенные данные, ограниченные вычислительные ресурсы. 76.8% точности на CLARE, работа на Orin Nano, явное моделирование missing data — всё это делает фреймворк интересным для команд, которые строят адаптивные human-centered системы.
Главный вывод для практиков: не прячьте пропуски. Сделайте их частью модели. XMD-кодинг — простая идея, которая меняет подход к preprocessing physiological данных. А Mamba-2 на edge-устройствах — уже не эксперимент, а рабочий инструмент для задач, где трансформеры слишком тяжелы, а CNN слишком примитивны.