Федеративная модель дерева обучения и безопасности (2) Интегрированное обучение SecureBoost

машинное обучение
Федеративная модель дерева обучения и безопасности (2) Интегрированное обучение SecureBoost

1 Федеральное образование

Ввиду важности конфиденциальности данных постепенно повышается осведомленность о защите данных дома и за рубежом. В 2018 году Европейский союз издал «Общее положение о защите данных» (GDPR), а «Меры по управлению безопасностью данных (проект для комментариев)», подготовленные Администрацией киберпространства моей страны, стали общей тенденцией к свободному обмену данными в соответствии с предпосылка безопасности и соответствия. Введение этих законов и правил в той или иной степени ставит новые задачи перед традиционным способом обработки данных искусственным интеллектом.

Сегодня, при высоком развитии ИИ, многомерные и качественные данные являются узким местом, сдерживающим его дальнейшее развитие. Поскольку организации уделяют все больше и больше внимания данным, сотрудничество с данными между организациями и между различными отделами внутри организации будет становиться все более и более осторожным, что приведет к тому, что большой объем данных будет существовать в виде изолированных островков.在这里插入图片描述

Суть федеративного обучения — это распределенная технология машинного обучения или структура машинного обучения, основанная на защите конфиденциальности данных. Его цель — добиться совместного моделирования на основе предпосылки потери модели на основе обеспечения безопасности конфиденциальности данных и соблюдения законодательства, улучшить эффект моделей ИИ и расширить возможности бизнеса.

Поскольку это моделирование, наиболее известные в отрасли в последние годы можно условно разделить на GBDT и нейронную сеть.Однако из-за характеристик федеративного обучения необходимо защищать конфиденциальность и безопасность характеристик пользователя и метки, поэтому требуется гомоморфное шифрование, совместное использование секретных ключей, дифференциальная конфиденциальность и другие вычислительные средства конфиденциальности для обеспечения безопасности. Однако, исходя из этого, это приносит большие проблемы.Сложные операции нейронных сетей, экспоненты, логарифмы и т. д. будут создавать очень большие проблемы для моделирования.Это все еще очень сложно с текущей технологией аппаратного и программного шифрования, но для SecureBoost, ему нужно всего лишь выполнить простую гомоморфную операцию для достижения того же эффекта моделирования, что и Xgboost, поэтому в этой статье мы поделимся с вами моделью защищенного дерева федеративного обучения — Secure Boost.

Кстати, хотя нынешняя нейронная сеть труднее быть барьером безопасности, невозможно достичь хорошего баланса между производительностью вычислений и производительностью модели, но после долгого размышления у меня уже есть решение, которое я считаю надежным, и я постепенно проверю это позже.Окончательная проверка надежна и будет доступна всем.

Поскольку древовидная модель является относительно информативной, невозможно решить чистый SecureBoost за один шаг, поэтому эта статья разделена на следующие темы.Основной контекст: дерево решений -> метод ансамбля Бэгинг и бустинг -> GBDT -> XGBoost -> Безопасное дерево повышения. Я надеюсь, что благодаря этой серии статей читатели смогут получить всестороннее и всестороннее представление о методе федеративного обучения SecureBoost.

На самом деле, для серии древовидных моделей, когда я создавал алгоритмы, я использовал многие из них и чувствовал, что хорошо их понимаю, но когда я писал модель дерева безопасности федеративного обучения, я обнаружил, что многие места не были полностью понят.,Много деталей не учтено.Когда будете писать,вы обнаружите,что вашей теоретической толщины недостаточно и детали не досконально поняты. Потом я потратил много сил и времени на зарядку.Этот вопрос тоже заставил меня понять.Ты вроде много чего понимаешь,но нет.Самое главное оставаться приземленным в том,что ты делаешь.

2 Схема модели федеративного дерева обучения

在这里插入图片描述

Как мы все знаем, на ранней стадии машинного обучения, когда глубокое обучение не является блестящим, это в основном мир LR и Xgboost, На сцене поиска и продвижения вы можете увидеть фигуру Xboost, В основном, это можно сказать, что Xgb можно использовать понимание, вы можете занять положение в отрасли. В то же время в соревнованиях Kaggle Xgb часто выступает как темная лошадка.

Все не существует изолированно, поэтому для федеративного обучения суть федеративного обучения заключается в распределенном моделировании, основанном на конфиденциальности и безопасности, поэтому необходимо не только защитить традиционные модели машинного обучения, такие как Xgb и LR, но и защитить глубокую модель. Эта серия статей в основном знакомит с серией безопасных моделей дерева. Запланировано три главы. На основе предыдущей главы, в которой представлено основное содержание «Федеративное обучение — дерево решений защищенной модели дерева SecureBoost», в этой главе будет продолжено введение интегрированного обучения. и GBDT, о Xgboost и федеративной модели дерева безопасности, описанной в следующем разделе.

SecureBoost относится к категории интегрированного обучения Ensemble Learning и относится к методу Boosting.Он использует остатки для обучения моделей в соответствии с реальными сценариями данных.Реализация неконфиденциальных вычислений включает Xgboost, LightGBM, HistGradientBoostingClassifier и т. д., но перед переходом на эти интегрированные алгоритмы обучения, GBDT необходимо ввести в первую очередь.

3 Ensemble Learning

在这里插入图片描述

3.1 Интегрированное обучение

Ансамблевое обучение — это очень эффективный метод машинного обучения, получивший широкое распространение в отрасли. Это не отдельный алгоритм машинного обучения сам по себе, он выполняет задачу обучения, создавая и комбинируя несколько машинных обучающихся. То есть мы часто говорим «учиться на чужих сильных сторонах» и «три сапожника составляют одного Чжугэ Ляна».

Ансамблевое обучение можно использовать для задач классификации, регрессии, выбора признаков, обнаружения выбросов и т. д. Можно сказать, что ансамблевое обучение можно увидеть во всех областях машинного обучения.

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

  • Бэггинг + Дерево решений = Случайный лес
  • Повышение + дерево решений = GBDT
  • Повышение + производная функция потерь второго порядка = Xgboost

3.2 Bagging & Boosting

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

在这里插入图片描述

3.2.1 Bagging (bootstrap aggregating)

在这里插入图片描述

Бэггинг — это метод бэггинга, который параллельно вычисляет несколько слабых учеников, а затем голосует или усредняет результаты нескольких слабых учеников, чтобы выполнить слияние и конденсацию, чтобы охарактеризовать суждение модели.

  1. Извлеките обучающий набор из исходного набора образцов. В каждом раунде используется метод начальной загрузки для извлечения n обучающих выборок из исходного набора выборок (в обучающей выборке некоторые выборки могут быть взяты несколько раз, а некоторые выборки могут не быть взяты вообще). Всего выполняется k раундов извлечения для получения k обучающих наборов. (k обучающих наборов не зависят друг от друга)
  2. Каждый раз, когда обучающий набор используется для получения модели, k обучающих наборов используются для получения в общей сложности k моделей. K-модели независимы друг от друга и не имеют зависимостей.
  3. Коллективный разум генерирует окончательную модель:
    • Для задач классификации: для результатов К-моделей результаты классификации получаются голосованием;
    • Для задач регрессии математическое ожидание рассчитывается для результатов K-моделей как окончательный результат.

3.2.2 Boosting

在这里插入图片描述

Основная идея состоит в том, чтобы собрать слабого ученика в сильного ученика и с помощью серии последовательных итерационных процессов, посредством итеративного объединения слабых учеников, отрегулировать вес ключевых выборок, обучить набор слабых классификаторов и повторить модель.

Два основных вопроса о бустинге:

  1. Как изменить распределение вероятностей и веса выборки обучающих данных?

Увеличивая веса образцов, которые были неправильно оценены слабым учеником в предыдущем раунде, и уменьшая веса образцов, которые были правильно оценены в предыдущем раунде, можно достичь цели исправления неправильной информации или путем изучения остатков. , подходит.

  1. Как объединить слабые классификаторы?

Слабые классификаторы линейно объединяются с помощью аддитивной модели, такой как AdaBoost, путем голосования взвешенным большинством, то есть увеличения веса классификатора с небольшой частотой ошибок и уменьшения веса классификатора с большой частотой ошибок, или Остаточное- Комбинация аддитивных моделей на основе GBDT постепенно уменьшает остаток путем подгонки остатка и накладывает модели, созданные на каждом этапе, для получения окончательной модели.

3.2.3 Разница между бэггингом и бустингом

Есть три основных различия между бэггингом и бустингом:

  1. По выбору образца:

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

    • Упаковка в мешки: берется однородная выборка, и каждая проба имеет одинаковый вес.
    • Повышение: отрегулируйте вес выборки в соответствии с частотой ошибок.Чем больше частота ошибок, тем больше вес выборки.
  3. Вывод поезда:

    • Бэггинг: каждый слабый ученик имеет одинаковый вес, и каждый слабый ученик может быть рассчитан параллельно.
    • Повышение: каждый слабый ученик имеет соответствующий вес и имеет больший вес для более подходящего классификатора, и каждый слабый ученик должен рассчитываться последовательно.

4 GBDT

На самом деле, многие люди не могут отличить GBDT от Xgboost, но я больше всего люблю задавать интервьюерам вопрос о разнице между GDBT и Xgboost. На самом деле это не такая уж и сложная задача.Я много искал в интернете.С точки зрения производительности разница между первой производной и второй производной. Тем не менее, наиболее существенные недостатки не были выявлены, поэтому мы можем выйти в Интернет, чтобы проверить некоторую информацию, но для информации, полученной из Интернета, нам необходимо просмотреть и уточнить их, чтобы добиться нашей собственной интеграции.

4.1 Определение GDBT

Определение приведено ниже: GBDT (Gradient Boosting Decision Tree) градиентное повышающее итеративное дерево решений, которое является разновидностью повышающего алгоритма. Ограничения:

  • Слабый ученик, используемый GBDT, должен быть CART и должен быть деревом регрессии..
  • GBDT используется для прогнозирования регрессии.Конечно, его также можно классифицировать по порогу, но в основном он используется для прогнозирования регрессии..

Так что каждый должен помнить,Слабый ученик GBDT должен быть только деревом CART., обычно основанный на MSE Loss с использованием метода наименьших квадратов для расчетапервый класс. Слабый ученик Xgb очень гибок и обычно требует только производных второго порядка. Поэтому многие путают понятия GBDT и Xgb или говорят только о разнице между производной первого порядка и производной второго порядка, что слишком однобоко.

4.2 Процесс получения GBDT

Каждое вычисление GBDT должно уменьшить остаток предыдущего вычисления, поэтому относительно простая идея состоит в том, что мы уменьшаем градиент в направлении остатка, а затем строим новый ученик, верно? Да, именно так возникла GBDT.

  1. Во-первых, предположим, что набор данных(x1,y1),(x2,y2),...,(xn,yn)(x_1, y_1), (x_2, y_2), ..., (x_n, y_n), модельF(x)F(x), чтобы соответствовать этим данным. Тогда определение остаткаyiF(xi)y_i - F(x_i), который определяет часть модели, которая не подходит.
  2. Далее, если предположить, что функция потерь определяет MSE (функцию потерь для задач регрессии), то определение функции потерь будет120n(yiF(xi))2\frac 1 2\sum_0^n(y_i - F(x_i))^2.
  3. Затем вывести функцию потерьL(y,F(x))=120n(yiF(xi))2L(y,F(x)) = \frac 1 2\sum_0^n(y_i - F(x_i))^2, а затем взять первую производную функции потерь,LF(x)=L(y,F(xi))F(xi)=F(xi)yi\frac{\partial L}{\partial F(x)} = \frac{\partial {L(y,F(x_i))}}{\partial F(x_i)} = F(x_i) - y_i
  4. Затем по приведенной выше формуле можно сделать вывод, что невязка находится в том же направлении, что и отрицательный градиент. Проверка завершена.
  5. Следовательно, узлы разделения GBDT могут быть выбраны в соответствии с размером градиента каждой функции.

5 дополнений

Личное представление: Ду Баокун, практикующий специалист в области конфиденциальных вычислений, руководил командой от 0 до 1, чтобы создать JD. Уровень платформы: реализует промышленное решение для федеративного обучения, которое поддерживает сверхбольшие масштабы в области маркетинга электронной коммерции, поддерживает выравнивание конфиденциальности PSI для сверхбольших выборок, защищенную модель дерева и модель нейронной сети, а также многие другие модели. Бизнес-уровень: бизнес-сторона добилась хорошего начала бизнеса, создала новую точку роста бизнеса и получила значительные экономические выгоды для бизнеса. Лично я предпочитаю узнавать новое и изучать технологии. На основе рассмотрения полносвязного мышления и планирования технологий принятия решений существует множество областей исследований, начиная от инженерной архитектуры, больших данных и заканчивая алгоритмами машинного обучения и алгоритмическими структурами. Приветствую студентов, которым нравятся технологии, чтобы общаться со мной, по электронной почте:baokun06@163.com