Авторы: Кэри Радебо (менеджер по продукту) и Ульфар Эрлингссон (научный сотрудник)

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

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

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

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

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

Пример: изучение языка с конфиденциальностью

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

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

Чтобы подтвердить полезность частной модели, мы можем посмотреть на производительность этих двух моделей на совокупности обучающих и тестовых данных и изучить набор предложений, по которым они согласны и не согласны. Чтобы посмотреть на их общность, мы можем измерить их сходство на смоделированных предложениях, чтобы увидеть, принимают ли обе модели один и тот же базовый язык; в этом случае обе модели принимают и высоко оценивают (т.е. имеют низкую сложность) более 98% последовательностей обучающих данных. Например, обе модели высоко оценивают следующие предложения финансовых новостей (выделены курсивом, поскольку они явно присутствуют в распределении, которое мы хотим изучить):

был небольшой оборот и ничто не стимулировало рынок

Южная Корея и Япония продолжают приносить прибыль

торговые банки были сильнее по всем направлениям

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

Аэробанкнот Berlitz Calloway… ssangyong swapo wachter

начальник тоже стоит

Боже мой, и я знаю, что я прав и невиновен

Все вышеперечисленные предложения кажутся необычными в финансовых новостях; кроме того, они кажутся разумными кандидатами на защиту конфиденциальности, например, поскольку такие редкие, странно выглядящие предложения могут идентифицировать или раскрывать информацию о лицах в моделях, обученных на конфиденциальных данных. Первое из трех предложений представляет собой длинную последовательность случайных слов, которая встречается в обучающих данных по техническим причинам; второе предложение частично польское; третье предложение - хотя и выглядит естественным - на английском языке - не на языке моделируемых финансовых новостей. Эти примеры выбираются вручную, но полная проверка подтверждает, что предложения обучающих данных, не принимаемые дифференциально-частной моделью, обычно лежат за пределами нормального языкового распространения статей финансовых новостей. Кроме того, оценивая тестовые данные, мы можем убедиться, что такие эзотерические предложения являются основой потери качества между частной и не частной моделями (затруднение 1,13 против 1,19). Следовательно, хотя номинальная потеря недоумения составляет около 6%, производительность частной модели вряд ли может вообще снизиться на предложениях, которые нас волнуют.

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

TensorFlow Privacy может предотвратить такое запоминание редких деталей и, как показано на рисунке выше, может гарантировать, что две модели машинного обучения будут неразличимы независимо от того, использовались ли некоторые примеры (например, некоторые данные пользователя) в их обучении.

Следующие шаги и дальнейшее чтение

Чтобы начать работу с TensorFlow Privacy, вы можете ознакомиться с примерами и учебными пособиями в репозитории GitHub. В частности, они включают подробное руководство о том, как выполнять дифференциально-частное обучение задаче машинного обучения эталонного теста MNIST с использованием традиционных механизмов TensorFlow, а также более новых, более энергичных подходов TensorFlow 2.0 и Keras.

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

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

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

Благодарности

Мы хотели бы поблагодарить Галена Эндрю, Николаса Карлини, Стива Чьена, Брендана МакМахана, Илью Миронова и Николаса Пейперно за их вклад в TensorFlow Privacy.