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

Оригинал статьи: https://arxiv.org/pdf/1602.05629.pdf

1. Федеративное обучение

Все чаще искусственный интеллект постепенно применяется к службам жизнеобеспечения, которые можно увидеть повсюду в социальной деятельности, такой как: система рекомендаций, камера наблюдения, медицинские экспертные системы и т. д. Приложения искусственного интеллекта часто используют большие объемы данных для анализа и обучения моделей. Однако проблема заключается в том, что пользовательские данные являются конфиденциальными и конфиденциальными. Растущее внимание к конфиденциальности и безопасности личной информации затрудняет обмен и интеграцию данных, создавая барьер для развития искусственного интеллекта. Предложение Federated Learning (FL) решило эту проблему.

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

Основная концепция федеративного обучения заключается в переносе централизованной модели на децентрализованные устройства, что устраняет необходимость сбора пользовательских данных. С развитием технологий мобильного интернета мобильные устройства становятся легче, портативнее и мощнее. В федеративном обучении задача обучения решается объединением локальных устройств (клиентов), деятельность которых координируется центральным сервером. Каждый клиент имеет локальные обучающие данные. Вместо загрузки данных на сервер для обучения, как в традиционном алгоритме, клиентские устройства обучают модель в течение нескольких эпох и передают обученные параметры на центральный сервер для агрегирования.

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

2. Алгоритм объединенного усреднения (FedAvg)

2.1 Проблема

Рассмотрим задачу оптимизации в машинном обучении:

где f_i(w) = loss(x_i, y_i, w) — это потеря предсказания для примера (x_i, y_i), сделанного с параметром w. Предположим, что имеется K клиентов, по которым разделены данные, где P_k — это набор индексов точек данных в клиенте k, при этом n_k = |P_k|. Таким образом, приведенную выше формулу можно переписать как:

2.2 Метод

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

  1. Выбирается случайная доля C клиентов, и выбранные пограничные устройства получают глобальную модель с центрального сервера.
  2. Пограничные устройства обучаются в течение нескольких эпох с локальными данными. Стохастический градиентный спуск (SGD) используется для оптимизации во время локального обучения.
  3. После циклов локальных обновлений результаты загружаются на центральный сервер для глобальной агрегации.

Этот процесс повторяется до тех пор, пока производительность модели не станет желаемой.

Псевдокод алгоритма FedAvg приведен на рисунке 2. При фиксированной скорости обучения η каждый клиент k вычисляет:

средний градиент по своим локальным данным в текущей модели w_t, , и центральный сервер агрегирует эти градиенты:

Эквивалентное обновление дается:

а потом:

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

3. Эксперименты и результаты

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

Для задачи классификации изображений авторы исследования включают три семейства моделей на двух наборах данных. Первые два предназначены для задачи распознавания цифр MNIST:

  1. Сеть многослойного персептрона с двумя скрытыми слоями по 200 единиц в каждом с использованием активаций ReLu (MNIST 2NN)
  2. CNN с двумя слоями свертки 5x5, полносвязным слоем с 512 единицами и активацией ReLu и финальным выходным слоем softmax.

Авторы изучают два способа разделения данных MNIST по клиентам:

  1. IIDданные: данные перемешиваются, а затем разделяются на 100 клиентов, каждый из которых получает 600 примеров.
  2. Данные не IID: они сначала сортируют данные по цифровой метке, делят их на 200
    сегментов размером 300 и назначают каждому из 100 клиентов по 2 сегмента.

На рисунках ниже приведены некоторые полученные результаты сравнения (подробности в оригинальной статье).

Увеличение параллелизма

Во-первых, они экспериментируют с клиентской долей C, которая контролирует степень многоклиентского параллелизма. В таблице 1 показано влияние изменения C для обеих
моделей MNIST:

Увеличение объема вычислений на одного клиента

В этом разделе авторы исправляют C = 0,1 и добавляют дополнительные вычисления для каждого клиента в каждом раунде, либо уменьшая B, либо увеличивая E, либо и то, и другое.

4. Вывод

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

Некоторые фреймворки для реализации федеративного обучения:

  1. Федеративный TensorFlow
  2. ОпенФЛ
  3. "СУДЬБА"

Если у вас есть какие-либо вопросы, оставьте комментарий ниже или свяжитесь со мной через linkedin или github

Если вам понравилось, поддержите меня.

Ресурсы:

[1]: FedAvg: https://arxiv.org/pdf/1602.05629.pdf

[2]: EdgeFed: https://ieeexplore.ieee.org/document/9260194