Фреймворк использует дифференциальную конфиденциальность в моделях, построенных на PyTorch и TensorFlow.

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

Важность конфиденциальности в приложениях глубокого обучения напрямую связана с появлением распределенных многосторонних моделей. Традиционный подход к решениям глубокого обучения основан на централизованных сторонах, которые контролируют весь жизненный цикл модели, даже если используется большая распределенная вычислительная инфраструктура. Это случай организации, которая создает модель прогнозирования, которая управляет предпочтениями клиентов, посещающих их веб-сайт. Однако централизованные топологии глубокого обучения оказались непрактичными в таких сценариях, как мобильная связь или Интернет вещей (IOT), которые полагаются на большое количество устройств, производящих данные и выполняющих модели. В этих сценариях распределенные стороны не только часто создают конфиденциальные наборы данных, но также выполняют и оценивают производительность моделей глубокого обучения. Эта динамика требует двунаправленных отношений конфиденциальности между различными сторонами, ответственными за создание, обучение и выполнение моделей глубокого обучения.

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

Возможности

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

· Защищенные многосторонние вычисления

· Федеративное обучение

· Особая конфиденциальность

Защищенные многосторонние вычисления

Защищенные многосторонние вычисления (sMPC) - это криптографический метод, который позволяет различным сторонам выполнять вычисления над входами, сохраняя при этом конфиденциальность этих входов. В теории информатики sMPC часто рассматривается как решение знаменитой проблемы миллионеров Яо, предложенной в 1980-х годах ученым-компьютерщиком Эндрю Яо. Задача описывает ситуацию, в которой несколько миллионеров хотели бы знать, кто из них богаче, не раскрывая при этом фактического состояния. Проблема миллионера присутствует во многих сценариях реального мира, таких как аукционы, выборы или онлайн-игры.

Концептуально sMPC заменяет необходимость в доверенном посреднике безопасными вычислениями. В модели sMPC набор сторон с частными входами вычисляет распределенные функции, такие как сохраняются такие свойства безопасности, как справедливость, конфиденциальность и правильность.

Федеративное обучение

Федеративное обучение - это новая архитектура обучения для систем искусственного интеллекта, которые работают в сильно распределенных топологиях, таких как мобильные системы или системы Интернета вещей (IOT). Первоначально предложенное исследовательскими лабораториями Google, федеративное обучение представляет собой альтернативу централизованному обучению ИИ, при котором общая глобальная модель обучается под координацией центрального сервера из федерации участвующих устройств. В этой модели различные устройства могут способствовать обучению и изучению модели, сохраняя при этом большую часть данных на устройстве.

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

Дифференциальная конфиденциальность

Дифференциальная конфиденциальность - это метод, используемый для ограничения влияния статистических алгоритмов на конфиденциальность субъектов, информация о которых является частью более крупного набора данных. Грубо говоря, алгоритм является дифференциально частным, если наблюдатель, видя его результат, не может сказать, использовалась ли информация конкретного человека в вычислениях. Дифференциальная конфиденциальность часто обсуждается в контексте идентификации лиц, информация о которых может находиться в базе данных. Хотя это напрямую не относится к атакам идентификации и повторной идентификации, дифференциально частные алгоритмы доказывают свою сопротивляемость таким атакам.

PySyft

PySyft - это платформа, которая обеспечивает безопасные частные вычисления в моделях глубокого обучения. PySyft объединяет федеративное обучение, защищенные многосторонние вычисления и дифференциальную конфиденциальность в единой модели программирования, интегрированной в различные платформы глубокого обучения, такие как PyTorch, Keras или TensorFlow. Принципы PySyft были первоначально изложены в исследовательской статье, и первая реализация была проведена OpenMind, одной из ведущих децентрализованных платформ искусственного интеллекта.

Основной компонент PySyft - это абстракция, называемая SyftTensor. SyftTensors предназначены для представления состояния или преобразования данных и могут быть связаны вместе. Структура цепочки всегда имеет во главе тензор PyTorch, а доступ к преобразованиям или состояниям, воплощенным SyftTensors, осуществляется вниз с помощью дочернего атрибута и вверх с помощью родительского атрибута.

Использование PySyft относительно просто и мало чем отличается от стандартной программы PyTorch или Keras. Анимация ниже иллюстрирует простую модель классификации с использованием PySyft.

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