XFL 介绍
Федеративное обучение
Федеративное обучение — это процесс машинного обучения, в котором участники могут совместно моделировать и обучать, не разделяя свои частные данные (то есть данные остаются локальными), что позволяет создавать общие модели машинного обучения.
Особенности:
-
Разделение данных: данные каждого участника остаются на его стороне, обеспечивая конфиденциальность и невидимость данных.
-
Равное участие: в системе федеративного обучения участники совместно создают общую модель, сохраняя равенство и получая взаимную выгоду.
-
Сохранение качества: результаты построения модели с использованием федеративного обучения близки или эквивалентны результатам, полученным при объединении данных в одном месте.
Классификация:
-
Горизонтальное федеративное обучение: данные участников имеют большое пересечение по характеристикам пользователей, но небольшое пересечение самих пользователей.
-
Вертикальное федеративное обучение: характеристики пользователей распределены между участниками, а сами пользователи имеют значительное пересечение.
-
Федеративная миграция обучения: и пользовательские данные, и характеристики пользователей имеют небольшое пересечение между участниками.
В нашей структуре алгоритм делится на три категории в зависимости от характеристик источника данных:
- Local (или standalone): данные полностью находятся на локальном уровне, алгоритм работает независимо.
- Horizontal: горизонтальное федеративное обучение. Данные образцов распределяются между разными участниками, имея общие наборы данных характеристик.
- Vertical: вертикальное федеративное обучение. Характеристики данных распределяются между участниками, образцы данных могут быть общими или перекрывающимися.
Процесс обучения для горизонтального федеративного обучения включает следующие шаги:
0. Сервер отправляет участникам открытые ключи.
- Участники используют локальные данные для обучения модели и рассчитывают градиенты, которые затем шифруются и отправляются обратно на сервер.
- Сервер объединяет градиенты участников и обновляет параметры модели, отправляя их обратно участникам.
- Участники обновляют свои модели.
- Шаги 1–3 повторяются.
Схема процесса представлена ниже:

Пример процесса обучения для вертикального федеративного обучения:
- Участник с метками генерирует открытый ключ и отправляет его другим участникам.
- Безметочные участники вычисляют промежуточные параметры и передают их участнику с метками после шифрования.
- Участник с метками вычисляет потери и передаёт их безметочным участникам.
- Безметочные участники рассчитывают градиент, добавляют случайный маскирующий слой после шифрования и отправляют результат участнику с метками.
- Участник с метками расшифровывает градиент и возвращает его безметочным участникам.
- Шаги 1-4 повторяются.
Схема этого процесса представлена ниже:

Роли участников
Scheduler
Планировщик, который координирует работу кластера, управляет Trainer и отвечает за управление и отправку задач федеративного обучения.
Trainer
Исполнительный узел для совместного обучения моделей федеративного обучения, управляемый Scheduler. Каждый участник федеративного обучения имеет один или несколько Trainer, взаимодействующих с федеративным параметрическим сервером. Обычно включает:
- Trainer участника федеративного обучения без меток: данные не содержат меток, обычно инициируется участником федеративного обучения;
- Label Trainer участника федеративного обучения с метками: данные содержат метки, обычно предоставляются другими участниками федеративного обучения;
Также может включать:
- Assist Trainer: узлы, помогающие в обучении, например, для горизонтального объединения градиентов.
Набор данных
Пользовательский набор данных
Для лучшей работы XFL на пользовательских наборах данных рекомендуется изменить данные в соответствии со следующими соглашениями:
- Файлы данных должны быть разделены запятыми и содержать заголовки.
- Первый столбец должен содержать данные id (если есть), с именем столбца «id». Второй столбец должен содержать метки (если есть) с именем столбца «y».
- Строковые данные пока не поддерживаются, требуется предварительная обработка и очистка данных.
Опубликовать ( 0 )