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

  • Насколько эта оценка отличается от оценки ROC-AUC, которую можно было бы получить, если бы все данные были расположены на одном устройстве?
  • При каких условиях оба балла равны? Равны ли они только в том случае, когда данные одинаково распределяются между всеми устройствами?

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

Мотивация: федеративное обучение

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

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

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

Если мы хотим проверить производительность модели, мы хотели бы сделать это таким образом, чтобы мы могли собрать как можно меньше информации о данных. Возможным решением может быть расчет показателя производительности модели A (например, оценка ROC-AUC) на каждом устройстве для данных, содержащихся на этом устройстве, а затем безопасная отправка вычисленное среднее значение метрик на сервере. В этом случае владелец модели (сервер) получает эту усредненную метрику, но не знает, как она соотносится с метрикой A (D), вычисленной, если все данные D был в одном месте, т.е. он не знает, если:

где мы разделили данные D на M подмножеств.

Определение ROC-AUC

Мы рассмотрим случай наличия задачи двоичной классификации. Набор данных, состоящий из характеристик (x∈ ℝⁿ) и целевых значений (y∈ {0,1}), используется для обучения модели g: ↦ ℝ, который присваивает каждой характеристике оценку ξ = g (x). Сравнивая оценку ξ с порогом T, мы можем решить, принадлежит ли данный элемент классу y = 1 ( когда ξ ›T) или классу y = 0 (в противном случае) .

Например, мы можем рассмотреть случай наличия набора данных с тремя характеристиками (x ∈ ℝ³), целевой переменной y и моделью g. что определяется следующим образом:

где ω обозначают обученные параметры модели.

Мы можем разделить вычисленные оценки ξ на две группы: группу оценок, полученных из точек данных, которые принадлежат к положительному классу (y = 1) и к отрицательному классу ( y = 0) соответственно. Обе группы оценок можно интерпретировать как выборки из функций распределения вероятностей f₊, f₋ для элементов первая и вторая группы соответственно. Пример визуализации обоих распределений приведен на рисунке ниже.

На рисунке представлен общий случай, когда мы не можем установить порог T так, чтобы обе функции распределения вероятностей могли быть полностью разделены. Некоторые элементы отрицательного класса классифицируются как положительные (ложноположительные = FP; это область под синей кривой справа от T), а некоторые элементы положительного класса классифицируются как отрицательные (Ложноотрицательный = FN; это область под красной кривой в левой части T). В целом, чем лучше модель, тем меньше перекрытие между f₊, f₋ и, соответственно, тем меньше количество ложных срабатываний и ложноотрицательных результатов.

Площадь f₋, f₊ справа от T равна частоте ложных срабатываний ( FPR) и истинно положительной ставке (TPR) соответственно. Оба они определены как:

Кривая рабочих характеристик приемника, или кривая ROC, представляет собой графический график, который иллюстрирует способность модели различать два класса при изменении ее порога дискриминации T. Показатель ROC-AUC определяется как площадь под кривой ROC и используется для измерения производительности модели. Эту оценку можно выразить как функцию обеих функций распределения вероятностей f₊, f₋ следующим образом:

где FPR ′ (ξ) относится к производной FPR (ξ) по ξ. Это уравнение будет использоваться для объяснения некоторых различий между оценкой ROC-AUC и предлагаемой усредненной оценкой ROC-AUC в режиме федеративного обучения.

ROC-AUC в режиме федеративного обучения

Как уже упоминалось в разделе Мотивация: федеративное обучение, мы рассмотрим (1) для случая, когда метрика A равна Оценка ROC-AUC, то есть:

Количество устройств равно M, а D_m обозначает данные, содержащиеся в m -м устройстве. В следующих разделах мы увидим, что равенство в (7a) зависит от функций распределения (f₊, f₋ ) оценок для каждого устройства. Мы рассмотрим несколько случаев.

Случай 1: распределения f₊, f₋ между устройствами идентичны

Для разминки мы рассмотрим тривиальный случай, когда точки данных, содержащиеся на каждом из M устройств, распределены одинаково. Это означает, что распределения f₊_m, f₋_m (m = 1, 2, ... M) оценок, полученных из применение обученной модели к данным на каждом из M устройств одинаково, то есть:

То же утверждение можно применить к ложным срабатываниям (FPR _m) и к истинным положительным результатам (TPR _m), которые получены из f₋ и f₊ соответственно. Используя (6), мы можем заключить, что оценка ROC-AUC для каждого из M устройств будет одинаковой, то есть:

Отсюда следует, что средняя оценка ROC-AUC для всех устройств равна оценке ROC-AUC для всего набора данных.

Например, мы можем рассмотреть случай наличия 4 устройств, каждое из которых имеет 500 элементов положительного и 500 элементов отрицательного класса соответственно (исходный код, использованный для создания этого примера, приведен в конце сообщения). Элементы разделены между устройствами таким образом, что распределение оценок

примерно одинаковы и нормально распределены со средним значением μ₋, μ₊, и стандартным отклонением σ₋, σ₊, как показано на рисунке ниже. Такой ситуации можно добиться, если данные будут одинаково распределены между всеми устройствами.

В данном конкретном случае оценки ROC-AUC для четырех устройств следующие:

Как и ожидалось, средняя оценка ROC-AUC и оценка ROC-AUC для всего набора данных равны:

Небольшую разницу между оценками ROC-AUC для разных устройств можно объяснить конечным числом точек данных (n = 1000) на каждом устройстве, что приводит к небольшим различиям в распределении подвыборок.

Случай 2: распределения f₊, f₋ между устройствами не идентичны

Если мы рассмотрим случай, когда точки данных, содержащиеся в каждом из устройств M, не распределены одинаково, мы можем представить f₊ и f₋ следующим образом:

где I ₋, I относятся к количеству точек положительного / отрицательного класса во всем наборе данных, а I _m , I _m на соответствующий номер на m-м устройстве соответственно . Следует, что:

Случай 2.1: идентичны только распределения f₋ между устройствами

Это имеет следующий смысл:

где FPR ′ (T) = d FPR (T) / dT. Затем средневзвешенный показатель ROC-AUC для всех устройств рассчитывается следующим образом:

то есть он равен оценке ROC-AUC всего набора данных. Если количество элементов из положительного класса от каждого устройства I _m одинаково, последнее уравнение сводится к (9).

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

В этом конкретном случае оценки ROC-AUC четырех устройств различаются:

но средняя оценка ROC-AUC и оценка ROC-AUC для всего набора данных равны до второй цифры:

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

Случай 2.2: идентичны только распределения f₊ между устройствами

Это имеет следующий смысл:

Мы можем использовать уравнение (14) так же, как (12b) использовалось для доказательства (13):

В случае наличия одинакового количества элементов из положительного класса I _m в каждом устройстве это уравнение сводится к (9), то есть к среднему баллу ROC-AUC снова равно баллу ROC-AUC для всего набора данных.

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

В этом конкретном случае оценки ROC-AUC четырех устройств различаются:

но средняя оценка ROC-AUC и оценка ROC-AUC для всего набора данных равны до третьей цифры, как и ожидалось:

Интерактивная диаграмма, которая позволяет пользователю экспериментировать с различной степенью сходства между распределениями оценок f₊ и f₋ доступно по следующей ссылке.

Случай 2.3: Распределения f₊ и f₋ между устройствами не идентичны

В этом случае нельзя ожидать, что уравнение (9) будет выполнено. В нашем числовом примере мы действительно видим, что обе части (9) не равны, если f₊ и f₋ разные устройства.

Резюме

В этой статье мы рассмотрели, как изменяется средневзвешенное значение ROC-AUC для нескольких устройств, каждое из которых содержит локальный набор данных, по сравнению со случаем расчета ROC-AUC для полного набора данных на устройстве. одиночное устройство. Достаточным условием эквивалентности обоих показателей является то, что распределение положительных или отрицательных оценок среди всех устройств одинаково.

Эта работа проводилась в рамках проекта полиполия.

Ресурсы: