LocalDpMod#

class LocalDpMod(clipping_norm: float, sensitivity: float, epsilon: float, delta: float)[소스]#

기반 클래스: object

로컬 차분 프라이버시를 위한 수정자.

이 모드는 클라이언트 모델 업데이트를 클립하고 서버로 보내기 전에 파라미터에 노이즈를 추가합니다.

이 함수는 MessageType.TRAIN 유형의 메시지에 대해 작동합니다.

매개변수:
  • clipping_norm (float) – 클리핑 기준값입니다.

  • sensitivity (float) – 클라이언트 모델의 민감도입니다.

  • epsilon (float) – 개인정보 보호 예산. 엡실론 값이 작을수록 개인정보 보호 수준이 높음을 나타냅니다.

  • delta (float) – 실패 확률입니다. 프라이버시 메커니즘이 원하는 수준의 프라이버시를 제공하지 못할 확률입니다. 델타 값이 작을수록 프라이버시가 더 엄격하게 보장된다는 의미입니다.

예제

로컬 DP 모드의 인스턴스를 생성하고 클라이언트 측 모드에 추가합니다:

>>> local_dp_mod = LocalDpMod( ... )
>>> app = fl.client.ClientApp(
>>>     client_fn=client_fn, mods=[local_dp_mod]
>>> )

메소드