Представьте: вы собираете команду для решения сложной задачи. Часть участников честно делится знаниями, часть нет: одни путаются в фактах, другие уверенно говорят неправду, не осознавая этого. Задача лидера – выяснить, кому доверять, не устраивая допросов и не требуя показать личные дневники. Примерно такую задачу решает система под названием FedSIR – и решает её через математику, которая напоминает работу музыкального тюнера.
Когда ИИ учится у всех сразу – и это проблема
Федеративное обучение – это архитектура, при которой множество устройств или организаций обучают одну общую модель, не передавая свои данные на центральный сервер. Телефон учится распознавать ваш голос, больница – выявлять патологии на снимках, банк – обнаруживать мошенничество. Каждый участник обучает свою локальную копию модели, отправляет на сервер только обновления весов, а сервер собирает всё это в единую глобальную модель.
Звучит красиво. Данные никуда не уходят, конфиденциальность соблюдается, все в выигрыше. Но есть одна тихая катастрофа, которая происходит внутри: метки данных могут быть неправильными.
Метка – это подпись к данным. «Это кошка». «Это злокачественная опухоль». «Это мошенническая транзакция». Когда человек размечает данные вручную, он устаёт, торопится, ошибается. Когда разметка генерируется автоматически – алгоритм тоже ошибается. В федеративном обучении каждый участник приносит свои данные со своими ошибками, и если не принять мер, глобальная модель начинает учиться на чужих заблуждениях.
Это как учиться у класса, где половина учеников уверенно говорит неправильные ответы. Учитель, который слушает всех одинаково, в итоге запоминает ерунду.
Как боролись с этим раньше – и почему это работало не всегда
До появления FedSIR существовало два основных подхода к борьбе с зашумлёнными метками в федеративном обучении.
Первый – разработка специальных устойчивых к шуму функций потерь. Функция потерь – это математический способ сказать модели «ты ошиблась, исправляйся». Если сделать её менее чувствительной к отдельным неправильным примерам, модель не будет так сильно «дёргаться» из-за ошибочных меток. Проблема в том, что такие функции требуют точной настройки параметров, и то, что работает при 20% ошибок в метках, может полностью сломаться при 60%.
Второй подход – анализ динамики потерь. Нейронные сети обладают интересным свойством: они сначала запоминают простые, чистые примеры, и только потом – сложные или противоречивые. Если пример долго остаётся с высокой потерей, скорее всего, его метка ошибочна. Звучит умно, но в гетерогенной среде, где у каждого клиента своё распределение данных, этот сигнал становится ненадёжным: сложный пример и ошибочно размеченный пример начинают выглядеть одинаково.
Авторы FedSIR предложили совершенно иной путь – посмотреть не на потери, а на геометрию пространства признаков.
Пространство признаков: когда математика рисует карту
Когда нейронная сеть смотрит на изображение кошки, она не «видит» пиксели так, как их видим мы. Внутри сети каждое изображение превращается в вектор – набор чисел, описывающий абстрактные характеристики объекта. Это и называется признаковым представлением.
Важное свойство хорошо обученной сети: похожие объекты получают похожие векторы. Все кошки кластеризуются в одну область многомерного пространства, все собаки – в другую. Если теперь взять только кошек одного клиента и посмотреть, как их векторы расположены в этом пространстве, можно заметить: они образуют определённую геометрическую структуру, что-то вроде «плоскости» или «направления» в многомерном пространстве.
Математически это описывается через спектральное разложение – инструмент, который раскладывает матрицу данных на главные направления (собственные векторы) и их значимость (собственные значения). Если все «кошки» клиента действительно являются кошками, их векторы образуют чёткое, компактное подпространство. Если среди «кошек» затесались собаки с неправильными метками – структура расплывается, становится менее упорядоченной.
Это и есть главная интуиция FedSIR: чистые данные образуют более согласованные геометрические структуры, чем зашумлённые.
Три акта детективной истории
FedSIR работает в три этапа, каждый из которых логично вытекает из предыдущего.
Акт первый: кто честный, а кто нет
На первом этапе система определяет, какие из участников (клиентов) работают с надёжными данными, а у каких данные сильно засорены ошибочными метками.
Каждый клиент берёт глобальную модель и пропускает через неё свои данные, получая признаковые векторы. Затем для каждого класса – например, для всех примеров, помеченных как «кошка», – вычисляется спектральная структура этих векторов. Математически это делается через сингулярное разложение (SVD) матрицы признаков: результат – набор собственных векторов, описывающих «форму» данного класса в пространстве признаков.
Клиент отправляет на сервер только эти собственные векторы – небольшие матрицы, а не сами данные. Никакой утечки приватной информации.
Сервер собирает подпространства от всех клиентов и усредняет их для каждого класса. Получается глобальный спектральный эталон – что-то вроде «идеального образца того, как должны выглядеть признаки кошки». Затем для каждого клиента измеряется, насколько его локальная структура отличается от этого эталона. Клиенты с маленьким отклонением – вероятно, чистые. С большим – вероятно, зашумлённые.
Можно провести аналогию с музыкой: если попросить всех музыкантов сыграть ноту «ля», большинство сыграют 440 Гц или близко к тому. Если кто-то выдаёт 380 Гц – его инструмент расстроен. Сервер в FedSIR выступает как тюнер, который слышит всех одновременно и вычисляет, кто фальшивит.
Акт второй: исправить чужие ошибки, не заглядывая в чужой дневник
После идентификации зашумлённых клиентов начинается самое интересное – перемаркировка.
Сервер отправляет глобальные спектральные эталоны обратно на зашумлённые клиенты. Каждый такой клиент берёт каждый свой пример и задаёт вопрос: «На какой класс этот пример больше всего похож по структуре пространства признаков?»
Технически это делается через проекцию: признаковый вектор примера проецируется на подпространство каждого класса, и выбирается тот класс, на который проекция оказалась наибольшей. Если у изображения метка «кошка», но его вектор признаков сильнее проецируется на эталонное подпространство класса «собака» – метка, скорее всего, ошибочна, и её исправляют.
При этом используются не только главные направления классов, но и так называемые остаточные подпространства – более тонкие геометрические компоненты, которые помогают различать похожие классы. Это важно, например, когда два класса визуально близки и отличаются лишь в деталях.
После перемаркировки точность меток у зашумлённых клиентов в экспериментах повышалась на 15–25 процентных пунктов в зависимости от исходного уровня шума. Это существенно: разница между «модель почти не работает» и «модель работает нормально».
Акт третий: учиться с оглядкой на прошлое
Даже после перемаркировки часть ошибок остаётся. Некоторые примеры оказались слишком неоднозначными, чтобы их можно было уверенно исправить. Поэтому третий этап – обучение, которое само по себе устойчиво к остаточному шуму.
Здесь используются три инструмента в связке.
Первый – функция потерь с логарифмической коррекцией. Стандартная перекрёстная энтропия (привычная функция потерь для задач классификации) одинаково строго наказывает за каждую ошибку – даже если метка была заведомо ненадёжной. Модифицированная версия корректирует «штрафы» с учётом частотности классов и вероятности шума, делая обучение мягче в нужных местах.
Второй – дистилляция знаний. Это приём, при котором модель учится не только по жёстким меткам («это кошка – точка»), но и по «мягким» предсказаниям другой, более надёжной модели. В контексте FedSIR чистые клиенты делятся своими предсказаниями, и зашумлённые клиенты используют их как дополнительный учительский сигнал. Это помогает быстрее восстановиться от последствий шума – как если бы рядом с неуверенным учеником посадили опытного наставника, который шёпотом подсказывает правильное направление.
Третий – агрегация с учётом расстояния. Когда сервер собирает обновления от всех клиентов и объединяет их в глобальную модель, он делает это не поровну. Клиенты, чьи данные оказались чище (то есть у кого меньше спектральное отклонение из первого этапа), получают больший вес. Это логично: если мы уже знаем, кому доверять больше, зачем слушать всех одинаково?
Формально вес каждого клиента вычисляется через функцию, обратно пропорциональную его спектральному отклонению: чем клиент «чище», тем больше его влияние на итоговую модель. Температурный параметр позволяет регулировать, насколько жёстко система разделяет чистых и зашумлённых участников.
Что показали эксперименты
FedSIR тестировался на трёх стандартных наборах данных для классификации изображений – CIFAR-10, CIFAR-100 и EMNIST. В качестве архитектуры использовалась ResNet-18. Данные распределялись между клиентами по методу Дирихле – это стандартный способ смоделировать неравномерное, реалистичное распределение: у одного клиента почти все данные одного класса, у другого – смесь нескольких.
Тестировались два типа шума:
- Случайный (равномерный) шум – метки переворачиваются случайно, независимо от класса. Моделирует ситуацию, когда разметчик просто устал и кликал не думая.
- Асимметричный (зависящий от класса) шум – метки переворачиваются в конкретный похожий класс. Например, «9» переименовывается в «4». Этот тип шума встречается в реальных задачах, когда похожие объекты систематически путают.
Уровень шума варьировался от 20% до 80% для случайного типа и от 20% до 60% для асимметричного.
FedSIR сравнивался с семью конкурирующими методами – от базового FedAvg без какой-либо защиты от шума до специализированных решений вроде FedRoP, FedCor, FedMix, DR-FL, Meta-Weight-Net и CRFL.
Результаты оказались убедительными. На CIFAR-10 при 60% случайного шума FedSIR превзошёл ближайшего конкурента на 5–8 процентных пунктов по точности. При высоких уровнях шума, где многие методы начинают сильно деградировать, FedSIR сохранял стабильную производительность.
Особенно важны результаты абляционных исследований – экспериментов, в которых систему намеренно «ломали», отключая по одному компоненту. Оказалось:
- Без спектральной идентификации перемаркировка работала плохо: без чёткого разделения чистых и зашумлённых клиентов эталоны получались ненадёжными.
- Без перемаркировки система всё ещё работала лучше базовых методов, но не достигала максимума – ошибочные метки продолжали «отравлять» локальное обучение.
- Без шумоустойчивой стратегии обучения сходимость замедлялась и становилась нестабильной даже при правильно исправленных метках.
Три компонента работают в синергии: убрать любой из них – значит потерять существенную часть эффекта.
Почему это важно за пределами академических бенчмарков
Ошибочные метки – это не экзотическая проблема из учебника. В реальных системах они встречаются постоянно. Медицинские данные размечают врачи, которые могут расходиться во мнениях. Пользовательские данные размечаются автоматическими системами, которые сами несовершенны. Краудсорсинговые датасеты собираются людьми с разным уровнем экспертизы.
Когда федеративное обучение применяется в таких условиях – а именно так оно чаще всего и применяется в реальных сценариях 2020-х годов – проблема зашумлённых меток становится критической. Стандартные методы либо требуют дополнительного чистого датасета для калибровки, либо полагаются на эвристики, которые ломаются при неравномерном распределении данных между клиентами.
FedSIR обходит оба ограничения: он не требует внешнего чистого датасета, использует только то, что уже есть у клиентов и на сервере, и передаёт минимум данных – только компактные матрицы собственных векторов, а не сырые данные или полные градиенты.
Это делает подход совместимым с требованиями конфиденциальности, которые являются главным смыслом федеративного обучения как такового.
Геометрия как детектор лжи
Если отойти от технических деталей и посмотреть на FedSIR шире, можно заметить красивую идею в основе метода: данные не умеют врать геометрически.
Человек может написать неправильную метку. Автоматический скрипт может ошибиться в классификации. Но признаковые векторы – то, как нейронная сеть «видит» объект внутри своего пространства – отражают реальную структуру данных независимо от того, что написано в столбце «метка». Кошка остаётся кошкой в пространстве признаков, даже если её назвали собакой.
Именно это свойство и использует FedSIR: он смотрит не на то, что люди написали, а на то, что нейронная сеть на самом деле «думает» о данных. И использует это расхождение как сигнал для исправления ошибок.
ИИ – как ребёнок: он повторяет наши ошибки, но учится быстрее. FedSIR – это попытка дать ему чуть больше возможностей замечать, когда взрослые ошибаются, и не принимать их слово на веру.