Два мира друг от друга

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

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

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

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

Все хотят конфиденциальности

Наш взгляд на конфиденциальность, мягко говоря, изменился. Строгие законы, такие как GDPR, судебные иски на несколько миллионов долларов за утечку данных, забудьте об этом, просто посмотрите это веселое видео, где конгрессмен спрашивает генерального директора Google о конфиденциальности данных.

Большинство из нас знают , что такие компании, как Google и Facebook, знают о нас больше, чем наши соседи. И нам это не нравится.

Мы храним данные, чтобы учиться на них

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

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

Анонимные данные

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

Должен быть эффективным, правда? Судя по всему, совсем нет.

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

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

Плюсы:

  • Мы думаем, что это безопасно

Минусы:

  • Это не безопасно
  • Требуется доверенная третья сторона
  • Может занять много времени

Случайный шум

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

Apple на WWDC 2016 анонсировала Differential Privacy для своего программного обеспечения для рекомендаций по клавиатуре, использующего такого рода лапласовский шум. Однако проблема в том, что иногда мы можем легко восстановить эти данные. И точность моделей, обученных на таких зашумленных данных, сильно падает. Так что это всегда компромисс конфиденциальность vs точность. Не очень популярный вариант среди специалистов по анализу данных.

Плюсы:

  • Не требуется доверенная третья сторона
  • Быстро и эффективно

Минусы:

  • Снижается точность моделей, обученных на данных
  • Во многих случаях данные можно восстановить.

Дифференциальная конфиденциальность с гомоморфным шифрованием

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

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

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

Но давайте разберемся с этим.

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

Живая демонстрация доступна по адресу https://dev.medblocks.org/demo/, так что вы можете взглянуть на нее и следить за ней.

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

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

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

Например, если человек нормальный, результатом будет:

недостаточный вес: 0,
нормальный: 1,
избыточный вес: 0,
ожирение: 0

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

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

Например:

Шифрование (5) + Шифрование (6) = Шифрование (11)

Открытый ключ для системы шифрования доступен по адресу https://dev.medblocks.org/api/capsule/publicKey/ и используется для шифрования результатов на предыдущем шаге. Таким образом, результат будет выглядеть примерно так:

недостаточный вес: 23421242547785643564564 ...,
нормальный: 5432345368352345234234342638 ...,
избыточный вес: 905684793754923648178364 ...,
ожирение: 15437625471487146753948752923 ...

Обратите внимание, что шифрование (0) не то же самое. Это важное свойство, полностью скрывающее результат. Затем этот результат отправляется на сервер, размещенный компанией, заинтересованной в сборе этих данных, и сохраняется в их базе данных.

Компания понятия не имеет, что такое настоящая категория BMI, потому что вся эта информация гомоморфно зашифрована перед отправкой на их сервер.

Агрегирование

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

недостаточный вес: 345345345347785643564564 ...,
нормальный: 3455345368352345234234342638 ...,
избыточный вес: 2234445754923648178364 ...,
ожирение: 545321487146753948752923 ...

количество: 4

Расшифровка капсулы

Теперь вернемся к результатам. Сводные результаты отправляются в капсульную службу по адресу https://dev.medblocks.org/api/capsule/decrypt/.

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

недостаточный вес: 1,
нормальный: 1,
избыточный вес: 0,
ожирение: 2

количество: 4

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

Примечание о достоверности данных

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

Поддержка произвольных вычислений

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

Вывод

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

Спасибо, что прочитали. Свяжитесь со мной по адресу [email protected], если у вас есть вопросы или предложения