Перейти к содержимому

Глава 230: Атака на определение принадлежности к обучающей выборке (Membership Inference)

1. Введение

Membership inference (атака на определение принадлежности) - это класс атак на приватность моделей машинного обучения. Центральный вопрос обманчиво прост: можем ли мы, имея обученную модель и конкретную точку данных, определить, была ли эта точка частью обучающей выборки модели?

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

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

Эта глава содержит строгое изложение membership inference: математические основы, практические методы атак, защиты и полную реализацию на Rust, демонстрирующую каждую концепцию на реальных данных криптовалютного рынка с биржи Bybit.

2. Математические основы

2.1 Пороговая классификация по функции потерь

Простейшая атака membership inference использует тот факт, что модели обычно имеют меньшую функцию потерь на обучающих (member) данных, чем на невиденных (non-member) данных. Для модели $f_\theta$, точки данных $(x, y)$ и функции потерь $\mathcal{L}$ атака выглядит так:

$$ \text{member}(x, y) = \mathbb{1}[\mathcal{L}(f_\theta(x), y) < \tau] $$

где $\tau$ - порог, выбранный для максимизации точности атаки. Порог может быть откалиброван на контрольной выборке или выбран аналитически. Этот подход работает, потому что стохастический градиентный спуск снижает потери на обучающих примерах ниже потерь на общей популяции.

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

2.2 Подход теневых моделей (Shokri et al., 2017)

Shokri и соавторы представили фреймворк теневых моделей, который остаётся наиболее влиятельной методологией membership inference. Ключевая идея заключается в обучении вспомогательных моделей (теневых моделей), которые имитируют поведение целевой модели, а затем использовании этих теневых моделей для генерации размеченных обучающих данных для бинарного классификатора атаки.

Процедура:

  1. Обучение теневых моделей: Обучить $k$ теневых моделей $f_1, \ldots, f_k$ на наборах данных $D_1, \ldots, D_k$, взятых из распределения, схожего с обучающим распределением целевой модели.
  2. Построение набора данных для атаки: Для каждой теневой модели $f_i$ и каждой точки данных $(x, y)$:
    • Если $(x, y) \in D_i$, пометить выходной вектор $f_i(x)$ как “member”.
    • Если $(x, y) \notin D_i$, пометить выходной вектор $f_i(x)$ как “non-member”.
  3. Обучение модели атаки: Обучить бинарный классификатор $\mathcal{A}$ на наборе данных атаки.
  4. Вывод: Для выхода целевой модели $f_\theta(x)$ на запрашиваемой точке применить $\mathcal{A}(f_\theta(x))$ для предсказания принадлежности.

Формально модель атаки обучается:

$$ \mathcal{A}: \mathbb{R}^c \times \mathcal{Y} \rightarrow {0, 1} $$

где $c$ - количество выходных классов, а $\mathcal{Y}$ - пространство меток.

2.3 Тест отношения правдоподобия

Более строгий подход формулирует membership inference как проверку гипотез:

  • $H_0$: $(x, y)$ не было в обучающей выборке.
  • $H_1$: $(x, y)$ было в обучающей выборке.

Отношение правдоподобия:

$$ \Lambda(x, y) = \frac{P(\text{выход} \mid (x,y) \in D_{\text{train}})}{P(\text{выход} \mid (x,y) \notin D_{\text{train}})} $$

Когда $\Lambda(x, y) > 1$, свидетельства указывают на принадлежность. Этот подход, формализованный Carlini и соавторами (2022), достигает наилучших результатов путём оценки этих правдоподобий через референсные модели, обученные с целевой точкой и без неё.

2.4 Атаки только по меткам

Во многих сценариях развёртывания модели возвращают только жёсткие метки (например, “покупать” или “продавать”), а не оценки уверенности. Атаки только по меткам используют геометрию границы решения:

  1. На основе возмущений: Измеряется, какое возмущение $\delta$ необходимо для изменения предсказания модели. Обучающие точки обычно находятся дальше от границы решения и требуют больших возмущений.
  2. На основе переноса: Обучается модель-заменитель, предоставляющая мягкие выходы, затем к ней применяются стандартные атаки на основе уверенности.

Расстояние возмущения для точки $x$:

$$ d(x) = \min_{\delta} |\delta|2 \quad \text{при} \quad f\theta(x + \delta) \neq f_\theta(x) $$

Члены обучающей выборки обычно имеют большее $d(x)$, поскольку модель “вырезала” уверенную область вокруг них.

3. Риски приватности в торговле

3.1 Определение торговой вселенной

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

3.2 Раскрытие проприетарных источников данных

Количественные фонды активно инвестируют в альтернативные данные: спутниковые снимки, транзакции по кредитным картам, социальные настроения и прочее. Если поведение модели на признаках альтернативных данных существенно отличается от поведения на публичных данных, membership inference может раскрыть, использует ли фонд конкретный проприетарный источник данных.

3.3 Идентификация периода обучения

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

3.4 Фронтраннинг и реконструкция стратегии

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

4. Методы атак

4.1 Атака на основе уверенности

Атака на основе уверенности использует максимальную вероятность предсказания как сигнал принадлежности:

member(x) = 1, если max(f_theta(x)) > tau

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

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

4.2 Атака на основе функции потерь

Атака на основе функции потерь напрямую использует потери модели:

member(x, y) = 1, если L(f_theta(x), y) < tau

Это часто наиболее эффективная одно-метричная атака, поскольку потери напрямую отражают цель оптимизации. Модель была явно обучена минимизировать потери на данных-членах.

4.3 Обучение теневых моделей

Подход теневых моделей требует:

  1. Набор данных из распределения, подобного обучающему распределению целевой модели.
  2. Достаточные вычислительные ресурсы для обучения нескольких теневых моделей.
  3. Отдельный классификатор атаки (часто нейронная сеть или логистическая регрессия).

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

4.4 Атаки на основе метрик (энтропия и модифицированная энтропия)

Атака на основе энтропии: Использует энтропию распределения предсказаний как сигнал:

$$ H(f_\theta(x)) = -\sum_i f_\theta(x)i \log f\theta(x)_i $$

Данные-члены обучающей выборки обычно дают предсказания с меньшей энтропией (более сконцентрированные).

Атака на основе модифицированной энтропии: Включает истинную метку путём взвешивания энтропии:

$$ H_{\text{mod}}(f_\theta(x), y) = -\left(1 - f_\theta(x)y\right) \log f\theta(x)y - \sum{i \neq y} f_\theta(x)i \log(1 - f\theta(x)_i) $$

Это захватывает как уверенность модели в правильном классе, так и её неопределённость по неправильным классам.

5. Защиты

5.1 Регуляризация

L2-регуляризация (затухание весов) добавляет штраф $\lambda |\theta|_2^2$ к функции потерь, препятствуя запоминанию моделью отдельных обучающих примеров. Ограничивая ёмкость модели, регуляризация уменьшает разрыв обобщения и, следовательно, сигнал принадлежности.

Регуляризованная целевая функция:

$$ \mathcal{L}_{\text{reg}}(\theta) = \mathcal{L}(\theta) + \lambda |\theta|_2^2 $$

Эмпирически увеличение $\lambda$ монотонно снижает точность membership inference, но за счёт полезности модели.

5.2 Дифференциальная приватность

Дифференциальная приватность (DP) обеспечивает формальную математическую гарантию. Механизм $\mathcal{M}$ является $(\epsilon, \delta)$-дифференциально приватным, если для любых соседних наборов данных $D, D’$ (отличающихся одним элементом) и любого множества выходов $S$:

$$ P(\mathcal{M}(D) \in S) \leq e^{\epsilon} P(\mathcal{M}(D’) \in S) + \delta $$

DP-SGD добавляет калиброванный гауссовский шум к обрезанным градиентам при обучении, ограничивая влияние любого отдельного обучающего примера. Бюджет приватности $\epsilon$ напрямую ограничивает преимущество membership inference.

5.3 Дистилляция знаний

Дистилляция знаний переносит знания от модели-”учителя” к модели-”ученику” путём обучения ученика на мягких выходах учителя, а не на оригинальных метках. Этот процесс естественным образом очищает влияние обучающих данных:

  1. Обучить учителя на чувствительном наборе данных.
  2. Сгенерировать мягкие метки от учителя на публичном наборе для переноса.
  3. Обучить ученика на наборе для переноса с мягкими метками.

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

5.4 Возмущение выходов

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

$$ \tilde{f}\theta(x) = f\theta(x) + \mathcal{N}(0, \sigma^2 I) $$

Масштаб шума $\sigma$ должен быть достаточно большим, чтобы скрыть сигналы принадлежности, но достаточно малым, чтобы сохранить полезность предсказаний. Адаптивная калибровка на основе энтропии предсказания может оптимизировать этот компромисс.

6. Пошаговое руководство по реализации (Rust)

Наша реализация на Rust в rust/src/lib.rs предоставляет полный фреймворк membership inference:

Целевая модель

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

pub struct LinearModel {
pub weights: Array1<f64>,
pub bias: f64,
pub l2_lambda: f64,
}

Конвейер атаки

Конвейер атаки следует систематической структуре:

  1. Разделение данных: Разделить доступные данные на наборы member и non-member.
  2. Обучение модели: Обучить целевую модель только на данных-членах.
  3. Извлечение сигналов: Вычислить метрики потерь, уверенности и энтропии для всех точек данных.
  4. Калибровка порогов: Найти оптимальные пороги, максимизирующие точность атаки.
  5. Оценка: Измерить успешность атаки с помощью accuracy, precision, recall и AUC.

Подход теневых моделей

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

pub struct ShadowModelAttack {
pub num_shadows: usize,
pub attack_weights: Array1<f64>,
pub attack_bias: f64,
}

Оценка защит

Модуль защит демонстрирует, как увеличение силы L2-регуляризации снижает точность атаки, потенциально ухудшая при этом полезность модели.

7. Интеграция с Bybit

Реализация включает BybitClient, который получает реальные данные OHLCV из публичного API Bybit:

pub struct BybitClient {
base_url: String,
}

Клиент получает данные свечей (kline) для любой торговой пары и интервала. Для наших экспериментов мы используем BTCUSDT с часовыми свечами, извлекая следующие признаки:

  • Логарифмическая доходность: $r_t = \log(p_t / p_{t-1})$
  • Нормализованный объём: $v_t / \bar{v}$
  • Диапазон максимум-минимум: $(h_t - l_t) / p_t$
  • Спред открытие-закрытие: $(c_t - o_t) / o_t$

Эти признаки разделяются на наборы member и non-member по временному периоду, моделируя сценарий, в котором атакующий пытается определить, какой исторический период использовался для обучения.

Торговый пример (rust/examples/trading_example.rs) демонстрирует полный конвейер:

  1. Получение данных BTCUSDT с Bybit.
  2. Извлечение признаков из сырых данных OHLCV.
  3. Разделение на наборы member (обучающий) и non-member (контрольный).
  4. Обучение целевой модели на данных-членах.
  5. Выполнение всех четырёх методов атаки.
  6. Применение защиты L2-регуляризацией и измерение снижения успешности атаки.

8. Ключевые выводы

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

  2. Торговые модели особенно уязвимы: Высокая ценность и проприетарный характер торговых данных делают атаки membership inference особенно разрушительными в финансовом контексте.

  3. Существует множество векторов атак: От простых пороговых атак до сложных подходов с теневыми моделями, у противников богатый инструментарий. Защита от одного метода не гарантирует безопасность от других.

  4. Разрыв обобщения - корневая причина: Membership inference фундаментально эксплуатирует разницу между поведением модели на обучающих и невиденных данных. Любая техника, уменьшающая этот разрыв (регуляризация, ранняя остановка, аугментация данных), помогает.

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

  6. Необходима глубокая защита: Комбинируйте регуляризацию, возмущение выходов и архитектурные решения (такие как дистилляция знаний) для надёжной защиты.

  7. Проводите аудит своих моделей: Регулярно запускайте атаки membership inference против собственных моделей для количественной оценки утечки приватности, прежде чем это сделают противники.

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