한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
TensorFlow Privacy 출시: 훈련 데이터에 대한 차등적 개인정보 보호를 이용한 학습
2019년 6월 3일 월요일
<블로그 원문은
이곳
에서 확인하실 수 있습니다>
게시자:
Carey Radebaugh
(제품 관리자),
Ulfar Erlingsson
(연구원)
이는 개발자가 더욱 쉽게 개인정보 보호에 관해 머신러닝 모델을 훈련할 뿐 아니라, 연구원 역시 강력한 개인정보 보호 보장으로 머신러닝 분야의 최첨단 기술을 더욱 쉽게 발전시킬 수 있게 해주는 오픈소스 라이브러리입니다.
놀라운 신기술과 새로운 사용자 환경을 만들기 위해 최신 머신러닝 기술 적용이 점차 늘어나고 있는데, 그중 다수는 개인 사진 또는 이메일과 같이 민감한 데이터로부터 책임감 있게 학습하도록 머신을 훈련하는 과정이 포함됩니다. 훈련되는 머신러닝 모델의 매개변수가 특정한 훈련 예시에 대한 사실이 아니라 일반적인 패턴을 인코딩하는 것이 이상적일 것입니다. 이를 보장하고 훈련 데이터가 민감한 데이터일 때 강력한 개인정보 보호를 보장하도록 하기 위해,
차등적 개인정보 보호
이론을 기반으로 하는 기법을 사용할 수 있습니다. 특히, 사용자의 데이터를 바탕으로 훈련할 때 그러한 기법은 모델이 특정 사용자에 관한 세부 정보를 학습하거나 기억하지 못하도록 하는 강력한 수학적 보증을 제공합니다. 특히 딥 러닝의 경우, 스레숄딩 및 데이터 생략과 같은 기존의 기법을 사용하든
TensorFlow Federated
학습과 같은 새로운 기법을 사용하든 상관없이 추가적인 보장으로 다른 개인정보 보호 기법에서 제공되는 보호 기능을 효과적으로 강화할 수 있습니다.
Google은 여러 해 동안 차등적 개인정보 보호에 관한 기초적 연구뿐 아니라 실용적인 차등적 개인정보 보호 메커니즘의 개발에서 모두 가장 앞서있었으며(예시는
여기
와
여기
참조), 최근에는 머신러닝 애플리케이션(
이곳
,
이곳
또는
이곳
의 연구 논문 참조)에 주력하고 있습니다. Google은 작년에 머신러닝 시스템 및 제품의 책임감 있는 개발을 위한 우리의 권장 관행을 상술한
Responsible AI Practices
를 공표했으며, 이 공표가 있기 전에도 외부 개발자가 자체 제품에 이러한 관행을 쉽게 적용할 수 있도록 하기 위해 애썼습니다.
우리가 기울인 노력의 한 가지 결실이 바로 오늘 발표하는
TensorFlow Privacy
와 그 개인정보 메커니즘을 더 자세히 설명하기 위해 업데이트한
기술 백서
입니다.
TensorFlow Privacy를 사용하는 데는 개인정보 보호 또는 그 기초가 되는 수학적 이론에 대한 어떠한 전문 지식도 필요하지 않아야 할 것입니다. 또한 표준 TensorFlow 메커니즘을 사용하는 개발자가 자신의 모델 아키텍처, 훈련 절차 또는 프로세스를 변경할 필요가 없어야 할 것입니다. 그 대신, 개발자가 자신의 훈련 데이터에 대한 개인정보를 보호하는 모델을 훈련하려면 몇 가지 간단하게 코드를 변경하고 개인정보 보호와 관련된 하이퍼 매개변수를 조정하는 것으로 충분한 경우가 많습니다.
예: 개인정보 보호를 이용한 언어 학습
차등적으로 개인정보 보호 훈련을 하는 구체적인 예로서, 텍스트 시퀀스에 대해 문자 수준에서 되풀이되는 언어 모델의 훈련을 생각해 봅시다. 신경망을 사용한 언어 모델링은 무수한 애플리케이션에 사용되는 필수적인 딥 러닝 작업이며, 애플리케이션 중 다수는
민감한 데이터를 사용한 훈련
을 기반으로 합니다. 우리는 TensorFlow Privacy
GitHub 저장소
의 예시 코드를 기반으로 똑같은 모델 아키텍처를 사용하여 두 가지 모델을 훈련하는데, 하나는 표준 방식으로, 다른 하나는 차등적 개인정보 보호 방식으로 훈련합니다.
두 모델 모두 표준
Penn Treebank 훈련 데이터세트
에서 선택한 금융 뉴스 기사의 영어 모델링에서 잘 작동합니다. 하지만 두 모델 사이에서 발생하는 약간의 차이점이 언어 분포의 본질적이고 핵심적인 측면을 포착하지 못해서라면, 차등적 개인정보 보호 모델의 유용성에 의구심을 갖게 될 수 있습니다. (반면에, 개인정보 보호 모델이 훈련 데이터에서 몇 가지 난해하고 독특한 세부 정보를 포착하지 못하더라도 모델의 유용성이 여전히 괜찮을 수 있습니다.)
개인정보 보호 모델의 유용성을 확인하기 위해, 훈련 데이터 및 테스트 데이터 모음에 대한 두 모델의 성능을 살펴보고 사람들이 동의하는 문장과 동의하지 않는 문장의 집합을 검사할 수 있습니다. 그 공통성을 살펴보기 위해, 우리는 모델링된 문장에 대한 유사성을 평가하여 두 모델 모두 동일한 핵심 언어를 허용하는지 확인할 수 있는데, 이 경우에는 두 모델 모두 훈련 데이터 시퀀스의 98% 이상을 허용하고 높은 점수를 매깁니다(즉, 혼잡도가 낮음). 예를 들어 두 모델 모두 다음과 같은 금융 뉴스 문장에 높은 점수를 매깁니다(기울임꼴로 표시된 문장으로, 분명히 우리가 학습하려는 분포에 있으므로).
there was little turnover and nothing to stimulate the marketsouth korea and japan continue to be profitablemerchant banks were stronger across the board
그 차이점을 살펴보기 위해, 우리는 두 모델의 점수가 크게 달라지는 훈련 데이터 문장을 검사할 수 있습니다. 예를 들어 다음 세 개의 훈련 데이터 문장은 표준 훈련 중에 효과적으로 기억되므로 일반 언어 모델에서 높은 점수를 매기고 허용합니다. 하지만 차등적 개인정보 보호 모델에서는 이런 문장의 점수를 매우 낮게 매기고 허용하지 않습니다. (아래에서 굵게 표시된 문장으로, 우리가 학습하려는 언어 분포를 벗어난 문장으로 보이므로)
aer banknote berlitz calloway … ssangyong swapo wachterthe naczelnik stands toomy god and i know i am correct and innocent
위 문장은 모두 금융 뉴스치고는 무척 이상해 보입니다. 게다가 이들 문장은 개인정보 보호에 어울릴법한 후보 문장으로 보입니다. 이처럼 흔치 않고 이상해 보이는 문장은 민감한 데이터에 대해 훈련된 모델에서 개인 정보를 식별하거나 드러내는 것일 수 있기 때문입니다. 세 문장 중 첫 번째 문장은 기술적 이유로 훈련 데이터에서 발생하는 무작위적 단어로 구성된 긴 시퀀스이고, 두 번째 문장은 일부가 폴란드어로 되어 있고, 세 번째 문장은 자연스러운 보이는 영어이긴 하지만 모델링 대상인 금융 뉴스에 어울리는 언어는 아닙니다. 이런 예문은 수동으로 선택한 것이지만, 전체 검사 결과 차등적 개인정보 보호 모델에서 허용하지 않는 훈련 데이터 문장은 일반적으로 금융 뉴스 기사의 정상적인 언어 분포에서 벗어난다는 점이 확인됩니다. 더구나 우리는 테스트 데이터를 평가함으로써 이처럼 난해한 문장이 개인정보 보호 모델과 그렇지 않은 모델 간의 질적 손실(혼잡도 1.13 대 1.19)의 이유라는 점을 확인할 수 있습니다. 따라서 명목상의 혼잡도 손실이 약 6%임에도, 개인정보 보호 모델의 성능은 우리가 관심을 두는 문장에 대해 거의 감소되지 않을 수도 있습니다.
분명한 점은, 최소한 부분적으로는 두 모델의 차이가 개인정보 보호 모델이 훈련 데이터에 대해 비정상적이고 보기 드문 시퀀스를 기억하지 못한다는 점에서 비롯된다는 사실입니다. 우리는 신경망에서 의도치 않은 기억의 평가에 대해
이전에 수행했던 작업
을 활용하여 이 효과를 정량화할 수 있는데, 이 신경망에서는 독특하고 무작위적인
canary
문장을 훈련 데이터에 의도적으로 삽입하여 훈련된 모델에 미치는 canary의 영향을 평가합니다. 이 경우에는 단 하나의 무작위적인 canary 문장을 삽입하는 것으로 충분한데, 개인정보 보호 모델이 아닌 모델이 그 canary를 완전히 기억하기 때문입니다. 하지만 차등적 개인정보 보호로 훈련된 모델은 삽입된 임의의 단일 canary를 직면할 경우 구분할 수 없습니다. 개인정보 보호 모델은 훈련 데이터에 똑같은 무작위 시퀀스가 많이 존재할 때만 그에 관해 학습할 것입니다. 이는 명백히 모든 유형의 머신러닝 모델에 있어 진실이며(예: 위의 MNIST 훈련 데이터에서 드문 예를 포함한 그림 참조), 모델의 개인정보 보호에 대한 수학적이고 공식적인 상한이 이론적으로 어떤 보장을 하기에는 단연코 너무 클 때도 여전히 진실입니다.
TensorFlow Privacy는 이와 같이 드문 세부 사항을 기억하지 못하게 할 수 있고, 위 그림에 시각화되어 있는 바와 같이 두 머신러닝 모델이 (사용자의 데이터와 같은) 몇몇 예를 훈련에 사용했는지 여부를 구분할 수 없을 것이라 보장할 수 있습니다.
다음 단계와 추가 참고 자료
TensorFlow Privacy를 시작하려면
GitHub 저장소
에 있는 예제와 가이드를 살펴보세요. 특히 여기에는 기존의 TensorFlow 메커니즘뿐 아니라 TensorFlow 2.0 및 Keras의 더 새롭고 다양한
eager
접근 방식을 사용하는 MNIST 벤치마크 머신러닝 작업의 차등적 개인정보 보호 훈련을 수행하는 방법에 대한 자세한 가이드가 포함됩니다.
TensorFlow Privacy를 활용하는 데 필수적인 중요하고 새로운 단계는 그라데이션을 만들고 잘라내고 노이즈 처리하는 방식을 제어하는 새로운 하이퍼 매개변수 3개를 설정하는 것입니다. 훈련 도중에 차등적 개인정보 보호는 수정된 확률적 경사 하강을 사용하여 모델을 최적화함으로써 보장되는데, 이런 경사 하강은 훈련 데이터 예시에 의해 유도되는 여러 경사 업데이트를 모두 평균화하고 특정 최대 기준에 맞춰 각각의 경사 업데이트를 잘라내고 최종 평균에 가우시안 랜덤 노이즈를 추가합니다. 이러한 학습 스타일은 각 훈련 데이터 예의 효과에 대한 최대 한계를 부여하고 이러한 단 하나의 예가 추가되는 노이즈로 인해 그 자체로 어떠한 영향도 미치지 못하도록 보장합니다. 이러한 세 개의 하이퍼 매개변수 설정은 쉽지 않는 기술일 수 있지만, TensorFlow Privacy 저장소에 구체적인 예에 대해 이들 매개변수를 선택할 수 있는 방법에 관한 지침이 포함되어 있습니다.
우리는 TensorFlow Privacy를 강력한 개인정보 보호의 보장과 함께 머신러닝 모델을 훈련하기 위한 동종 최고의 기술 허브로 발전시키고자 합니다. 따라서 예컨대 모든 이해관계자가 다음과 같이 그 과정에 참여하실 것을 권장합니다.
이 블로그 게시물
이나
이 블로그 게시물
에서 차등적 개인정보 보호와 이를 머신러닝에 적용하는 방법에 관한 자세한 내용을 읽어보세요.
실무자의 경우 자신의 머신러닝 모델에 TensorFlow Privacy를 적용해보고, 하이퍼 매개변수, 모델 용량 및 아키텍처, 활성화 함수 등을 조정하여 개인정보 보호와 유용성 간에 균형을 잡고서 실험해 보세요.
연구원의 경우, 예컨대
모델 매개변수 선택
의 개선된 분석에 의한 강력한 개인정보 보호 보장으로 실제 머신러닝에서 더 큰 발전을 이루어 보세요.
풀 리퀘스트를 제출하여 TensorFlow Privacy에 기여해 주세요.
GitHub
에서 궁금한 점을 물어보고 의견을 공유하거나 문제라고 생각하는 점을 알려주세요.
감사의 말
TensorFlow Privacy에 기여해주신 Galen Andrew, Nicholas Carlini, Steve Chien, Brendan McMahan, Ilya Mironov, Nicolas Papernot 님께 감사드립니다.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed