1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/basebit-ai-XFL

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
introduction.md 7.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 17:18 886dbbe

XFL 介绍

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

Особенности:

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

Классификация:

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

В нашей структуре алгоритм делится на три категории в зависимости от характеристик источника данных:

  1. Local (или standalone): данные полностью находятся на локальном уровне, алгоритм работает независимо.
  2. Horizontal: горизонтальное федеративное обучение. Данные образцов распределяются между разными участниками, имея общие наборы данных характеристик.
  3. Vertical: вертикальное федеративное обучение. Характеристики данных распределяются между участниками, образцы данных могут быть общими или перекрывающимися.

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

  1. Участники используют локальные данные для обучения модели и рассчитывают градиенты, которые затем шифруются и отправляются обратно на сервер.
  2. Сервер объединяет градиенты участников и обновляет параметры модели, отправляя их обратно участникам.
  3. Участники обновляют свои модели.
  4. Шаги 1–3 повторяются.

Схема процесса представлена ниже:

Пример процесса обучения для вертикального федеративного обучения:

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

Схема этого процесса представлена ниже:

Роли участников

Scheduler Планировщик, который координирует работу кластера, управляет Trainer и отвечает за управление и отправку задач федеративного обучения.

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

  • Trainer участника федеративного обучения без меток: данные не содержат меток, обычно инициируется участником федеративного обучения;
  • Label Trainer участника федеративного обучения с метками: данные содержат метки, обычно предоставляются другими участниками федеративного обучения;

Также может включать:

  • Assist Trainer: узлы, помогающие в обучении, например, для горизонтального объединения градиентов.

Набор данных

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

  • Файлы данных должны быть разделены запятыми и содержать заголовки.
  • Первый столбец должен содержать данные id (если есть), с именем столбца «id». Второй столбец должен содержать метки (если есть) с именем столбца «y».
  • Строковые данные пока не поддерживаются, требуется предварительная обработка и очистка данных.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/basebit-ai-XFL.git
git@api.gitlife.ru:oschina-mirror/basebit-ai-XFL.git
oschina-mirror
basebit-ai-XFL
basebit-ai-XFL
master