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

Оригинал статьи: https://ieeexplore.ieee.org/document/9260194

1. Введение

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

FedAvg — это практичный метод FL глубоких сетей, основанный на итеративном усреднении моделей, он устойчив к несбалансированным, независимым и одинаково распределенным (не IID) данным. ([1])

В алгоритме FedAvg локальные устройства, такие как смартфоны, ноутбуки, камеры наблюдения и т. д., собирают данные и несут ответственность за расчеты на местном уровне. Однако граничные устройства часто имеют ограниченные вычислительные ресурсы и ограниченную емкость аккумулятора. EdgeFed предложил пограничный сервер, относительно близкий к мобильным устройствам и обладающий достаточными ресурсами.

2. Алгоритм EdgeFed

2.1 Структура

На рис. 2 показана структура EdgeFed. В EdgeFed есть три основные части: центральный сервер, пограничные серверы и пограничные устройства.

  1. Центральный сервер в основном развернут в облаке и состоит из большого количества вычислительных ресурсов и ресурсов хранения.
  2. Пограничные серверы развертываются в среде на границе сети, например, в маршрутизаторах, персональных компьютерах и т. д. Они имеют короткие каналы передачи данных, большую пропускную способность, поэтому скорость передачи данных относительно высока. Кроме того, пограничные серверы имеют более мощные вычисления и хранилище, чем пограничные устройства.
  3. Пограничные устройства — это интеллектуальные конечные устройства в среде периферийной сети, такие как смартфоны, камеры, смарт-часы и т. д. Эти граничные устройства всегда хорошо подходят для сбора и обработки данных, но имеют ограниченную емкость батареи из-за своих характеристик легкости и портативности. Вычислительные возможности периферийных устройств различаются из-за различий в базовом оборудовании и архитектуре системы.

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

  1. Граничное устройствоk выполняет расчет с локальными данными на нижних слоях модели (рис. 2).
  2. Пограничный сервер m будет объединять выходные данные нижних уровней со всех пограничных устройств в большую матрицу x_pool.

3. Пограничный сервер обновит параметры модели и вернет их на пограничные устройства.

4. Пограничный сервер mотправляет обновленные параметры модели ω_t на центральный сервер для вычисления средневзвешенного значения для получения глобально агрегированных обновленных параметров ω_{t+ 1

5. Центральный сервер возвращает параметры модели ω_{t+1} на пограничный сервер для следующей итерации.

2.2 Алгоритмы

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

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

Основной моделью этого эксперимента является сверточная нейронная сеть (CNN), которая состоит из двух сверточных слоев с соответственно 32 и 64 фильтрами размером 5 × 5. В качестве функции активации используется Relu (Rectified Linear Unit), размер из двух слоев пула составляет 2 × 2, а последний слой представляет собой полносвязный (FC) уровень из 10 узлов. SGD используется для тренировочного процесса.

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

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

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

Заключение

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

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

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

Ресурсы:

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

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

[3] Обзор FedAvg: Ссылка