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

НаписаноЕшей Шастрии первоначально опубликовано в блоге V7 (Пошаговое руководство по федеративному обучению в области компьютерного зрения)

Способы обучения моделей машинного обучения за последние годы претерпели значительные изменения.

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

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

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

Пойдем!

💡Мы всегда ищем талантливых технических писателей. Хотели бы вы внести свой вклад в блог V7? Отправьте свое портфолио на [email protected]

Что такое федеративное обучение?

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

Вот почему так важно федеративное обучение.

  1. Конфиденциальность. В отличие от традиционных методов, при которых данные отправляются на центральный сервер для обучения, федеративное обучение позволяет проводить обучение локально на пограничном устройстве, предотвращая потенциальную утечку данных.
  2. Безопасность данных. На центральный сервер передаются только зашифрованные обновления модели, что обеспечивает безопасность данных. Кроме того, методы безопасного агрегирования, такие как принцип безопасного агрегирования, позволяют расшифровывать только агрегированные результаты.
  3. Доступ к разнородным данным. Федеративное обучение гарантирует доступ к данным, разбросанным по разным устройствам, в разных местах и ​​организациях. Это позволяет обучать модели на конфиденциальных данных, таких как финансовые или медицинские данные, сохраняя при этом безопасность и конфиденциальность. А благодаря большему разнообразию данных модели можно сделать более обобщаемыми.

Как работает федеративное обучение?

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

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

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

Типы федеративного обучения

Давайте рассмотрим часто используемые стратегии и алгоритмы, используемые для федеративного обучения.

Стратегии федеративного обучения

Централизованное федеративное обучение

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

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

Децентрализованное федеративное обучение

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

Такой подход предотвращает возможность единичного отказа; однако точность модели полностью зависит от сетевой топологии пограничных устройств.

Гетерогенное федеративное обучение

Гетерогенное федеративное обучение предполагает наличие гетерогенных клиентов, таких как мобильные телефоны, компьютеры или устройства IoT (Интернет вещей). Эти устройства могут отличаться аппаратным и программным обеспечением, вычислительными возможностями и типами данных.

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

Алгоритмы федеративного обучения

Федеративный стохастический градиентный спуск (FedSGD)

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

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

Федеративное усреднение (FedAvg)

Федеративное усреднение является расширением алгоритма FedSGD.

Клиенты могут выполнять более одного локального обновления градиентного спуска. Вместо того, чтобы делиться градиентами с центральным сервером, совместно используются веса, настроенные на локальной модели. Наконец, сервер агрегирует веса клиентов (параметры модели).

Федеративное усреднение является обобщением FedSGD — если все клиенты начинают с одной и той же инициализации, усреднение градиентов равно усреднению весов. Таким образом, Federated Averaging оставляет место для настройки локальных весов перед их отправкой на центральный сервер для усреднения.

Федеративное обучение с динамической регуляризацией (FedDyn)

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

Из-за неоднородности клиентов минимизация глобальных потерь отличается от минимизации локальных потерь. Таким образом, метод FedDyn направлен на создание условия регуляризации для локальных потерь путем адаптации к статистике данных, такой как объем данных или стоимость связи. Эта модификация локальных потерь посредством динамической регуляризации позволяет локальным потерям сходиться к глобальным потерям.

Федеративные системы обучения

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

Платформа FedCV создана для преодоления разрыва между исследованиями и реальной реализацией алгоритмов федеративного обучения.

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

  • Уровень приложений компьютерного зрения
  • API высокого уровня
  • API низкого уровня

Давайте обсудим вклад всех этих модулей.

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

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

Ориентированный на пользователя дизайн API обеспечивает простую реализацию и гибкое взаимодействие между клиентами и работниками.

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

Проблемы и ограничения федеративного обучения

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

Коммуникационная эффективность

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

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

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

Конфиденциальность и защита данных

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

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

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

Неоднородность систем

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

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

Статистическая неоднородность

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

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

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

Реальные приложения федеративного обучения

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

Смартфоны

Смартфоны — один из наиболее распространенных способов увидеть федеративное обучение в действии. Прогнозирование слов, распознавание лиц для ведения журнала или распознавание голоса при использовании Siri или Google Assistant — все это примеры решений на основе федеративного обучения. Это помогает персонализировать пользовательский опыт, сохраняя при этом конфиденциальность.

Транспорт

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

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

💡Подробнее: 9 революционных приложений искусственного интеллекта на транспорте

Производство

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

AR/VR можно использовать для обнаружения объектов и помощи в удаленных операциях и виртуальной сборке. Федеративное обучение может помочь улучшить системы обнаружения для создания оптимальных моделей.

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

💡Подробнее: 7 готовых применений ИИ в производстве

Здравоохранение

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

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

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

💡Подробнее: 7 жизненно важных случаев использования ИИ в здравоохранении

Федеративное обучение: основные выводы

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

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

Три основные стратегии выполнения FL: централизованный FL, децентрализованный FL и гетерогенный FL; некоторые из популярных алгоритмов FL включают FedSGD, FedAvg и FedDyn.

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

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