Журнал · Rit.work

ProtoGuide добавляет управление классом к обученной генерации графов

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

Rit.work
Студия разработки
15 сентября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Дискретную модель генерации графов научились направлять к нужному классу после обучения, не меняя её веса. В препринте команды University of Catania, University of Cambridge и University Campus Bio-Medico of Rome, который не прошёл рецензирование и где числа получили сами авторы, средняя точность по классам выросла на EDGE с 50,7% до 73,5%. Это позволяет отделить управление результатом от обучения генеративной модели, если нужные классы уже входят в освоенное ею распределение.

Как градиент проходит через дискретный граф

Обычное управление диффузией через классификатор опирается на градиент: внешний классификатор показывает, как изменить промежуточный результат, чтобы приблизить его к целевому классу. В дискретной графовой диффузии этот путь разрывается, потому что EDGE и DiGress на каждом шаге выбирают конкретное состояние ребра. Через такой выбор нельзя передать градиент обратно к модулю удаления шума.

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

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

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

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

Управляемость выросла, но структура менялась по-разному

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

На DiGress средняя точность выросла с 73,6% до 83,8%. Улучшения оказались неравномерными: ProtoGuide сильнее помогал там, где исходная модель чаще путала класс, а для отдельных сочетаний класса и силы управления результат мог ухудшаться.

Отдельный классификатор, построенный на другой архитектуре, подтвердил общий рост точности. Ещё один классификатор обучили только на графах ProtoGuide, а затем проверили на отложенных реальных сетях: он получил 79,2%. Это показывает, что управление меняло не только признаки, удобные исходному кодировщику, но и переносимую структуру класса.

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

Эксперименты обучали отдельную безусловную генеративную модель для каждого класса и направляли её к тому же классу. Поэтому работа показывает управление внутри уже освоенного распределения, а не получение нового класса, которого модель прежде не видела.

Когда ProtoGuide меняет архитектурный план

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

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

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

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

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

Ко всем материалам
Понравилось? Обсудим вашу задачу