Liquid Neural Networks (LNNs)
Жидкие нейронные сети — это RNN непрерывного времени, временные константы нейронов в которых меняются в зависимости от входных данных. Рассматриваются модели LTC и CfC, контроллеры NCP и код.
Жидкие нейронные сети (LNNs) — это семейство непрерывных во времени рекуррентных нейронных сетей (RNNs), в которых состояние каждого нейрона описывается дифференциальным уравнением, а постоянная времени зависит от текущего входа. Поэтому скорость реакции нейрона меняется от момента к моменту. Рамин Хасани, Матиас Лехнер и их коллеги из MIT, IST Austria и TU Wien представили основную модель — сеть с жидкими временными константами (LTC) — на конференции AAAI 2021. При её разработке авторы опирались на модели нервной системы нематоды C. elegans, у которой 302 нейрона. LNN небольшие, часто состоят всего из нескольких десятков нейронов, и применяются главным образом для анализа временных рядов, а также для управления транспортными средствами и дронами. Компактный размер упрощает анализ усвоенного поведения. При обучении, как и в любой другой сети, фиксируются веса, а «жидкой» частью является динамика, которую входные данные меняют на каждом шаге.
Как работают сети с жидкими временными константами#
Непрерывная во времени RNN описывает скрытое состояние x(t) обыкновенным дифференциальным уравнением, как и нейронные ODE, а не дискретным обновлением. В сети LTC используется уравнение dx/dt = −[1/τ + f(x, I, θ)] ⊙ x + f(x, I, θ) ⊙ A, где I(t) — вход, τ — базовая постоянная времени для каждого нейрона, A — обучаемый вектор смещения, а f — небольшая нейронная сеть с ограниченным сигмоидоподобным выходом. Поскольку f входит в скорость затухания, эффективная постоянная времени каждого нейрона равна τ_sys = τ / (1 + τ f): при большом f она уменьшается, и нейрон реагирует быстрее, а при f, близком к нулю, приближается к τ. В статье доказывается, что и τ_sys, и состояние остаются в заданных пределах, поэтому сеть сохраняет стабильность даже при очень больших входных значениях.
Во время обучения численный решатель ODE разворачивается, а градиент распространяется через него обратным ходом. Объединённый решатель авторов выполняет полунеявный шаг: x(t + Δt) = [x(t) + Δt f A] / [1 + Δt (1/τ + f)]. Приведённый ниже фрагмент кода на PyTorch реализует этот шаг для четырёх нейронов и подаёт три разных входа:
import torch
from torch import nn
torch.manual_seed(0)
n_inputs, n_neurons, dt = 2, 4, 0.1
f = nn.Linear(n_inputs + n_neurons, n_neurons) # gate network f(x, I); its weights stay fixed below
tau = torch.full((n_neurons,), 2.0) # base time constant of each neuron
A = torch.randn(n_neurons) # level each neuron is pulled toward when its gate opens
def ltc_step(x, I):
"""One fused-solver step of dx/dt = -(1/tau + f) * x + f * A, plus the effective time constant."""
gate = torch.sigmoid(f(torch.cat([I, x])))
x_next = (x + dt * gate * A) / (1 + dt * (1 / tau + gate))
return x_next, tau / (1 + tau * gate)
x = torch.zeros(n_neurons)
for I in [torch.tensor([0.0, 0.0]), torch.tensor([5.0, -5.0]), torch.tensor([-5.0, 5.0])]:
x, tau_sys = ltc_step(x, I)
print(f"Input {I.tolist()}: time constants {[round(t, 2) for t in tau_sys.tolist()]}")Для нулевого входа выводятся эффективные постоянные времени [1.02, 0.99, 0.92, 1.1], для входа (5, −5) — [1.35, 1.5, 1.06, 1.26], а для (−5, 5) — [0.8, 0.74, 0.82, 0.97]. При одинаковых весах постоянная времени второго нейрона меняется от 0,74 до 1,5 — более чем вдвое, в зависимости только от входных данных. Поскольку состояние развивается в непрерывном времени, Δt также можно задавать как фактический промежуток между измерениями. Благодаря этому LNN обрабатывают данные с нерегулярными интервалами, например медицинские записи или данные сенсоров, управляемых событиями, без приведения их к фиксированной частоте.
Нейронные схемы управления и сети CfC#
В двух связанных работах той же группы нейроны LTC применялись для управления, а затраты на решатель ODE устранялись:
- Нейронные схемы управления (NCPs): В статье, опубликованной в Nature Machine Intelligence в 2020 году, Лехнер, Хасани и их коллеги соединили нейроны LTC в разреженную многоуровневую схему, построенную по образцу нервной системы C. elegans и состоящую из сенсорных, промежуточных, управляющих и моторных нейронов. После свёрточного экстрактора признаков управляющая сеть из 19 нейронов и 253 синапсов научилась удерживать автомобиль в полосе движения по изображениям с камеры. Авторы сообщают, что сеть обобщала лучше и устойчивее реагировала на шум, чем чёрноящичные контроллеры, на порядки более крупные.
- Сети непрерывного времени в замкнутой форме (CfC): В 2022 году Хасани и его коллеги показали, что аппроксимация решения LTC в замкнутой форме позволяет отказаться от численного решателя. Обучение и инференс стали в 10–100 000 раз быстрее, чем у аналогов на основе ODE, при сохранении поведения в непрерывном времени.
Библиотека авторов ncps реализует ячейки LTC и CfC, а также схемы NCP для PyTorch и Keras.
Применение#
- Навигация дронов: В исследовании 2023 года, опубликованном в Science Robotics, дроны с жидкими сетями научились лететь к цели по демонстрациям человека-пилота, записанным в летнем лесу. Затем они выполнили задачу в зимнем лесу, в городской среде и при наличии дополнительного шума, поворотов и перекрытий, превзойдя многие современные альтернативы.
- Медицинские временные ряды и данные сенсоров: Модели непрерывного времени подходят для нерегулярных потоков данных, например измерений в отделениях интенсивной терапии, где показания поступают при проведении каждого теста.
- Конвейеры от восприятия к управлению: Жидкому контроллеру нужны компактные признаки для каждого кадра, и их может предоставить YOLO26: режим predict с
stream=Trueвозвращает результат для каждого видеокадра в виде генератора, поэтому координаты рамок или ключевые точки позы поступают в контроллер по мере обработки каждого кадра.
LNN и родственные модели#
- LSTM и GRU: ячейки дискретного времени, которые обновляются один раз на каждом шаге входных данных и не учитывают, сколько времени прошло между шагами. Нейроны LTC развиваются непрерывно, а построенные на их основе контроллеры обычно используют гораздо меньше нейронов.
- Нейронные ODE: сети LTC — это нейронные ODE специальной ограниченной формы, которая гарантирует стабильную динамику.
- Спайковые нейронные сети: они тоже вдохновлены мозгом, но их нейроны взаимодействуют с помощью дискретных импульсов. Состояния нейронов LTC непрерывны и основаны на моделях неспайковых нейронов C. elegans.
- Модели пространства состояний: рекуррентные модели непрерывного времени, дискретизируемые для вычислений. Mamba вычисляет размер шага на основе каждого входа, поэтому постоянная времени каждого канала зависит от входных данных. Группа Хасани объединила модель пространства состояний S4 с динамикой LTC в Liquid-S4, представленной на ICLR 2023.
- Модели Liquid AI: В 2023 году Хасани, Лехнер, Александр Амини и Даниэла Рус основали Liquid AI как дочернюю компанию MIT CSAIL. Языковые модели LFM2, выпущенные в июле 2025 года, сочетают свёртки с коротким ядром и управляющими вентилями с небольшим числом слоёв внимания с группировкой запросов. Эта архитектура отличается от сетей LTC, несмотря на общее слово «жидкие» в названии.










