Что такое федеративное обучение и зачем оно нужно?
Федеративное обучение (FL) — это настройка машинного обучения, которая позволяет различным организациям сотрудничать для создания мощной общей модели без необходимости делиться своими личными данными.
Давайте рассмотрим пример федеративной системы обучения и объясним, зачем вам ее создавать:
Предположим, вы — прекрасная компания/банк/больница, и у вас есть некоторый объем данных, но вы хотите, чтобы ваша модель видела больше данных и различные шаблоны данных, надеясь, что это поможет вашей модели работать лучше и быть менее предвзятой.
Итак, вы идете в другую компанию/банк/больницу и просите показать их данные вашей модели, обещая им, что вы не какая-то злая ведьма,
но даже если вы уважительное лицо, они все равно могут это сделать. Я не могу показать их данные вашей модели по многим причинам.
Так что же делать 🤔
ну некоторые говорят, что в данном конкретном случае FL будет очень хорошим решением.
Проще говоря, в этом случае федеративное обучение будет осуществляться следующим образом:
Ингредиенты:
- Хороший сервер: мы можем назвать его объединенным сервером.
- Алгоритм агрегации.
- Глобальная модель со случайными начальными весами.
Шаги:
1- федеративный сервер отправляет глобальную модель каждому объекту.
2. Каждый объект обучает глобальную модель на своих данных, извлекает новые веса модели и отправляет эти веса на интегрированный сервер.
3. Объединенный сервер использует алгоритм агрегирования для агрегирования весов, полученных от каждого объекта, — может просто взять их среднее значение, присвоить полученный вес глобальной модели и отправить его обратно объектам.
4- повторяйте 🔁2,3, пока не получите хорошее схождение.
И бац, теперь у вас есть мощная модель, которая может принести пользу вашей компании/банку/больнице и другим, эта модель менее предвзята и более мощна, чем модель, которую вы могли бы построить на своих ограниченных данных.
Существует множество разновидностей федеративного обучения, и тот, о котором мы говорили в приведенном выше примере, называется межуровневым горизонтальным федеративным обучением. Шаги и ингредиенты, о которых мы говорили выше, можно немного изменить для использования в настройках горизонтального кросс-девайса.
Системы федеративного обучения можно разделить на несколько категорий:
1- В зависимости от типа разделения данных:
В зависимости от того, как данные распределяются по выборке и пространствам функций между различными клиентами, FLS можно разделить на 3 основные категории.
- Горизонтальное федеративное обучение:
В этой настройке FL все клиенты имеют одно и то же пространство признаков, то есть одни и те же имена столбцов, но все они получили разные выборки. Примером этого являются два банка, которые собирают одни и те же характеристики о своих клиентах (номер счета, время транзакции, название продавца, состояние продавца,…..), и у каждого из них были разные клиенты.
Большая часть доступной работы в литературе по федеративному обучению выполнена на горизонтальном FL.
- Вертикальное федеративное обучение:
В этой настройке FL все клиенты имеют одни и те же выборки, но разные пространства признаков, то есть разные имена столбцов. Примером этого могут быть 2 больницы, обе из этих больниц получили данные об одной и той же группе пациентов, но эти данные различаются по своей природе. , больница 1 получила результаты рентгена и КТ
- Перенос федеративного обучения
Сочетание горизонтальных и вертикальных настроек.
Примером того, где может потребоваться такая установка, является система диагностики рака. Группа больниц хочет создать FLS (федерированную систему обучения) для диагностики рака, но в каждой больнице разные пациенты, а также разные виды медицинского обследования. В таком случае возможным решением может быть передача федеративного обучения.
2- В зависимости от типа модели машинного обучения, выбранного для клиента:
Каждый клиент, участвующий в системе федеративного обучения, определенно стремится применить самые современные модели к своему локальному набору данных, и на основе этого выбора модели будут решаться многие вопросы в FLS, например, выбор агрегирования. функция.
Вот некоторые модели архитектуры, которые использовались в различных системах федеративного обучения:
- Модели на основе NN:
Модели на основе нейронных сетей (NN) являются одной из самых известных архитектур моделей, используемых в FLS. Они достигают очень хороших результатов во многих задачах, таких как классификация изображений, обнаружение мошенничества, предсказание слов и т. д.……..
Существует множество функций агрегирования, которые могут работать с такой архитектурой. Самая известная из них — FedAvg.
- Древовидные модели:
Древовидные модели являются одной из самых известных моделей машинного обучения, особенно когда речь идет о работе с наборами табличных данных. Они более экономичны в вычислительном отношении и просты в интерпретации по сравнению с моделями на основе NN.
В мире Флориды исследовано множество древовидных моделей, включая деревья решений, случайные леса, деревья решений с градиентным усилением (GBDT), XGBoost и т. д.
- Линейные модели:
Классические линейные модели (включая линейную регрессию, логистическую регрессию, SVM и т. д.) — это известные модели, которые обычно часто используются, поскольку их очень легко понять.
Примечание. Большинство доступных в настоящее время фреймворков FL созданы для работы со стохастическим градиентным спуском, который представляет собой классический алгоритм оптимизации, используемый для обучения моделей на основе нейронной сети, логистической регрессии и т. д.
3- На основе механизмов конфиденциальности:
Одна из самых важных вещей при создании FLS — убедиться, что данные каждого клиента безопасны и конфиденциальны.
Вы можете подумать, что, поскольку данные клиентов не доступны серверу, они безопасны и конфиденциальны.
Но на самом деле параметр модели, которым обмениваются сервер и клиенты, может раскрыть конфиденциальную информацию о данные клиентов.
В FLS есть две основные категории конфиденциальности: глобальная конфиденциальность и локальная конфиденциальность.
В глобальной конфиденциальности мы предполагаем существование заслуживающего доверия сервера, поэтому обновления от каждого клиента отправляются на сервер без какой-либо дополнительной конфиденциальности. Затем сервер должен приватизировать эти обновления, чтобы защитить их от любой ненадежной третьей стороны.
В режиме локальной конфиденциальности даже сам сервер не видит необработанные обновления.
Создание алгоритма гарантии конфиденциальности для FLS сталкивается с множеством проблем, поскольку этот алгоритм требует:
- быть вычислительно дешевым.
- Чтобы обеспечить эффективность связи, некоторые алгоритмы могут вызывать накладные расходы на процесс связи между клиентами и сервером, и это может стать настоящим бременем для FLS.
- быть толерантным к отброшенным клиентам - тем, кто не может связаться с сервером в текущем раунде -
- чтобы не оказывать чрезмерного влияния на точность системы или любой другой показатель, который вы выберете для своей системы.
Конфиденциальность в FLS — это очень широкая и важная тема, на которую вам следует обратить внимание, если вы собираетесь однажды создать FLS.
4- В зависимости от типов клиентов:
Что касается типов клиентов, системы федеративного обучения можно разделить на два основных типа: перекрестные и перекрестные.
- Кросс-девайс:
В настройках кросс-девайса FL имеет дело с огромным количеством клиентов — смартфонами, устройствами IoT и т. д. — что может создать крупномасштабную систему, которая может содержать в себе много сложностей.
При построении FLS в таких условиях следует быть осторожным с тем, какие модели они выбирают для клиента, поскольку у большинства клиентов в настройке для нескольких устройств не будет достаточной вычислительной мощности для обучения тяжелой модели на своих локальных данных. .
Известным примером использования горизонтального и кросс-девайсного FLS является Google GBoard, который обучается на телефонах пользователей Google и используется для прогнозирования следующего слова.
- межхранилище:
Основное различие между кросс-силосом и кросс-устройством заключается в том, что клиент в этом случае получает гораздо больший объем данных и, вероятно, гораздо большую вычислительную мощность, а также количество клиентов в FLS в этом случае обычно значительно меньше. .
Примеры клиентов: больница/банк/компания.
Пример, который был во введении, очевидно, относится к межбункерной FLS.
Известным примером использования горизонтального и перекрестного FLS является использование FATE — системы федеративного обучения с открытым исходным кодом — в борьбе с отмыванием денег, в данном случае использование FL между различными банками позволило спасти этим банкам более тысячи случаев. это нужно было пересматривать за день.
зачем нужно федеративное обучение?
Думаю, теперь вы и сами поняли важность использования федеративного обучения, но на тот случай, если вам удалось их не заметить, давайте пройдемся по некоторым основным причинам, почему FL необходим:
1 – Повышенная конфиденциальность и безопасность данных:
Даже несмотря на риск того, что параметры модели, которыми обмениваются, могут раскрыть некоторую конфиденциальную информацию о данных клиента, FL остается гораздо более конфиденциальным, чем отправка данных клиентов на сервер, особенно в случае, когда клиентом является смартфон или устройство IoT, FL. в этом случае может минимизировать риск утечки персональных данных и гарантировать лучшую безопасность операций.
2. Разнообразие данных:
FL может предоставить вам модель, способную обрабатывать более широкий диапазон данных, что может повысить точность модели.
Очень хорошим примером того, почему такая вещь важна, является искусственный интеллект в мире здравоохранения. В реальном мире, в отличие от мира клинических испытаний, популяции пациентов велики и разнообразны — молодые и старые, состоятельные и бедные, выходцы из разных стран. различных расовых и этнических групп, а также лечение по разным протоколам в зависимости от времени и места. Тем не менее, большинство традиционных моделей ИИ в здравоохранении разрабатываются и обучаются с использованием наборов данных, которые не отражают общую популяцию пациентов или частые изменения в клинической практике.
3. Лучшая масштабируемость и экономическая эффективность
В FLS данные секционируются и обучаются на нескольких устройствах. Это свойство позволяет реализовать две вещи:
1- Параллелизм: работа с данными будет выполняться практически одновременно с помощью разных устройств, что может ускорить обучение модели ML.
2- Вместо того, чтобы передавать необработанные данные от клиентов на сервер, будет осуществляться обмен только параметрами, и в случае хорошего протокола конфиденциальности, который не добавляет больших накладных расходов, это свойство уменьшит объем данных, которые необходимо передать. передаваться в сеть и обрабатываться в облаке.
Закрытие
Федеративное обучение может стать решением многих проблем конфиденциальности и безопасности. Оно все еще очень новое, но неуклонно растет, и сегодня существует множество исследований и инфраструктур с открытым исходным кодом, которые могут помочь людям, заинтересованным в его применении.
Ссылки:
2- Федеративное обучение: проблемы, методы и будущие направления
4- Федеративное обучение для прогнозирования мобильной клавиатуры
5- https://www.fedai.org/cases/utilization-of-fate-in-anti-money-laundering-through-multiple-banks/
6- https://gemmo.ai/federated-learning
7- https://blog.openmined.org/federated-learning-types/
8- https://t-dab.ai/benefits-of-federated-learning-explained/
9- https://www.statnews.com/2021/04/30/federated-learning-improve-data-diversity/