본문 바로가기

데이터사이언스/federated learning

[논문 리뷰] To Federate or Not To Federate: Incentivizing Client Participation in Federated Learning

https://baechu-story.tistory.com/61

 

[논문 리뷰] Mechanisms that Incentivize Data Sharing in Federated Learning

1. 요약 이 논문은 2022 NeuralPS 연합학습 Workshop에서 발표되었다. 논문에서는 연합학습 환경에서 합리적인 행동을 하는 agent(client)를 가정하고, 데이터의 공유를 막는 free-riding 문제를 제시한다. 그

baechu-story.tistory.com

지난 글에 이어 두 번째로 연합학습에서 인센티브 메커니즘을 다룬 논문이다. 

 

1. 요약

 클라이언트가 local 모델보다 높은 정확도를 갖는 global 모델을 얻는 것을 incentive로 정의한다. 또한 Incentivce 효과를 측정할 metric으로 Incentivized Participation Rate(IPR)을 제시한다. 마지막으로, aggregation 과정에서 client weight를 동적으로 조절해 IPR을 최대화하는 알고리즘 INCFL(INCentive FL)을 제안한다. 

 

 

2.  Incentivized Participation Rate(IPR)

 연합학습에서 global model을 $w$, client k의 local 모델을 $\widehat{w}_{k}$이라고 하자. local loss funciton $f_{k}$에서 $f_{k}(w) < f_{k}( \widehat{w}_{k})$가 성립한다면, 클라이언트는 인센티브를 받는다고 정의한다. global모델이 local 모델보다 나은 성능이라는 뜻이다. 클라이언트는 global 모델과 local 모델의 성능을 비교하고, 인센티브 여부를 확인하고 연합학습에 참여할지 결정한다. 기존 연합학습 알고리즘은 client의 인센티브를 고려하지 않고, 모든 client에서 loss function 총합만을 감소시키려 한다. 인센티브 정의에 기반해, IPR은 다음과 같이 정의할 수 있다.

IPR 정의

 II는 주어진 원소가 집합에 속하면 1을, 아니면 0을 리턴하는 지시함수다. 만약 global 모델 loss 값이 더 작으면 II는 1을 리턴한다. 위 식을 최대화하는 w를 찾는 것은 다음 식을 최소화하는 것과 같다.

objective function

 위 식에서 sign(x)는 x가 양수면 1을, 아니면 0을 리턴한다. sign 함수 안에 있는 식은 인센티브의 정의인 $f_{k}(w) < f_{k}( \widehat{w}_{k})$에서 $f_{k}( \widehat{w}_{k})$를 왼쪽 항으로 이동시킨  $f_{k}(w) -  f_{k} (\widehat{w}_{k})< 0$와 같다. 따라서 인센티브를 받기 위해서는 위 식이 0보다 작아서 sign 함수가 0을 리턴해야 한다. 실제 gradient-base 방법론에 위 식을 적용하기 위해서는 두 가지 relaxation이 필요하다. 

 

1. 미분 불가능한 지점이 있는 sign 함수를 sigmoid로 교체

2. 실제 데이터 분포에 따른 loss function $f$를 경험적 데이터 분포에 따른 $F$로 교체

 

이에 따라 다음과 같이 INCFL의 목적함수를 설정할 수 있다.

relaxed objective function

3. INCFL

 위에서 제시된 INCFL의 목적함수  $\tilde{F}(w)$를 미분하면 다음과 같은 결과가 나온다.

INCFL gradient

 이 결과를 이해하기 위해서는 $f(g(x))$를 미분하면 $f'(g(x))g'(x)$이 되는 합성함수의 미분을 적용하면 된다. 이때 relaxed objective function에서 $g(w) = F_{i}(w) -F_{i}(\hat{w}_{i})$로 보면 된다. 이로 인해 $\bigtriangledown g$에 해당하는 $\bigtriangledown F_{k}(w)$가 오른쪽에 곱해지게 된다. 다음으로 sigmoid 함수의 미분이 $\bigtriangledown sigmoid(x) =  sigmoid(x)(1-sigmoid(x))$라는 것을 적용해 $\bigtriangledown  \tilde{F}(w) $를 완전히 구할 수 있다. 

 

 위 gradient는 사실 standard FL 알고리즘의 gradient $\bigtriangledown F_{k}(w)$에 가중치를 곱해서 aggregation한 결과다. 그 가중치 $q_{k}(w) = (1- \tilde{F}_{k}(w))\tilde{F}_{k}(w)$는 인센티브 변화에 영향을 받는다. 목적함수 $\tilde{F}_{k}(w)$에 사용된 sigmoid 함수 특성상 가중치는 인센티브 차이가 0에 가까울 때 가장 크다. 어떤 client에서 local 모델이 global 모델보다 훨씬 나은 성능을 보인다면, 해당 client는 인센티브를 늘리는 것을 포기한다. 반면 global 모델이 성능이 훨씬 좋다면 인센티브 차이가 적은 client에 집중한다. 아래 그래프에서는 이렇게 인센티브 차이에 따라 달라지는 가중치를 나타내고 있다.

Fig1. 인센티브 차이에 따른 가중치 변화

 또한 논문에서는 빠른 수렴을 위해 FedAvg처럼 여러 local update 후, 서버에서 aggregation을 진행한다. 서버와 client는 다른 learning rate를 사용하고, 서버의 learning rate는 해당 round client들의 가중치 $q_{k}(w)$에 반비례하도록 설정한다. 이를 통해 한 round에 update가 너무 크거나 작게 이루어지는 것을 방지한다.

 

 

4. 실험 결과

실험은 INCFL과 standard FedAvg, 데이터 이질성 해결을 목표로 하는 FedProx, client 참여에 인센티브를 제공하는 MW-Fed를 대상으로 진행됐다. INCFL은 학습 과정에서 global model을 local data에 맞게 fine-tuning하는 Personalization 방법을 적용했다. Metric으로는 1) Incentivized Participation Rate(IPR) 2) global 모델, client 모델 중 더 나은 모델의 정확도 두 가지를 사용했다.

IPR, test accuracy

 위 그래프에서 볼 수 있듯이, INCFL의 IPR과 test accuracy는 다른 어떤 알고리즘보다 높은 모습을 보였다.

unseen client에서 IPR, test accuracy

3가지 데이터셋에서 train에 참여하지 않은 client의 IPR과 test accuracy을 비교해보았다. 그 결과 IPR은 다른 알고리즘에 비해 최소 40%, 정확도는 최소 6% 더 높은 결과를 보여, INCFL의 높은 일반화 능력을 확인할 수 있었다.

 

train data 비율의 효과

train data의 비율이 높으면 client model은 더 잘 훈련되어, 자신의 데이터를 좀 더 잘 예측할 수 있다. train data를 80%로 높게 설정해도 INCFL은 비교 알고리즘에 비해 높은 IPR을 기록했다.

 

5. 결론 및 느낀점

인센티브를  local 모델보다 좋은 성능의 global 모델을 가지는 것이라고 새롭게 정의한 내용이 인상 깊었다. 이를 통해 기존 personalization 방법들을 인센티브 메커니즘에 적용할 수 있겠다는 생각이 들었다. 아쉬운 점은 본문의 실험에서 INCFL에만 local fine-tuning을 진행하고 다른 personalization 알고리즘은 비교 대상에 넣지 않은 점이 아쉽다. 이런 방법으로는 fine-tuning 과정을 거친 INCFL의 성능이 좋게 나오는 게 당연한 것 같다. 또한 논문의 결론에서는 cross-slio, cross-device에 모두 적용이 가능하다고 하지만 cross-device에서는 client가 성능을 비교하고 연합학습에 참여하는 일은 없을 것 같아 cross-device에만 적용이 가능할 것 같다. 한편으로는 INCFL이 일반화 성능이 좋아 train에 참여하지 않은 client에서도 좋은 성능을 내는 것을 보고, free-riding 문제가 해결이 안될 것 같다고도 느꼈다.