惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
D
Docker
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
The Cloudflare Blog
雷峰网
雷峰网
A
About on SuperTechFans
小众软件
小众软件
博客园 - Franky
博客园 - 聂微东
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
V2EX
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
aimingoo的专栏
aimingoo的专栏
量子位
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
罗磊的独立博客
Martin Fowler
Martin Fowler
D
DataBreaches.Net
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Secure Thoughts
Project Zero
Project Zero
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tailwind CSS Blog
S
Schneier on Security
Blog — PlanetScale
Blog — PlanetScale
The Hacker News
The Hacker News
Spread Privacy
Spread Privacy
Security Latest
Security Latest
NISL@THU
NISL@THU
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
J
Java Code Geeks

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Рисуем с помощью закона Кулона. Как сделать генеративную модель на основе электростатики
Condensator · 2026-05-14 · via Все публикации подряд на Хабре

Рисуем с помощью закона Кулона. Как сделать генеративную модель на основе электростатики

Простой

9 мин

7.2K

Привет, Хабр! Меня зовут Александр Колесов, я исследователь группы «Основы генеративного ИИ» AIRI. У себя в команде мы активно исследуем то, как устроена работа генеративных моделей, ищем новые методы, экспериментируем. Недавно мы обратили внимание на то, что те пути, которые проходят представления данных в диффузионных моделях, очень похожи на пучки силовых линий электрического поля. 

Это не только красивая метафора — мы предложили метод Electrostatic Field Matching (EFM), который позволять извлечь из такой аналогии пользу. Статью с подробным описанием мы недавно свозили на ICLR 2026, там все подробности, теоремы и эксперименты. Здесь же хотелось кратко пересказать основную идею и показать её реализацию на простых примерах.

Генеративные модели на основе физики и их интерпретируемость.

Про диффузионные модели для генерации данных слышали, пожалуй, все, даже за пределами машинного обучения. Если кратко: в них упорядоченные данные строятся за счёт пошагового расшумления хаоса — как будто растворённые в стакане воды чернила снова собираются в каплю, отсюда и название. 

Диффузионки отличаются качеством и разнообразием данных, но есть у них и другое немаловажные достоинство, нехарактерное для прочих нейросетевых моделей, — интерпретируемость. Действительно, математика, лежащая в основе диффузионных моделей, описывает, по сути, термодинамическое диффундирование частицы в среде. Это дает нам возможность интерпретировать данные, как такие частицы, и ожидать от них того же поведения. 

Источник

Источник

Интерпретируемость стала одной из важнейших причин, по которой диффузионные модели стали так распространены на практике, в особенности для генерации изображений, либо превращения одних изображений в другие (генерация типа данные→данные). В тех же состязательных моделях GAN, которые также используют для генерации, не идёт никакой речи об интерпретируемости модели. Там генератор и дискриминатор играют в «кошки‑мышки», и понять, почему модель выдала конкретный результат, почти невозможно.

Тогда возникает логичный вопрос: раз диффузионные модели, основанные на термодинамике, дают такие хорошие преимущества, включающие интерпретируемость, так может нам стоит поискать ещё какие‑то процессы в физике, полезные для генеративного ИИ? 

На какие процессы стоит обратить внимание? 

Физических процессов, конечно же, бесчисленное множество, и сначала необходимо определить какие‑то критерии, по которым мы сможем отобрать полезные, а другие сразу отсеять. Потому давайте сразу давайте договоримся, что нам нужно от подходящего физического процесса.

Во‑первых, наша главная задача при реализации диффузионной генерации — перевести одно вероятностное распределение в другое. На языке математики это можно представить себе как поток поля, создаваемого, например, частицами в некотором физическом процессе, и этот поток в ходе переноса должен сохраняться. Последнее формализуется, если потребовать равенства нулю дивергенции этого поля. 

Во‑вторых, с практической точки зрения нам хотелось бы, чтобы уравнения процессов не были громоздкими. Поэтому что‑то сложное вроде квантового туннелирования частиц через барьер произвольной формы нам лучше не рассматривать.

В идеале нам нужно что‑то, что вообще не нужно интегрировать, а просто вычислять по готовым формулам. Несложно показать, что оба вышеупомянутых требования выполняются для электростатики. Закон Кулона позволяет строить силовые линии электрического поля, порождаемого точечными зарядами, в довольно простом виде, а за сохранение потока отвечает теорема Гаусса.

Краткий ликбез: закон Кулона и суперпозиция

Давайте ненадолго вернемся в 8 класс. 

Закон Кулона в трехмерном пространстве говорит: поле точечного заряда убывает как 1/r^{2}. Забегая вперёд, отмечу, что в нашем методе мы работаем в многомерном пространстве размерности D, и нам нужно обобщение этой формулы. Хорошая новость в том, что попыткам сформулировать электростатику в многомерных пространствах уже более ста лет, и обобщённый закон Кулона давно известен: формула для поля точечного заряда становится чуть сложнее, но суть та же — убывание 1/r^{D-1}:

\textbf{E}({\textbf{x}}) = \frac{q}{S_{D-1}}\frac{{\textbf{x}} - {\textbf{x}}'}{||{\textbf{x}} - {\textbf{x}}'||^{D}},

где S_{D-1} — площадь поверхности гиперсферы единичного радиуса. В трёхмерном пространстве (D = 3) гиперсфера — это обычная сфера, и формула принимает привычный школьный вид. 

Принцип суперпозиции — главная суперсила электростатических моделей. Если рассмотрим произвольную точку пространства, то поле в ней будет равно сумме полей создаваемое всеми частицами. 

Силовые линии. Итак, мы применили принцип суперпозиции и закон Кулона и вычислили вектор поля в некоторой точке. Мы можем на чуть‑чуть сместиться в пространстве вдоль этого вектора, выбрать новую точку и повторить вычисления. Таким образом можно построить кривые, касательные к которым совпадают с направлениями векторов напряженности поля, а густота кривых определяет их модуль — это и есть силовые линии.

Поток. В пространстве, пронизанном силовыми линиями, мы можем выбрать произвольную площадку S и посчитать количество силовых линий, которые её пронизывают, не забыв про косинус между вектором напряжённости и нормалью. Получившееся значение мы и будем называть потоком. 

\Phi =\int _{S}{\textbf{E}}\cdot {\textbf{dS}}\quad

Важно, что, согласно теореме Гаусса, поток вектора напряженности электрического поля сквозь любую замкнутую поверхность определяется числом зарядов внутри неё. Если их нет, то и суммарный поток нулевой — сколько вошло, столько и вышло. 

Теорема Гаусса

Теорема Гаусса

Вместе с этим, если мы, скажем, выберем маленькую площадку dS сразу над зарядами на некоторой плоскости, поток будет прямо пропорционален этим зарядам. 

Суть метода и идея конденсатора

Мы, наконец‑то, дошли до самого главного — напомню, что мы хотим решать задачу переноса одного распределения в другое. Наша идея — вычислить траектории переноса как силовые линии, возникающие в некотором конденсаторе. Мы интерпретируем данные из первого распределения, как положительные заряды на одной из обкладок (допустим, левой), а данные из другого — как отрицательные заряды на правой, количество зарядов справа и слева при этом одинаково. Нюанс здесь в том, что обкладки конденсатора — D‑мерные гиперплоскости, а сам конденсатор — D+1‑мерный (гиперконденсатор).

Откуда столько измерений? Это особенность представления данных в вычислительных алгоритмах, включая диффузионные модели. Поясню на примере.

Допустим, у вас есть датасет цветных картинок 32×32 пикселей по 3 цветовых канала на каждый. В таком случае цвет каждого пикселя выступает в качестве независимой величины, и их всех можно объединить в огромный вектор 3072-мерного пространства. 

Таким образом, весь датасет — это множество точек этого пространства, которое мы описываем соответствующим распределением. Мы идём дальше и предлагаем смотреть на это пространство, как на гиперплоскую обкладку конденсатора, где каждой точке ставится в соответствие точечный заряд — положительный для одного распределения (например, шума) и отрицательный для другого (например, картинки, из которой этот шум был получен). 

Схематическое изображение нашего метода применительно к задаче перевода из данных в другие данные

Схематическое изображение нашего метода применительно к задаче перевода из данных в другие данные

Что можно сказать, про то, что происходит внутри такого конденсатора?

Во‑первых, каждый заряд с левой пластины и каждый с правой в любой точке пространства создает свое поле. По принципу суперпозиции, поле в любой точке внутри гиперконденсатора — это сумма полей от всех зарядов.

Во‑вторых, все линии поля, которые исходят из положительных зарядов и проникают внутрь гиперконденсатора, упираются в отрицательные заряды — они не порождаются и не исчезают посередине. На более формальном языке речь идёт о сохранении потока. Мы можем убедиться в этом, взяв интеграл по полю через замкнутую поверхность, левый и правый край которой проходят параллельно обкладкам. Помните, сохранение потока было одним из требований, которые мы накладывали на процесс?

В‑третьих, линии электрического поля начинаются слева на положительной частице, а заканчиваются справа на отрицательной. Это означает, что перенос одного распределения в другое осуществляется строго вдоль этих силовых линий (в статье это гарантирует отдельная теорема). В каждой точке этих линий касательный вектор к ним — это в точности вектор поля.

Отсюда идея: если я в каждой точке знаю поле, то знаю касательный вектор к кривой, а значит знаю направлению, вдоль которого надо двигаться, чтобы от левой пластины (одного вероятностного распределения) прийти в другую пластину (другое распределение). Таким образом, задача об обучении генеративной модели может быть сведена к выучиванию поля в гиперконденсаторе.

Нейросеть вместо прямого вычисления 

А зачем обучать сеть, если поле всегда можно посчитать? Действительно, много ли нужно, чтобы просто взять формулу для закона Кулона и подставить в неё нужные значения?

Во‑первых, нейронная сеть в некотором смысле обобщает поле. При использовании других методов машинного обучения (полиномов или деревьев) при движении по полю мы всегда будем получать тренировочные данные на правой пластине. Поскольку мы в конечном итоге хотим генерировать новое, то нам необходимо всё обобщать, а, значит, нам нужно учить нейронки.

Во‑вторых, кажущаяся простота разбивается об объёмы вычислений. На практике нужно будет вычислять поле, порождаемое миллионами точек с обкладок. Вместо этого мы предлагаем обучить нейронную сеть на небольшом объеме данных и быстро аппроксимировать направление электрического поля.

А теперь ответим на вопрос, как учить, и что нам даёт обученное поле?

Что подаём на вход сети? Координаты в пространстве 

\tilde{x} = (\mathbf{x}, z) = (x_1, x_2,..., x_D, z) ∈ R^{D+1},

где \mathbf{x} — точка между распределениями на гиперплоскости, а z — высота между пластинами (от 0 до L).

Чему учим? Правильному направлению поля, выраженному через единичный вектор \mathbf{E}(\tilde{x}) / \parallel{\mathbf{E}(\tilde{x})}\parallel. Обращаю ваше внимание на то, что нам не обязательно знать модуль вектора напряжённости, нам нужно лишь получить информацию о касательной к силовой линии, чтобы построить последнюю. При этом мы учим нейросеть аппроксимировать поле на небольшом объёме точек, чтобы, когда данных станет больше, нам не пришлось считать суперпозицию по миллионам частиц.

Как получаем правильный ответ (target)? Подставляем заряды q^+ = P и q^- = -Q в формулу суперпозиции 

 \textbf{E}({\textbf{x}}) = \int \frac{1}{S_{D-1}}\frac{{\textbf{x}} - {\textbf{x}}'}{||{\textbf{x}} - {\textbf{x}}'||^{D}}q({\textbf{x}}') d{\textbf{x}}'

и считаем поле через Монте — Карло сэмплирование.

В итоге сеть выучивает поле один раз, и на инференсе мы просто «запускаем» силовую линию из любой точки из P и шаг за шагом строим её, вычисляя касательный вектор. Там, где она достигнет пластины z=L, и будет наш ответ. 

Эксперименты

Метод EFM работает и для перевода из шума в данные (как в диффузии), и для перевода данные→данные (как CycleGAN, но без циклов). Мы убедились в этом с помощью серии простых экспериментов. 

Ниже представлен результат работы EFM с хорошо известными игрушечными распределениями, для которых D = 2 — так их можно наглядно визуализировать. Для перехода Gaussian → Swiss Roll видно, как линии поля плавно перетекают из колокола в спираль. 

Силовые линии аппроксимированы для разных расстояний:  и . Видно, что на больших расстояниях силовые линии поля имеют более сильную кривизну, чем на малых расстояниях.
Силовые линии аппроксимированы для разных расстояний: L = 6 и L = 30. Видно, что на больших расстояниях силовые линии поля имеют более сильную кривизну, чем на малых расстояниях.

На цветных MNIST метод хорошо переводит «3» в «2», не путая цвет и форму. Причём траектории получаются гладкими и детерминированными — никаких случайных семплов шума на каждом шагу.

С традиционной генерацией на MNIST метод EFM также справляется хорошо:

Что в итоге? 

Мы считаем, что EFM — это по‑настоящему красивая идея, нечто в духе генеративной диффузии как таковой, когда физическая интерпретация ИИ‑проблемы не только открывает новый взгляд на саму задачу, но и предоставляет простой и понятный вычислительный инструмент для её решения. 

Никто, однако, не говорит, что электростатика — это единственная физическая аналогия для переноса распределений. На самом деле, требований к процессу не так уж и много, и они описаны выше: сохранение потока и аналитическая простота. Сюда можно добавить, разве что, требование убывание потенциала на бесконечности — с причины подробно разобраны в статье. Если у вас есть идеи, какие другие физические процессы могли бы быть здесь полезны — велкам!

И ещё кое‑что. Кто‑то из вас может справедливо заметить, что у нас в статье генерация безусловная, но на практике почти все модели рисуют изображения по промпту. На самом деле, метод EFM хорошо работает и здесь — и про это у нас есть отдельная работа, но об этом уже как‑нибудь в другой раз. 

Спасибо, что прочитали!

Авторы статьи: Александр Колесов (Сколтех, AIRI), Манухов Степан (Сколтех, МГУ), Владимир Палюлин (Сколтех), Александр Коротин (Сколтех, AIRI).