Изолированные данные, единая цель:
федеративное обучение как решение будущего
Федеративное обучение ― стремительно развивающееся направление машинного обучения, включающее различные вариации.
По типу распределения данных между участниками взаимодействия и способам формирования глобальной модели принято выделять:
Участники имеют одно и то же пространство признаков, но разные образцы данных.
Например, обучение моделей на основе данных о клиентах нескольких банков в разных регионах.
В этом типе FL подразумевается взаимодействие владельцев данных, заинтересованных в получении более точной модели, нежели способны обеспечить их локальные данные.
Предполагается наличие у владельцев соответствующих вычислительных ресурсов и независимое последующее использование глобальной модели.
При таком сценарии дообучение глобальной модели происходит на устройствах, непосредственно продуцирующих данные.
Интересант, в первую очередь, ― вендор программного обеспечения, содержащего исходную модель, которое в процессе взаимодействия с новыми данными обновляет интегрированную модель, во-вторую ― владелец устройства, получающий более точный итог работы за счет адаптации модели.
Этот тип FL рассматривает случай, когда клиенты располагают разными признаками совпадающих сущностей.
Например, банк и интернет-магазин могут иметь информацию об одних тех же пользователях, но один хранит данные о финансовых транзакциях, а другой ― о покупательских предпочтениях.
Особенности | HFL | VFL |
---|---|---|
Разделение данных | Пространство сущностей | Пространство признаков |
Обучение модели | Каждый клиент может обучить локальную модель | Обучение невозможно без объединения локальных частей датасета |
Сценарий обучения | Cross-device, сross-silo | Cross-silo |
Передаваемые данные | Параметры модели | Промежуточные результаты |
Тип локальной информации | Данные | Модели клиентов, данные |
Участник получает в итоге | глобальную модель | локальную часть модели |
Самостоятельное использование модели | Да | Нет |
Наглядные примеры практического использования более эффективны для понимания, чем теоретические объяснения.
Рассмотрим основные особенности указанных типов на примере решения задачи бинарной классификации.
Подготовленный на основе открытых данных с Kaggle, экспериментальный датасет содержит 36 457 уникальных записей о держателях кредитных карт.
Каждый клиент описывается 15 признаками и меткой класса:
0 ― не имеет просроченной задолженности,
1 ― имеет просроченный платеж.
Таргеты достаточно сбалансированы:
CODE_GENDER | половая принадлежность клиента |
FLAG_OWN_CAR | наличие личного автомобиля |
FLAG_OWN_REALTY | наличие собственной недвижимости |
CNT_CHILDREN | количество детей |
AMT_INCOME_TOTAL | сумма поступлений на счет клиента |
NAME_INCOME_TYPE | тип входящих поступлений |
NAME_EDUCATION_TYPE | уровень образования |
NAME_FAMILY_STATUS | семейное положение |
NAME_HOUSING_TYPE | вид недвижимости проживания |
CUSTOMER_AGE | дата рождения |
EMPLOYED_LENGTH | продолжительность работы на последнем месте |
FLAG_WORK_PHONE | наличие рабочего телефона |
FLAG_PHONE | наличие домашнего телефона |
FLAG_EMAIL | наличие электронной почты |
OCCUPATION_TYPE | тип занятости |
STATUS | кредитный статус клиента |
Предположим, что на основе накопленных данных финансовая организация хочет предсказывать добросовестность новых клиентов.
Для возможности сопоставления результатов
в каждом случае будем пользоваться классификатором XGBClassifier библиотеки Xgboost.
При этом обучение будет проводиться на выборке
в 30 000 записей, а оставшиеся 6 457 сформируют общий для всех случаев тест.
Представим, что ряд офисов некоторого банка накопили весь указанный объем данных. Первое что нужно сделать ― собрать данные в одном месте.
Затем необходимо обучить XGBoost-классификатор разделять данные. Обученная таким методом модель демонстрирует точность работы на тесте 0,657.
Данный консервативный подход к обучению имеет явные преимущества: прозрачность, относительная точность. Но в то же время данные должны быть перемещены, что часто сопряжено с трудностями.
Точность при обучении | Точность при тестировании |
---|---|
0,823 | 0,657 |
Данные разделены между несколькими владельцами, т.е. схожую информацию собрали два банка и решили локально обучаться каждый на своем локальном датасете, объем которых составляет 15 000 записей о клиентах.
Моделируя такую ситуацию путем обучения классификатора на случайно выбираемой половине записей, получаем обученную модель с метриками точности на тесте 0,595.
Прослеживается заметное снижение качества на тестовом наборе при лучших показателях на этапе обучения, что говорит о переобучении модели ввиду меньшей репрезентативности обучающего набора.
Точность при обучении | Точность при тестировании |
---|---|
0,892 | 0,595 |
Данные разделены между несколькими владельцами, т.е. схожую информацию собрал банк A и банк B.
Каждый также располагает 15 000 записей о клиентах, но оба заинтересованы в получении более точной модели для лучшей классификации клиентов, и решили объединить усилия в распределенном обучении. В этом случае подходит HFL.
Наблюдается приближение к результатам централизованного обучения, при этом каждый клиент в итоге получает глобальную модель, которую может использовать независимо.
Данная схема начинает представлять угрозу конфиденциальности обучающих данных при допущении злонамеренности или любопытства противоположной стороны или сервера.
Множество работ демонстрируют возможность восстановления обучающих данных на основе анализа параметров обновлений, к тому же возможно целенаправленное ухудшение результатов обучения одним из участников.
Точность при обучении | Точность при тестировании |
---|---|
0,737 | 0,635 |
Данные разделены между несколькими владельцами, но клиент А ― банк и собирал информацию о финансовых и имущественных характеристиках, а клиент Б владеет социальными характеристиками.
Т.е. датасет А ― это 30 000 записей с полями [FLAG_OWN_CAR, FLAG_OWN_REALTY, AMT_INCOME_TOTAL, NAME_INCOME_TYPE, EMPLOYED_LENGTH, FLAG_WORK_PHONE, OCCUPATION_TYPE, STATUS], в то время как Б располагает информацией о полях [CODE_GENDER, CNT_CHILDREN, NAME_EDUCATION_TYPE, NAME_FAMILY_STATUS, CUSTOMER_AGE, NAME_HOUSING_TYPE, FLAG_PHONE, FLAG_EMAIL] для того же набора персон.
Клиенту Б неизвестны таргеты, они доступны только A, поэтому Б
не может в одиночку использовать свои данные для обучения моделей. Ситуация может быть разрешена благодаря технологии VFL.
Точность при обучении | Точность при тестировании |
---|---|
0,802 | 0,652 |
Первая задача, возникающая перед участниками, ― необходимость установления соответствий между записями обеих сторон, не раскрывая самих наборов данных, т.н. задача безопасного пересечения множеств.
Как и в случае HFL, если допускать возможную недобросовестность сопряженной стороны, то нельзя считать, что обучающие данные в безопасности.
Основное же отличие VFL в том, что инференс обученной модели также необходимо производить коллективно, что влечет как дальнейшую взаимозависимость сторон, так и возможность утечки вновь поступающей информации.
Таким образом, решая задачу с невозможностью централизованного обучения, FL позволяет обучать модели до близких метрик качества.
Но существует обширный список угроз, который требует комплексного подхода к обеспечению конфиденциальности данных во время федеративного обучения, включающего в себя использование ряда криптографических методов: шифрования, проверку целостности и подлинности обновлений, а также внедрение механизмов для выявления и блокировки подозрительных активностей в процессе обучения.
Внедрение эффективных решений требует наличия экспертизы в кастомизации сценариев обучения для достижения практической ценности метода и безопасности данных.