Аудит датасета: SpectralCanary ловит кражу картинок
Художник выкладывает коллекцию из нескольких тысяч иллюстраций под свободной лицензией. Через полгода он находит модель, которая рисует в его манере: та же палитра, та же штриховка, те же композиционные привычки. Ни одна картинка при этом не скопирована дословно. Модель не хранит копии, она выучила распределение, и в суде сравнивать нечего. Правообладатель остаётся с ощущением кражи и без единой улики.
Работа arXiv 2610.31659 предлагает сделать улику заранее. Метод называется SpectralCanary: владелец перед публикацией замешивает в каждое изображение крошечную долю общего для всей коллекции сигнала, а потом проверяет, всплывает ли этот сигнал в генерациях подозрительной модели. Доступ к весам не нужен, нужен только чёрный ящик с промптами.
Аудит использования датасета (dataset-use auditing) это проверка того, обучали ли конкретную модель на конкретной коллекции изображений. Доказательство строится на сигнале, который владелец встроил в данные до их публикации, и на статистике ответов модели после факта обучения.
Почему обычные способы не дают доказательств
Реактивные методы пытаются установить факт использования по выходам модели: сравнить, насколько генерируемая картинка похожа на конкретный кадр из коллекции. Проблема в том, что обобщение как раз и стирает посэмпловые следы. Модель, обученная на десяти тысячах работ, не обязана воспроизвести ни одну из них достаточно близко, чтобы тест на членство сработал.
Пиксельные водяные знаки ломаются на аугментациях: перекодирование, регенерация через другую диффузионную модель, повторное подписывание картинок. Явные канарейки, то есть добавление в датасет небольшой доли специальных изображений-триггеров (в работе это базовый метод EnTruth с 0,5% вспомогательных сэмплов), заметны и легко фильтруются, а текстовые триггеры исчезают при переописании. Отравление данных решает другую задачу: оно навязывает модели поведение, но не доказывает факт использования именно этой коллекции. Поведение может быть не уникальным и не воспроизводимым.
Отсюда четыре требования, которые авторы формулируют явно: проверяемость на уровне коллекции из чёрного ящика, сохранение внешнего вида картинок и качества обученной модели, устойчивость к смене архитектуры и к аугментациям, и дешёвая деплойность без вспомогательных генераторов и пошаговой оптимизации каждого файла. Спектральный след пытается закрыть все четыре сразу.
Как устроен SpectralCanary
Владелец выбирает одну фиксированную картинку-канарейку. Дальше каждое изображение коллекции переводится в частотную область, и низкочастотная часть спектра слегка подтягивается к спектру канарейки. Смешивание идёт через гладкую гауссову маску низких частот: вес маски равен единице в центре спектра и плавно падает с радиусом. Формула выглядит так: новый спектр равен исходному плюс сила смешивания, умноженная на маску и на разницу между спектром канарейки и исходным.
Параметры по умолчанию скромные до неприличия: сила смешивания 0,02 и ширина полосы 0,20. То есть меняется примерно два процента вклада, и только в низких частотах. Подписи к картинкам не трогаются вообще, вспомогательная генерация не нужна, итеративная оптимизация тоже. Одно детерминированное преобразование на файл: прямой Фурье, смешивание, обратный Фурье, квантование в 8 бит.
Дальше обучается верификатор, маленький классификатор. Положительные примеры это защищённые копии, отрицательные их собственные оригиналы. Функция потерь обычная логистическая: повысить уверенность на защищённой версии и понизить на исходной. Важная деталь: верификатор обучается на парах картинок и не видит ни одной генерации модели. Значит, проверка не подгоняется под конкретную архитектуру.
Процедура аудита выглядит так. Владелец подаёт подозрительной модели промпты из подписей своей коллекции, получает, скажем, тридцать изображений, прогоняет каждое через верификатор и сравнивает распределение оценок с эталонным распределением для моделей, обученных на чистых данных. Решение принимается односторонним двухвыборочным тестом Колмогорова-Смирнова: если оценки подозрительной модели систематически выше, гипотеза о случайном совпадении отбрасывается.
Что показывают цифры
Основной стенд это Pokemon-BLIP-Captions, восемь комбинаций двух архитектур (Stable Diffusion 1.5 и 3.5) и четырёх условий обучения: обычное дообучение через LoRA, аугментация на этапе тренировки, переописание подписей моделью Qwen2.5-VL 7B и полная регенерация каждой картинки другой диффузионной моделью. Средний показатель TPR при 1% ложных срабатываний составил 91,1% против 73,2% у следующего метода. Средний AUC 98,0%.
Важнее не среднее, а худший случай. Самый слабый результат SpectralCanary это 65,9% в связке SD3.5 с аугментацией. У лучшего из конкурентов худший результат 19,4%. Разница между «иногда работает» и «работает предсказуемо» здесь и живёт.
Дальше авторы переносят настройки без переобучения гиперпараметров на пять доменов: рисованные персонажи, разреженные карандашные наброски Sketch-Scene, медицинские снимки ROCOv2, спутниковые изображения RSICD и модную одежду FACAD. Средний TPR 92,4% при 1% ложных срабатываний, AUC 99,5%. При этом картинки внешне почти не меняются: SSIM 0,989, LPIPS 0,022. Качество самой обученной модели тоже не страдает: среднее изменение FID 0,05, то есть в пределах шума.
Наброски оказались самым лёгким случаем: 100% TPR и AUC, SSIM 0,997, LPIPS 0,002. Разреженный рисунок состоит в основном из низких частот, и подмешать туда общий сигнал проще. Спутниковые снимки, наоборот, дали самый слабый результат: 78,9% TPR и LPIPS 0,048. Тоже рабочее число, но видно, что домен с плотной мелкой текстурой сопротивляется.
Отдельный эксперимент переводит посэмпловую метрику на уровень решения по модели. Авторы берут тридцать генераций с каждой модели, фиксируют порог по независимой калибровке и считают accuracy по 320 отложенным моделям (пять чистых и пять защищённых на каждую комбинацию метода, архитектуры и преобразования). SpectralCanary даёт 94,8% средней accuracy на уровне модели.
Почему низкие частоты, а не высокие
Интуиция из мира стеганографии подсказывает обратное: прятать сигнал надо в высоких частотах, там он незаметен для глаза. Авторы проверили это напрямую и получили противоположный результат. Они построили три непересекающиеся радиальные полосы, низкую, среднюю и высокую, и уравняли условия: одинаковое число коэффициентов Фурье и одинаковая суммарная энергия возмущения. Иначе одна полоса могла бы выиграть просто потому, что сильнее меняет картинку.
При равной энергии низкая полоса дала TPR на 16,9 процентного пункта выше высокой на Pokemon и на 88,9 пункта выше на ROCOv2. Средняя полоса проиграла обеим. Объяснение простое: свёрточные сети и диффузионные модели учатся на широкой пространственной структуре быстрее, чем на мелкой текстуре, поэтому слабый низкочастотный сдвиг переносится в генерации, а высокочастотный шум гасится первым слоем аугментаций.
Логика «след должен быть там, куда модель смотрит в первую очередь» объясняет и скорость появления сигнала. По промежуточным чекпоинтам видно, что на нулевой эпохе AUC равен 0,500, то есть случайность. К пятой эпохе он поднимается до 0,956, TPR при 1% ложных срабатываний до 0,730, а к десятой-пятнадцатой показатель выходит на плато и держится до восьмидесятой. След не нужно выдерживать до конца обучения, он фиксируется почти сразу.
Цена и атаки
Стоимость защиты 0,39 секунды на изображение на CPU. Для сравнения: SIREN требует 71,38 секунды на GPU, Silent Branding 273,13 секунды на GPU при TPR всего 12,8%, DIAGNOSIS работает за 0,02 секунды, но даёт 32,2%. SpectralCanary быстрее DIAGNOSIS не будет, зато единственный из методов, работающих без GPU, кто выходит на 91,1% обнаружения: он ничего не оптимизирует и не генерирует вспомогательных картинок.
Проверялась и устойчивость к удалению. Атакующий знает алгоритм и может знать силу смешивания и ширину полосы, но не знает канарейку, оригиналы и верификатор. Авторы прогнали три атаки: замена низких частот одним фиксированным донором, замена по своему донору для каждой картинки, и оценка общего низкочастотного паттерна прямо по защищённой коллекции.
Мягкие версии атак почти не снижают TPR. Чтобы загнать обнаружение к уровню чистой модели, нужна агрессивная модификация, которая добавляет больше 25 пунктов FID и сильно портит картинки по LPIPS. То есть стирание следа возможно, но платить за него приходится качеством данных и качеством итоговой модели. Это граница, а не гарантия: авторы прямо пишут, что не защищаются от атакующих с доступом к самому верификатору.
Где метод ломается
Первое ограничение техническое и честно прописано в тексте: если канарейка утечёт, схема обращается. При известных спектре канарейки, силе смешивания и ширине маски формула смешивания решается обратно, и оригинал восстанавливается точно, если не мешают клиппинг и восьмибитное квантование. Поэтому вся модель угроз держится на секретности канарейки, и никакой криптографической стойкости здесь нет.
Второе: смешивание защищённой коллекции с большим массивом незащищённых данных не проверялось. Логично, что разбавление ослабит сигнал, но насколько, из статьи не следует. Третье: в основных экспериментах одна фиксированная канарейка, хотя приложение L проверяет контроль с рандомизацией фазы, а три разные канарейки использованы в абляции по полосам. Четвёртое: SSIM, LPIPS и FID описывают похожесть и качество лишь частично, для утверждений о незаметности нужны исследования с людьми.
Полное дообучение всех параметров SD1.5 методика тоже выдерживает, хотя слабее LoRA: средний AUC 95,2%, средний TPR 83,8%, и самым тяжёлым остаётся вариант с аугментацией, где TPR падает до 61,9%. При жёстком уровне значимости 10⁻¹⁵ частота отказов на защищённых моделях остаётся 100% в обычном режиме и при регенерации, но падает до 30% при аугментации. Практическая читалка: на уровне по умолчанию след виден, на параноидальном уже нет.
Есть и этическая развилка, которую авторы проговаривают сами. Проактивный след можно встроить в датасет без ведома тех, кто будет на нём обучаться. Ответственное использование требует прав на модификацию коллекции, раскрытия факта маркировки, уважения к лицензиям и осторожности с выводами: результат теста это статистическое свидетельство в рамках модели угроз, а не приговор. Решения с юридическими последствиями стоит подкреплять независимыми доказательствами.
Что это меняет на практике
Для владельца коллекции появляется конкретный сценарий. Перед публикацией датасета прогнать все файлы через одно преобразование, сохранить канарейку и верификатор у себя, а в лицензии указать, что коллекция содержит защитный след. Дальше при подозрении на нелегальный файнтюн хватает тридцати промптов и чёрного ящика, чтобы получить статистику. Это дешевле экспертизы и, что важнее, воспроизводимо.
Для тех, кто обучает модели на чужих данных, вывод неприятный, но полезный. Аргумент «модель не воспроизводит ваши картинки, значит, ничего не было» перестаёт быть универсальным. Появляется класс доказательств, который работает как раз в случае, когда прямого копирования нет.
Для индустрии это ещё один шаг к маркировке данных на входе, а не только на выходе. Водяные знаки на сгенерированном контенте отвечают на вопрос «это сделал ИИ». SpectralCanary отвечает на вопрос «на чьих данных это сделали». Второй вопрос дороже, и до сих пор на него не было дешёвого ответа.
Часто задаваемые вопросы
Можно ли обойти SpectralCanary, если известен метод?
Да, если известны канарейка, сила смешивания и ширина маски. Формула смешивания обратима, оригинал восстанавливается с точностью до клиппинга и квантования. Если канарейка остаётся приватной, атакующему приходится оценивать общий паттерн по самой коллекции, и тогда стирание следа требует агрессивной фильтрации с потерей больше 25 пунктов FID.
Работает ли метод, если модель обучали на смеси защищённых и обычных картинок?
Это не проверялось, и авторы выносят случай в открытые вопросы. Логика подсказывает, что разбавление ослабит след пропорционально доле защищённых данных, но конкретных цифр для смешанных корпусов в статье нет. Для реальных датасетов, которые почти всегда собраны из разных источников, это главный нерешённый вопрос.
Нужен ли доступ к весам подозрительной модели?
Нет. Аудит работает через API: промпты из подписей коллекции, тридцать генераций, оценки верификатора, тест Колмогорова-Смирнова против эталонного распределения чистых моделей. Достаточно, чтобы модель вообще отвечала на запросы, а калибровка эталона делается на независимых моделях, обученных без защищённых данных.
Итог
SpectralCanary показывает, что для аудита использования датасета не нужны ни тяжёлые водяные знаки, ни явные картинки-триггеры. Достаточно двух процентов низкочастотного спектра одной канарейки, одного детерминированного преобразования на файл и маленького классификатора, обученного на парах «оригинал и защищённая копия». На восьми настройках Pokemon это 91,1% обнаружения при 1% ложных срабатываний, на пяти доменах 92,4%, а защита одного изображения занимает 0,39 секунды процессорного времени.
Слабые места у метода честные: обратимость при утечке канарейки, непроверенное разбавление в смешанных корпусах, всего три разобранные атаки. Но сам сдвиг важен. Правообладатель впервые получает инструмент, который не требует ловить модель на копировании конкретной картинки, а позволяет доказать сам факт обучения на коллекции. Если вы публикуете собственные датасеты, стоит посмотреть на код и прикинуть, встраивается ли такой след в ваш пайплайн до релиза, а не после того, как чужая модель уже научилась рисовать в вашей манере.