← На главную

Neural Particle Automata: SPH и моментная матрица исправляют выборку

23.06.2026 08:31 · hackernews

Нейронные клеточные автоматы (NCA) привыкли работать с решёткой — каждый пиксель смотрит на фиксированных соседей. В статье разбирают, как сделать то же самое для частиц, которые могут быть где угодно. Это называется SPH perception — аналог свёртки, но для свободно плавающих точек.

У каждой частицы (i) есть координата (\mathbf{x}_i) и внутреннее состояние (\mathbf{S}_i). Вместо того чтобы читать данные из ячеек решётки, она собирает всех соседей (j) внутри радиуса (\epsilon) и применяет к ним сглаживающие ядра. На выходе получаются локальные оценки: плотность (\rho_i), сглаженное состояние (\tilde{\mathbf{S}}_i), градиент плотности (\nabla\rho_i), моментная матрица (\mathbf{M}_i) и градиенты состояния нулевого или первого порядка. В Neural Particle Automata из этих замеров собирают компактный вектор восприятия для общего правила обновления. Локальность NCA сохраняется, но частицы могут жить на нерегулярных и меняющихся конфигурациях.

Демонстрация показывает, как работают эти операторы на примере одной центральной частицы. Для наглядности всё в 2D, массы (m_i=1.0), состояние — три канала (RGB). Центральная частица зафиксирована чёрной. Пунктирный круг радиусом (\epsilon) — её окрестность. На нижних графиках видно сглаживающее ядро (W_\epsilon(r)) и модуль градиентного ядра (|W_\epsilon^{\nabla}(r)|) в зависимости от расстояния; точками отмечены реальные частицы. Плотность и счёт показывают количество соседей, сглаживание — усреднённый RGB-цвет, а (\nabla\rho) указывает, с какой стороны частиц больше.

Градиенты состояния оценивают, как меняется RGB вокруг центра. Оценка нулевого порядка использует разности (\mathbf{S}_j-\mathbf{S}_i) — если состояние везде одинаково, градиент будет ноль, даже при неравномерном расположении. Но при линейном поле такая формула даёт ошибку из-за нерегулярной выборки. Первый порядок это исправляет: моментная матрица (\mathbf{M}_i) описывает локальную геометрию соседей — как смещения и направления градиентных ядер покрывают пространство. Умножение на (\mathbf{M}_i^{-1}) убирает искажения, и для линейных полей оценка становится точной, если окрестность хорошо обусловлена. В демо RGB-стрелки показывают градиенты по каналам, а моментная матрица — геометрические оси, которые использовались для поправки.

Читать оригинал →