Model Inversion
Инверсия модели — это атака на конфиденциальность, при которой по предсказаниям модели и её внутренним представлениям восстанавливают конфиденциальные входные данные или обучающие данные.
Инверсия модели — это восстановление информации о входных данных модели или её обучающих данных по предсказаниям, выученным параметрам или внутренним представлениям. Если говорить проще, она запускает предсказание в обратном направлении: информация, раскрытая моделью машинного обучения, становится основанием для восстановления лица, оценки конфиденциального атрибута или восстановления текста. Несанкционированное применение этого метода представляет собой атаку на конфиденциальность данных.
В 2014 году Мэтью Фредриксон, Эрик Ланц, Сомеш Джа, Саймон Лин, Дэвид Пейдж и Томас Ристенпарт ввели этот термин в сфере безопасности, исследовав инверсию моделей персонализированного дозирования варфарина. Используя модель, демографические данные и стабильную дозировку пациента, они вывели генетические маркеры, связанные с реакцией на препарат. Для оценки использовались данные Международного консорциума по фармакогенетике варфарина.
Как работает инверсия модели#
Злоумышленнику нужен наблюдаемый сигнал и цель для восстановления. Оценки уверенности классификатора показывают, насколько вероятно, что выбранные входные данные относятся к целевому классу. При доступе по методу белого ящика злоумышленник также видит веса модели и может вычислять градиенты. Доступ по методу чёрного ящика позволяет получать предсказания через интерфейс запросов. Промежуточные эмбеддинги — числовые представления входных данных — служат ещё одной целью для восстановления.
Инверсия на основе оптимизации начинается с входных данных-кандидатов, которые многократно изменяют, чтобы уменьшить функцию потерь, например разность между единицей и вероятностью целевого класса. Градиентный спуск обновляет входные данные, пока обученная модель остаётся неизменной. Результатом может стать узнаваемый представитель класса; возможность точного восстановления зависит от того, сколько информации сохраняется в доступном сигнале.
Ultralytics YOLO предоставляет доступ к представлениям изображений через model.embed(), поддерживая рабочие процессы извлечения признаков. Передача этих векторов создаёт дополнительный интерфейс, который необходимо учитывать при тестировании конфиденциальности на устойчивость к инверсионным атакам.
Восстановление лиц и исполняемый пример#
В 2015 году Фредриксон, Джа и Ристенпарт описали инверсионные атаки на основе уверенности и базовые меры противодействия, включая MI-Face. В экспериментах по распознаванию лиц использовалась база данных лиц AT&T/ORL, содержавшая 400 изображений 40 человек. Оптимизация пикселей для метки личности человека приводила к восстановлению узнаваемых лиц, раскрывая информацию о внешности, связанную с личностью.
Реализация MIFace в Adversarial Robustness Toolbox также поддерживает классификаторы непрерывных признаков. В этом примере она применяется к логистической регрессии, обученной на встроенном наборе рукописных цифр из scikit-learn. Установи зависимости с помощью pip install adversarial-robustness-toolbox scikit-learn matplotlib.
import matplotlib.pyplot as plt
import numpy as np
from art.attacks.inference.model_inversion import MIFace
from art.estimators.classification import SklearnClassifier
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
images, labels = load_digits(return_X_y=True)
images = images.astype(np.float32) / 16
model = LogisticRegression(max_iter=1000)
model.fit(images, labels)
classifier = SklearnClassifier(model=model, clip_values=(0, 1))
# Восстановить пиксели для целевого класса цифр.
attack = MIFace(classifier, max_iter=1000, verbose=False)
reconstructions = attack.infer(x=None, y=np.array([3]))
reconstruction = reconstructions[0]
plt.imshow(reconstruction.reshape(8, 8), cmap="gray")
plt.axis("off")
plt.show()Показанное восстановленное изображение содержит пиксели, оптимизированные для класса цифры три с помощью градиентов обученного классификатора.
В языковых системах инверсия также позволяет восстанавливать запросы. В 2024 году Джон Икс. Моррис и его коллеги представили метод инверсии языковой модели, восстанавливающий предшествующий текст по распределениям вероятностей следующих токенов. При совместном инференсе атаки с инверсией запросов восстанавливают входной текст по промежуточным активациям, передаваемым между участниками, раскрывая запросы на границе распределённых вычислений.
Связанные понятия и различия#
Эти термины описывают разные цели злоумышленников:
- Вывод о принадлежности определяет, содержалась ли известная запись в обучающих данных; инверсия оценивает неизвестное содержимое или атрибуты.
- Вывод атрибутов — это восстановление конфиденциального поля по другой информации о записи. Исходная атака на модель дозирования варфарина одновременно является выводом атрибутов и инверсией модели.
- Состязательные атаки включают атаки с обходом защиты, при которых входные данные изменяют, чтобы получить неверное предсказание. Инверсия нацелена на раскрытие информации.
- Обратное моделирование — это широкий класс методов оценки причин или параметров по наблюдениям. Например, обратный рендеринг позволяет оценивать свойства сцены по изображениям.
Снижение риска утечки#
Контроль доступа ограничивает круг пользователей, которые могут отправлять запросы моделям или получать внутренние представления. Мониторинг моделей помогает выявлять необычные шаблоны запросов, а снижение точности оценок уверенности сокращает объем информации, которую можно использовать для атак на основе уверенности. Оценка конфиденциальности измеряет качество реконструкции с учетом фактически предоставленного доступа.
Дифференциальная приватность ограничивает влияние обучающих записей отдельного человека с помощью тщательно настроенной случайности. Ее гарантия приватности касается информации, добавленной благодаря участию в наборе данных. Инверсия также может использовать корреляции на уровне популяции, например связь между генетическими маркерами и дозировкой лекарства.










