[보안] Differential Privacy
Differential Privacy
Idea
`Differential Privacy(DP)`는 연합학습에만 사용되는 개념은 아닙니다. 이는 원본 정보에 대한 보호를 위해 나온 개념으로, 원래 자료의 보호를 위해 자료 일부분을 임의의 값 또는 일정한 값으로 채워넣는 방법을 사용하거나, 아니면 연합학습처럼 원본 정보에 직접적으로 접근 불가한 구조를 채택하기도 합니다. 하지만, 이 방법들은 결과물을 통해 역추적하여 어느정도의 추정이 가능하기 때문에 보다 섬세한 보안 방법이 적용되어야 합니다.
이러한 관점에서 `DP` 문제가 중요하게 되었습니다. 먼저 `DP`란 단 하나의 개인정보의 변화를 통해 전체셋이 변화가 일어바 원본 유저의 정보를 파악할 수 있을 수 있는 상황을 의미합니다. 거꾸로, `DP` 문제에 대한 해결책의 일반적인 철학은 "한 개인 정보의 포함 여부가 결과에 영향을 거의 미치지 않는다면 ($\epsilon$만큼 미친다면), 해당 개인의 정보 보호가 가능할 것이다." 라는 발상을 할 수 있게됩니다(!) 이 이론적인 아이디어를 식으로 나타내자면 다음과 같습니다[1]:
$${pr[\mathcal{M(x)}\in S]} \leq e^{\epsilon} \times pr[\mathcal{M}(x')\in S] + \delta$$
여기서 $x$는 어떤 데이터셋이며, $x'$는 $x$가 아닌 그 이웃 데이터셋, $M$은 모델의 예측이며, $S$는 어떠한 결과 (일종의 확률사상), $\epsilon$은 매우 작은 어떤 수로 두 결과사이의 매우 작은 차이 정도의 의미로 비율로 자연상수의 지수에 올라가있으며, 마지막으로 $\delta$는 차이의 허용치 정도로 해석할 수 있겠네요. 이러한 경우를 우리는 알고리즘 $\mathcal{M}$이 $(\epsilon,\delta)-DP$를 만족한다고 합니다.
Noise
실제로는 이를 만족하는 노이즈를 추가하여 공격자들이 개별 정보에 대해 알 수 없도록 DP가 작동합니다. 가령, 위의 식에 이어서 작성하자면 아래와 같이 어떤 노이즈를 추가하여 모델을 작성할 수 있겠습니다:
$$\mathcal{M}(d) \triangleq f(d) + \mathcal{N}(0, S_f^2 \cdot \sigma^2)$$
여기서의 핵심은 적절히 잡은 $\epsilon$과 $\delta$를 어떻게 노이즈를 잡는데 적용하느냐 입니다. $\epsilon$과 $\delta$ 모두 작으면 작을수록, $\mathcal{M}(x)$과 $\mathcal{M}(x')$의 차이가 작아져, 높은 수준의 보안을 요구한다는 의미가 됩니다. 이에 따라, 위의 식에서는 추가하는 노이즈의 편차($\sigma$)를 $\epsilon$과 $\delta$에 반비례하도록 잡습니다. 추가적으로, $S_f$는 모델의 데이터에 대한 민감도로, 이 값이 크면 클 수록 데이터에 따라 결과가 상이할 가능성이 있다 해석되어 노이즈의 편차가 크게 됩니다.
Cross-Silo
이 파라미터들을 잘 잡아 원하는 정도의 보안을 유지하며, 노이즈는 최소한으로 적용해야 성능이 크게 떨어지지 않습니다. 이를 위한 방법들이 여러 환경 및 상황에 따라 다르며, 이를 논문으로 많은 연구원들이 내고있는 중입니다. 예를들면, 휴대폰의 정보를 활용하여 연합학습을 하는 환경인 cross-device에서 클라이언트가 한두개 빠지는 상황이, 참여 클라이언트가 적은 병원의 협력상황과 같은 cross-silo의 상황과는 상이 할수밖에 없습니다. 이에 따라, 기본적인 DP는 클라이언트 단위의 보안작업을 진행하는 반면, corss-silo의 환경에서는 샘플단위의 보안작업에 맞춰 방법론을 확인하기도 합니다[2].
이런 $\epsilon$과 $\delta$를 기반으로하는 DP의 여러 논문들을 읽으며 찾은 주된 공통점은, 추가하는 노이즈의 편차는 보통 다음과 같은 형태의 공식으로 주어진다는 것입니다:
$$\sigma \geq c \times \frac{1/\delta}{\epsilon}$$
식을 해석하는 약간 도움이 되더군요. (여기서 $c$는 임의의 상수로 루트연산이나 자연로그 등 그런 연산들도 포함하여 여기에 함의하였습니다.)
References
[1] Deep Learning with Differential Privacy
Deep Learning with Differential Privacy
Machine learning techniques based on neural networks are achieving remarkable results in a wide variety of domains. Often, the training of models requires large, representative datasets, which may be crowdsourced and contain sensitive information. The mode
arxiv.org
[2] On Privacy and Personalization in Cross-Silo Federated Learning
On Privacy and Personalization in Cross-Silo Federated Learning
While the application of differential privacy (DP) has been well-studied in cross-device federated learning (FL), there is a lack of work considering DP and its implications for cross-silo FL, a setting characterized by a limited number of clients each con
arxiv.org
https://en.wikipedia.org/wiki/Differential_privacy
Differential privacy - Wikipedia
From Wikipedia, the free encyclopedia Methods of safely sharing general data An informal definition of differential privacy Differential privacy (DP) is a mathematically rigorous framework for releasing statistical information about datasets while protecti
en.wikipedia.org