Вода в реке обтекает камни, воздух огибает крыло самолёта — эти движения описываются уравнениями, которые сложно решить даже на мощном компьютере. Нейросети умеют аппроксимировать такие решения, но часто ошибаются, когда данные собраны лишь в нескольких точках или зашумлены. Причина в том, что сеть плохо чувствует локальный баланс сил: где-то течение разгоняется, где-то тормозится, и всё это нужно уловить одновременно.
Авторы новой работы предложили добавить в модель обучаемый параметр, который они назвали «модуляцией вязкости». Вязкость — это мера внутреннего трения жидкости: мёд течёт медленнее воды, потому что у него вязкость выше. В уравнениях движения вязкость стоит множителем при слагаемом, отвечающем за диффузию (растекание импульса). Нейросеть теперь может менять этот множитель в каждой точке пространства и времени, подстраивая силу трения под особенности потока. Это как если бы у реки появлялись участки с разной густотой воды, и сеть училась бы их подбирать.
Эксперименты на двумерных задачах (например, течение Коважной) показали, что такой подход стабилизирует обучение и повышает точность восстановления потока по редким и зашумлённым данным. Сравнение с другими архитектурами (GRU, attention) подтвердило преимущество метода. Это шаг к тому, чтобы нейросети надёжно предсказывали поведение жидкостей и газов в инженерии и науке.
Вода в реке, о которой шла речь вначале, теперь может быть смоделирована точнее даже по отрывочным наблюдениям — благодаря вязкости, которая сама подстраивается под поток.
Вязкость воздуха настолько мала, что без учёта турбулентности самолёты бы не взлетали: подъёмная сила зависит от тонкого слоя воздуха у крыла, где трение играет ключевую роль.