Дифференциальная конфиденциальность

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM GPT-5.6 Terra High и проверена участником Oleg Batsiev 18:00, 11 июля 2026 (MSD).

Промпт приводится полностью в Обсуждение:Дифференциальная конфиденциальность.


Содержание

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

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

Мотивация

Предположим, больница хочет опубликовать среднее значение некоторого медицинского показателя по пациентам. Даже если из таблицы удалить имена, возраст и адреса, точный ответ на специально подобранный запрос иногда позволяет сделать вывод о наличии конкретного пациента в базе. Такие атаки называют атаками на членство в выборке (membership inference).

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

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

Формальное определение

Пусть D и D' — соседние наборы данных, различающиеся данными одного человека. Пусть \mathcal{M} — рандомизированный алгоритм, а S — любое множество возможных результатов его работы.

Алгоритм \mathcal{M} удовлетворяет (\varepsilon,\delta)-дифференциальной конфиденциальности, если для любых соседних наборов D,D' выполняется:

\Pr[\mathcal{M}(D)\in S]\leq e^\varepsilon\Pr[\mathcal{M}(D')\in S]+\delta.

Параметр \varepsilon называют бюджетом конфиденциальности (privacy budget). Чем он меньше, тем ближе распределения результатов для D и D', а значит, тем сильнее гарантия приватности. Однако уменьшение \varepsilon обычно требует добавлять больше шума и ухудшает точность результата.

Параметр \delta допускает очень малую дополнительную вероятность отклонения от строгой гарантии. Случай \delta=0 называют чистой, или \varepsilon-дифференциальной конфиденциальностью. На практике для сложных алгоритмов, особенно в глубоком обучении, часто используют вариант (\varepsilon,\delta)-дифференциальной конфиденциальности.[1]

Чувствительность запроса

Пусть f(D) — функция, вычисляемая на наборе данных: например, сумма, среднее, число пользователей с определённым свойством или вектор градиента.

Глобальная L_1-чувствительность функции определяется как максимальное изменение результата при замене одной записи:

\Delta_1 f=\max_{D\sim D'}\lVert f(D)-f(D')\rVert_1.

Обозначение D\sim D' означает, что наборы данных являются соседними. Чем больше чувствительность, тем сильнее влияние одного человека и тем больше шума требуется для защиты.

Например, для подсчёта числа людей с некоторым признаком чувствительность равна единице: добавление или удаление одного человека меняет ответ не более чем на 1. Для среднего чувствительность зависит от допустимого диапазона значений и размера выборки. Поэтому до применения дифференциальной конфиденциальности данные часто ограничивают по диапазону: без этого один экстремальный объект может сделать требуемый шум слишком большим.

Базовые механизмы

Механизм Лапласа

Для числового запроса с ограниченной L_1-чувствительностью используют механизм Лапласа:

\mathcal{M}(D)=f(D)+(Y_1,\ldots,Y_k),\qquad Y_j\sim\operatorname{Lap}\left(0,\frac{\Delta_1 f}{\varepsilon}\right).

Каждая компонента ответа получает независимый шум из распределения Лапласа с масштабом, пропорциональным чувствительности и обратно пропорциональным бюджету конфиденциальности. Такой механизм обеспечивает чистую \varepsilon-дифференциальную конфиденциальность.

Гауссовский механизм

Для векторных запросов и приближённой (\varepsilon,\delta)-конфиденциальности часто используют гауссовский механизм. К результату добавляется нормально распределённый шум, масштаб которого выбирается по L_2-чувствительности функции, а также значениям \varepsilon и \delta.

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

Экспоненциальный механизм

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

Композиция и постобработка

Дифференциальная конфиденциальность обладает двумя важными свойствами.

Первое — постобработка. Если результат \mathcal{M}(D) уже является дифференциально конфиденциальным, то любая дальнейшая обработка этого результата без доступа к исходным данным не ухудшает гарантию. Например, можно строить графики, обучать дополнительную модель или публиковать отчёт на основе уже приватного результата.

Второе — композиция. Если к одним и тем же данным применить несколько конфиденциальных механизмов, потери приватности накапливаются. В простейшем случае, если алгоритмы имеют бюджеты \varepsilon_1,\ldots,\varepsilon_k, то суммарный бюджет не превосходит

\varepsilon_{\mathrm{total}}=\sum_{i=1}^{k}\varepsilon_i.

Поэтому нельзя бесконечно задавать вопросы к одной базе данных, каждый раз тратя небольшой бюджет, и считать каждый ответ независимым с точки зрения приватности. Учёт совокупной потери приватности называют accounting. Для более точного анализа применяют усиленные теоремы композиции и конфиденциальность Реньи (Rényi differential privacy).[1][1]

Центральная и локальная модели

В центральной модели (central differential privacy) существует доверенный оператор, который получает исходные данные, выполняет конфиденциальный алгоритм и публикует только его результат. Это наиболее распространённая модель для статистических запросов и обучения моделей.

В локальной модели (local differential privacy) каждый пользователь случайным образом искажает свои данные ещё до передачи серверу. Сервер не видит исходное значение отдельного пользователя. Такая модель требует меньшего доверия к оператору, но обычно требует больше данных или приводит к менее точным оценкам.

В этих моделях различаются угроза и полезность. Локальная конфиденциальность не является просто «более сильной версией» центральной: она решает другую задачу и часто даёт более высокую цену в точности.

Дифференциально конфиденциальное обучение

Один из важнейших методов для глубокого обучения — DP-SGD (differentially private stochastic gradient descent). Он модифицирует обычный стохастический градиентный спуск.

Для каждого объекта в мини-батче сначала ограничивают норму индивидуального градиента:

\tilde g_i=\frac{g_i}{\max\left(1,\frac{\lVert g_i\rVert_2}{C}\right)},

где C — порог отсечения (clipping norm). Затем к сумме ограниченных градиентов добавляют гауссовский шум:

\bar g=\frac1{|B|}\left(\sum_{i\in B}\tilde g_i+\mathcal{N}(0,\sigma^2C^2I)\right).

Отсечение необходимо, чтобы вклад одного объекта в обновление параметров был ограничен. Шум обеспечивает приватность, а специальный механизм учёта оценивает итоговые \varepsilon и \delta после множества шагов обучения.

DP-SGD позволяет обучать глубокие нейронные сети с формальной гарантией приватности, но создаёт компромисс между приватностью, точностью, размером набора данных и вычислительной стоимостью. Слишком маленький бюджет или слишком сильное отсечение могут заметно ухудшить качество модели.[1]

Связь с федеративным обучением

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

Дифференциальную конфиденциальность можно применять поверх федеративного обучения: ограничивать вклад клиента, добавлять шум к агрегированным обновлениям и учитывать суммарную потерю приватности. Однако сочетание двух технологий не отменяет риски: необходимо анализировать доверенную сторону, состав участников, защищённую агрегацию, бюджет конфиденциальности и качество итоговой модели.[1]

Ограничения и типичные заблуждения

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

Распространённые ошибки:

  • выбирать \varepsilon без обоснования и не сообщать его пользователям результата;
  • забывать о композиции нескольких запросов или раундов обучения;
  • не ограничивать диапазон данных и получать слишком большую чувствительность;
  • считать федеративное обучение автоматически приватным;
  • сравнивать модели только по точности, не указывая \varepsilon, \delta, размер выборки и механизм учёта бюджета;
  • переносить гарантию приватности алгоритма на весь жизненный цикл данных, включая логи, резервные копии и доступ администраторов.

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

Практический порядок работы

При использовании дифференциальной конфиденциальности полезно соблюдать следующий порядок:

  1. определить, какие данные и от какого противника требуется защищать;
  2. выбрать центральную или локальную модель;
  3. ограничить диапазон входных данных и оценить чувствительность запроса;
  4. определить приемлемые значения \varepsilon и \delta;
  5. выбрать механизм и способ учёта композиции;
  6. измерить потерю качества модели или статистики;
  7. опубликовать вместе с результатом параметры конфиденциальности, ограничения и метод учёта бюджета.

См. также

Примечания

Литература

  • Dwork C., McSherry F., Nissim K., Smith A. Calibrating Noise to Sensitivity in Private Data Analysis // Theory of Cryptography Conference. — 2006. — С. 265–284.
  • Dwork C., Roth A. The Algorithmic Foundations of Differential Privacy. — Foundations and Trends in Theoretical Computer Science. — 2014 T. 9. — С. 211–407.
  • Abadi M., Chu A., Goodfellow I., McMahan H. B., Mironov I., Talwar K., Zhang L. Deep Learning with Differential Privacy // Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. — 2016. — С. 308–318.
  • Mironov I. Rényi Differential Privacy // 2017 IEEE 30th Computer Security Foundations Symposium. — 2017. — С. 263–275.
  • Kairouz P. и др. Advances and Open Problems in Federated Learning // Foundations and Trends in Machine Learning. — 2021. — Т. 14. — № 1–2. — С. 1–210.
  • Kairouz P., McMahan B., Song S., Thakkar O., Thakurta A., Xu Z. Practical and Private (Deep) Learning Without Sampling or Shuffling // Proceedings of the 38th International Conference on Machine Learning. — 2021. — С. 5213–5225.
Личные инструменты