Проблема FedAvg и лишнего шума
В горизонтальном федеративном обучении (HFL), где данные распределены между узлами (например, больницами), стандартный алгоритм FedAvg усредняет веса моделей. Главная проблема: если на одном узле есть нерелевантные признаки, они «путешествуют» с обновлениями весов, добавляя шум. Для узлов с меньшим объемом данных этот шум ощущается сильнее, снижая общую точность модели. Традиционные методы отбора признаков (Lasso, Random Forest) требуют объединения таблиц, что в HFL невозможно из-за приватности.
Суть метода Feature Election
Предложенный метод не требует новых криптографических протоколов или сложных архитектур. Каждый узел запускает знакомый локальный селектор признаков (например, Lasso или Mutual Information), получая бинарную маску (выбран/не выбран) и вектор оценок важности. Сервер не видит данных, только эти метаданные. Решение принимается через взвешенное голосование:
- Интерсекция: Признаки, выбранные всеми узлами, сохраняются автоматически.
- Уния: Признаки, отвергнутые всеми, удаляются.
- Спорная зона: Признаки, по которым есть разногласия, оцениваются по агрегированному голосу, где вес узла пропорционален количеству его строк данных ($n_i$).
Параметр «Freedom Degree» (fd)
Ключевой параметр $fd \in [0, 1]$ контролирует строгость отбора:
- $fd = 0$: Работает правило вето. В модель попадают только признаки, единогласно одобренные всеми узлами (максимальная строгость, риск потери полезных признаков).
- $fd = 1$: Работает правило объединения. В модель попадают все признаки, хоть кем-то рекомендованные (риск попадания шума).
- $fd \in (0, 1)$: Сервер нормализует оценки каждого узла в диапазон [0, 1], вычисляет взвешенный голос $V = \sum w_i \cdot M_i$ и оставляет топ-$k$ признаков из спорной группы.
Пример расчета
Рассмотрим три узла с долями данных 50%, 30% и 20%. При $fd = 0.4$ из спорной группы (3 признака) сервер оставляет 2 лучших. Если признак f2 получил высокие оценки от крупных узлов, он победит, даже если мелкий узел его проигнорировал. Это предотвращает доминирование «шумных» строгих селекторов малых узлов.
| Признак | Статус узлов | Агрегированный голос (V) | Результат при fd=0.4 |
|---|---|---|---|
| f1 | Выбран всеми (Интерсекция) | n/a | Оставлен |
| f2 | Выбран C1, C2 | 0.69 | Оставлен (Ранг 1) |
| f3 | Выбран C2, C3 | 0.46 | Оставлен (Ранг 2) |
| f4 | Выбран только C3 | 0.19 | Отклонен |
Практическая реализация и результаты
Метод реализован как плагин для NVIDIA FLARE (через FeatureElectionController) и совместим с фреймворком Flower. Алгоритм использует стандартные библиотеки (NumPy) для локальной обработки, а сервер лишь агрегирует маски и оценки. Это позволяет интегрировать Feature Election в существующие пайплайны FedAvg без изменения архитектуры передачи градиентов. Исследователи отмечают снижение размера модели и улучшение метрики F1 по сравнению с базовым подходом, где отбор признаков не производится.
Источник: Towards Data Science ↗
