Differential Privacy
차등 프라이버시는 보정된 노이즈를 추가해 한 사람의 데이터가 제거되더라도 알고리즘의 출력이 거의 변하지 않도록 합니다. 엡실론, 프라이버시 예산, DP-SGD를 다룹니다.
차등 프라이버시(DP)는 데이터를 분석하는 알고리즘의 프라이버시를 수학적으로 정의한 것입니다. 입력에 개인 한 명의 레코드를 추가하거나 제거해도 출력 분포가 거의 변하지 않으면 알고리즘은 차등 프라이버시를 만족합니다. 관찰자가 출력에서 얻는 정보는 해당 개인의 데이터가 없더라도 거의 동일하게 얻을 수 있으므로 결과를 통해 특정 개인에 관한 정보를 거의 알아낼 수 없습니다. 차등 프라이버시는 데이터 분석 결과를 공개하고 의료 이미지나 키보드 입력과 같은 민감한 데이터로 머신러닝 모델을 학습하는 데 사용됩니다. Cynthia Dwork, Frank McSherry, Kobbi Nissim, Adam Smith는 2006년 논문 비공개 데이터 분석에서 민감도에 맞춰 노이즈 조정에서 이 정의를 소개했으며, 이 연구로 2017년 괴델상을 받았습니다. 이 보장은 외부 정보가 얼마나 많든 공격자에게 적용됩니다. 이 점에서 기존 익명화는 한계가 있습니다. 식별 정보를 제거한 레코드도 다른 데이터베이스와 연결하면 개인을 다시 식별할 수 있습니다.
엡실론, 민감도, 프라이버시 예산#
무작위 알고리즘 M은 레코드 하나만 다른 두 데이터셋 D와 D′ 및 임의의 출력 집합 S에 대해 Pr[M(D) ∈ S] ≤ e^ε × Pr[M(D′) ∈ S]를 만족할 때 ε-차등 프라이버시를 만족합니다. 매개변수 엡실론(ε)은 한 사람이 출력에 미칠 수 있는 영향의 상한입니다. 값이 작을수록 프라이버시가 강하고 결과에 노이즈가 많아집니다. 완화된 (ε, δ) 버전에서는 매우 작은 확률 δ로 이 상한을 벗어나는 것을 허용합니다. 일반적으로 δ는 레코드 수의 역수보다 훨씬 작습니다.
노이즈는 민감도, 즉 레코드 하나가 결과를 바꿀 수 있는 최대 크기에 맞춰 설정합니다. 개수는 최대 1만큼 변하므로 라플라스 메커니즘은 실제 개수에 척도 1/ε의 라플라스 노이즈를 더해 공개합니다. 프라이버시 손실은 누적되기도 합니다. 쿼리 k개에 각각 ε을 사용하면 총 ε은 최대 k × ε만큼 소모되므로 조직은 데이터셋에 대한 프라이버시 예산을 설정하고 예산을 소진하면 쿼리 응답을 중단합니다. 아래 코드 조각은 프라이버시 수준 세 가지에서 개수 하나를 공개하고, 오차와 출력을 본 공격자가 특정 인물이 데이터에 포함되었는지 알아맞히는 빈도를 모두 측정합니다.
import numpy as np
rng = np.random.default_rng(0)
# A count over 1,000 records, and a neighboring dataset with one person removed
true_count = 412
neighbor_count = true_count - 1
for epsilon in (0.1, 1.0, 10.0):
# Laplace mechanism: a count has sensitivity 1, so the noise scale is 1 / epsilon
released = true_count + rng.laplace(scale=1 / epsilon, size=100_000)
released_neighbor = neighbor_count + rng.laplace(scale=1 / epsilon, size=100_000)
# Utility: average error. Privacy: accuracy of guessing whether the person is included
error = np.abs(released - true_count).mean()
threshold = true_count - 0.5
attack = ((released > threshold).mean() + (released_neighbor <= threshold).mean()) / 2
print(f"epsilon={epsilon:<4} mean error={error:6.2f} attacker accuracy={attack:.1%}")ε = 0.1일 때 평균 오차는 9.98이고 공격자의 정답률은 52.5%로, 동전 던지기보다 약간 나은 수준입니다. ε = 1일 때 오차는 1.00으로 줄고 공격자의 정답률은 69.5%가 됩니다. ε = 10일 때 오차는 0.10이며 공격자는 99.7%의 확률로 맞힙니다. ε-차등 프라이버시를 만족하는 공개 결과를 대상으로 공격자가 달성할 수 있는 최고 정확도는 e^ε / (1 + e^ε)입니다. ε = 0.1에서는 52.5%이고 ε = 1에서는 73.1%입니다.
차등 프라이버시 학습#
2016년 Google의 Martín Abadi 연구진이 도입한 DP-SGD는 확률적 경사 하강법을 변경해 딥러닝에 차등 프라이버시를 적용합니다. 각 학습 예제의 그래디언트 노름을 최댓값으로 클리핑해 단일 예제가 모델 가중치를 지나치게 크게 바꾸지 못하도록 합니다. 배치별 그래디언트 합에는 가우시안 노이즈를 추가하고, 프라이버시 회계 도구를 사용해 학습 중 소모된 총 ε을 추적합니다. 그 결과 학습된 모델이 특정 예제 하나를 얼마나 외울 수 있는지 제한하며, 이는 멤버십 추론 공격을 직접 제한합니다. 대신 정확도가 낮아지고 컴퓨팅 비용이 증가하므로 DP 모델에는 대개 더 큰 배치와 데이터셋이 필요합니다. 2025년에 공개된 Google의 VaultGemma는 ε ≤ 2.0 및 δ ≤ 1.1e-10 조건으로 DP-SGD만 사용해 사전 학습한 10억 개 매개변수의 대규모 언어 모델입니다.
Meta의 Opacus와 같은 라이브러리는 PyTorch에서 DP-SGD에 필요한 샘플별 그래디언트를 계산하며, 샘플 간 정보를 혼합하는 레이어는 허용하지 않습니다. 일반적인 사례는 배치 정규화입니다. 각 샘플의 정규화된 값이 같은 배치의 나머지 샘플에 따라 달라지기 때문입니다. 합성곱을 사용하는 Ultralytics YOLO26과 같은 검출기는 합성곱 블록마다 배치 정규화를 적용하므로, DP-SGD로 학습하기 전에 해당 레이어를 그룹 정규화로 교체해야 합니다. Opacus의 ModuleValidator.fix()는 이 교체를 자동으로 적용합니다.
차등 프라이버시의 활용 분야#
- 공식 통계: 2020년 미국 인구조사는 차등 프라이버시를 적용해 결과를 발표한 최초의 10년 주기 인구조사였습니다.
- 로컬 차등 프라이버시: Google은 2014년 Chrome에 RAPPOR를 도입했고 Apple은 2016년 iOS 기능을 출시했습니다. 두 방식은 데이터가 기기를 벗어나기 전에 기기에서 노이즈를 추가하므로, 기업은 사용자의 실제 값을 수집하지 않고 어떤 이모지가 인기 있는지와 같은 전체적인 추세를 파악할 수 있습니다.
- 연합 학습: 데이터는 기기에 보관하고 공유 모델 업데이트에 DP를 적용해 사용자 한 명의 데이터에 대해 드러나는 정보를 제한합니다.
- 합성 데이터: DP를 적용해 학습한 생성기는 원본 데이터에 포함된 사람들에게 동일한 ε 보장을 제공하는 공유 가능 데이터셋을 생성합니다.
차등 프라이버시는 더 넓은 데이터 프라이버시 분야의 기법 중 하나이며, 저장 및 처리 중 무단 접근으로부터 데이터를 보호하는 데이터 보안 및 기밀 AI를 보완합니다. 2025년 3월 최종 확정된 NIST의 SP 800-226은 차등 프라이버시 보장을 평가하는 지침을 제공합니다. 또한 ε 보장의 의미를 판단하려면 이벤트 하나나 사람 한 명처럼 보호하는 프라이버시 단위를 함께 명시해야 한다고 경고합니다.










