Membership Inference Attacks
Атака с выводом о принадлежности проверяет, входила ли конкретная запись в обучающие данные модели, используя разрыв в значениях функции потерь, возникающий из-за переобучения.
Атака с выводом о присутствии в обучающей выборке пытается определить, входила ли конкретная запись данных в обучающую выборку модели машинного обучения. У злоумышленника уже есть эта запись, например снимок пациента или фотография человека, и он отправляет модели запросы, чтобы выяснить, относится ли запись к классу «участвовала в обучении» или «не участвовала в обучении». Сам факт присутствия в выборке может быть конфиденциальным, поэтому такие атаки представляют серьезную угрозу для конфиденциальности данных: если модель обучалась только на пациентах с конкретным заболеванием, подтверждение того, что снимок человека входил в обучающую выборку, раскрывает его диагноз. Реза Шокри, Марко Стронати, Кончжэн Сун и Виталий Шматиков представили атаки с выводом о присутствии в обучающей выборке моделей машинного обучения в 2017 году и продемонстрировали их на коммерческих платформах Google и Amazon, предоставляющих машинное обучение как услугу.
Почему модели раскрывают принадлежность данных#
Модели ведут себя по-разному на данных, на которых обучались. Обычно они присваивают обучающим примерам меньшие значения функции потерь и более высокую уверенность, чем невиданным примерам, и этот разрыв увеличивается при переобучении. Большие модели, запоминающие редкие примеры, дубли изображений или выбросы, раскрывают больше всего информации; генеративные модели ИИ, включая большие языковые модели (LLM), могут раскрывать присутствие данных в обучающей выборке, почти дословно воспроизводя обучающие изображения или текст.
Простейшая атака использует порог потерь: запись считается участником обучающей выборки, если значение функции потерь модели на ней необычно низкое. Приведенный ниже пример обучает небольшой классификатор на нейронной сети в PyTorch на 100 случайных записях со случайными метками, которые можно выучить только путем запоминания, а затем атакует смесь этих записей и 100 записей, которых модель никогда не видела:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
x, y = torch.randn(200, 20), torch.randint(0, 2, (200,))
is_member = torch.arange(200) < 100 # the first 100 records form the training set
# Train a small classifier on the members only, long enough to memorize them
model = torch.nn.Sequential(torch.nn.Linear(20, 256), torch.nn.ReLU(), torch.nn.Linear(256, 2))
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
for _ in range(300):
optimizer.zero_grad()
F.cross_entropy(model(x[is_member]), y[is_member]).backward()
optimizer.step()
# Loss-threshold attack: guess "member" for every record with below-median loss
with torch.no_grad():
losses = F.cross_entropy(model(x), y, reduction="none")
guess = losses < losses.median()
print(f"attack accuracy: {(guess == is_member).float().mean():.2f}")Атака правильно классифицирует 85% записей, тогда как при случайном угадывании результат составил бы 50%. Потери для каждого участника обучающей выборки близки к нулю, но 15 записей, не входящих в нее, со случайными метками, которые модель случайно предсказала с еще большей уверенностью, оказываются ниже пороговой медианы и поднимают 16 участников выше нее. У моделей с лучшей способностью к обобщению разрыв потерь меньше, что снижает точность атаки, но обычно не сводит ее к нулю.
Более мощные атаки и способы их оценки#
- Теневые модели: В оригинальной атаке 2017 года несколько моделей обучаются на похожих данных, для которых принадлежность известна. Затем на выходных данных этих моделей обучается классификатор, распознающий признаки включения записи в обучающую выборку.
- Атаки с калибровкой: Атака на основе отношения правдоподобия (LiRA), опубликованная Николасом Карлини и его коллегами в 2022 году, сравнивает потери для записи с результатами эталонных моделей, обученных как с этой записью, так и без нее. Этот подход выявляет запомненные выбросы, которые пропускает единый глобальный порог.
- Атаки на основе меток: API, возвращающие только предсказанную метку, все равно раскрывают информацию, поскольку для смены предсказания к примерам из обучающей выборки обычно нужны более сильные возмущения входных данных — именно такие и ищут состязательные атаки.
Поскольку общая точность скрывает сведения о немногих наиболее уязвимых людях, при аудите конфиденциальности указывают долю истинно положительных результатов при очень низкой доле ложноположительных результатов, например 0.1%. Инструменты для аудита конфиденциальности с открытым исходным кодом могут составлять отчёты об атаках с выводом о принадлежности, проверяя обученную модель и отображая её уязвимость на разных контрольных точках обучения.
Связанные атаки на конфиденциальность#
Инференция членства — самая узкая форма утечки обучающих данных. Инверсия модели восстанавливает характерные признаки класса или человека, инференция атрибутов заполняет отсутствующее конфиденциальное поле записи, часть которой известна атакующему, а извлечение обучающих данных восстанавливает дословный контент, например запомненный текст. Отравление данных действует в обратном направлении: оно повреждает обучающую выборку, а не считывает данные из неё. Методы машинного забывания, которые пытаются устранить влияние записи после обучения, используют инференцию членства, чтобы проверить, оставила ли запись след. Поскольку членство — наименьшая единица утечки, инференция членства стала стандартной мерой того, насколько процесс обучения раскрывает отдельные записи.
Методы защиты#
Дифференциальная приватность — это защита с формальной гарантией. При обучении с DP-SGD, вариантом стохастического градиентного спуска, доступным для PyTorch через Opacus, градиент каждого примера ограничивается по норме и к нему добавляется откалиброванный шум. Это математически ограничивает влияние любой отдельной записи на модель и, следовательно, преимущество любой атаки с выводом о присутствии в обучающей выборке, хотя и с некоторой потерей точности. Дополнительные практические меры снижают риск: регуляризация, аугментация данных и ранняя остановка ограничивают переобучение, удаление дубликатов предотвращает многократное запоминание одного изображения или документа, а публичные API могут возвращать только метки или округленные оценки уверенности.
Кривые обучения модели компьютерного зрения — самый быстрый способ проверить риск утечки данных. Когда детектор Ultralytics YOLO26 дообучают на конфиденциальных изображениях, например медицинских снимках или пропусках сотрудников, режим обучения записывает потери на обучающей и проверочной выборках после каждой эпохи. Аргумент patience, равный по умолчанию 100 эпохам, останавливает обучение, если качество на проверочной выборке не улучшалось столько эпох; так отсекаются поздние эпохи, в которых потери на обучающей выборке продолжают снижаться, а результаты проверки уже не улучшаются. Именно этот разрыв использует атака с порогом потерь.










