Машинное обучение – это часть области ИИ (искусственного
интеллекта), которая позволяет компьютеру усваивать концепции
, найденные в данных, для формирования прогнозов для новых ситуаций. Нам нравится
большинство инновационных продуктов и услуг благодаря машинному
обучению.

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

Введение

Давайте сначала получим краткое представление о термине «Конфиденциальность». Термин
«Конфиденциальность» широко используется в технологическом секторе. Текущие
подходы к «Конфиденциальности» и «Машинному обучению» могут быть
просто описаны в двух разделах: «Управление пользователями»
и «Защита данных». Таким образом, в разделе «Контроль пользователя» права пользователя
могут быть прописаны путем понимания того, что собирается
кем, с какой целью и как долго и т. д. Затем переходим
к «защите данных». ', шифрование данных, когда они находятся в состоянии покоя
, и удаление информации, позволяющей установить личность, чтобы сделать данные анонимными,
в основном выполняются.

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

Идея доверия к машинному обучению

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

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

А что, если бы ненадежные стороны могли вместе заниматься машинным обучением?
Это следует обсудить с помощью трех случаев.

  • Финансы/Страхование. Банки-конкуренты могут создавать совместные службы по борьбе с отмыванием денег
    .
  • Здравоохранение. Больницы могут использовать удаленную стороннюю аналитику
    данных пациентов.
  • Розничная торговля. Розничные продавцы могут монетизировать свои данные о покупках,
    защищая конфиденциальность пользователей.

    Теперь давайте перейдем к нашей основной цели этой статьи
    о машинном обучении с сохранением конфиденциальности.

Представляем машинное обучение с сохранением конфиденциальности

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

Федеративное обучение/многосторонние вычисления

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

Гомоморфное шифрование

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

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

Одним из наиболее многообещающих подходов в машинном обучении с сохранением конфиденциальности является дифференциальная конфиденциальность (DP). Эта концепция не нова в дебатах о защите конфиденциальности.

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

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

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

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

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

  • Имиджнет
  • МНИСТ
  • СИФАР-10
  • Либириспич
  • Викитекст-103
  • ВМТ

Но что, если есть гораздо более простой доступ к этим реальным человеческим проблемам, который включает в себя личные данные?

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

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

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

Удаленное выполнение

Это возможность использовать «PyTorch» или обработку с использованием «PyTorch» на машинах, к которым у вас нет прямого доступа. Сначала вы импортируете «syft», затем импортируете «torch», а мы используем «TorchHook», который дополняет «Torch» инструментами для сохранения конфиденциальности машинного обучения. Чтобы мы могли инициализировать ссылку на удаленную машину. Это позволяет нам фактически взаимодействовать с «операциями PyTorch» и «тензорами PyTorch», которые находятся на этой конкретной машине. Когда «тензор» отправляется в определенный центр обработки данных, он возвращает нам «указатель». Этот «указатель» имеет все функции, которые обычно имеет «PyTorch». Смысл этих «PointerTensors» заключается в том, что теперь мы можем использовать обычные API «PyTorch», вещи, с которыми мы уже знаем, как обращаться, для организации сложных операций на нескольких разных удаленных машинах. Здесь мы также получаем еще одну наиболее важную команду в конце, а именно «.get», где она запрашивает информацию с удаленной машины для отправки обратно пользователю.

Поиск и примеры данных

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

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

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

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

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

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

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

Эпсилон

Эта дополнительная функция на «dot get» принимает параметр «Epsilon», где мы можем выбрать, сколько нашего бюджета конфиденциальности мы хотим потратить. Любой конкретный проект по науке о данных будет иметь определенный бюджет конфиденциальности, который зависит от уровня доверия и типа отношений, которые у вас есть с владельцем данных.

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

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

Безопасные многосторонние вычисления

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

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

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

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

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

использованная литература