Machine Learning/Machine Learning

[Machine Learning] Federated Learning (연합 학습)

데이터 세상 2023. 4. 10. 17:04

Federated Learning (연합 학습)

구글에서 제안된 기법으로 개인 모바일 기기에 저장된 데이터를 이용하여 인공지능 모델 학습을 수행하는 방법이다.

 

데이터를 메인 서버가 아닌, 개개인의 로컬 클라이언트에 두고 그 로컬 클라이언트에서 학습을 수행,

로컬 클라이언트에서 업데이트된 모델의 가중치들을 중앙 서버로 보내 취합해서 하나의 모델을 업데이트 하는 것을 의미한다. 

 

다수의 개인 모바일 기기에 저장된 데이터를 이용하여 인공지능 모델을 학습하고 학습된 파라미터를 클라우드 상의 서버로 전송하여 통합한 파라미터를 인공 지능 모델 학습에 사용하고 이를 반복하는 방법이다.

 

Federated Learning은 데이터 프라이버시 향상커뮤니케이션 효율성을 가진다.

수 만개의 로컬 디바이스의 데이터를 모두 중앙 서버로 전송하게 되면 네트워크 트래픽과 스토리지 비용이 증가하는데 연합학습을 사용하면 로컬 모델의 업데이트 정보만을 주고 받으므로 커뮤니케이션 비용이 상당이 줄어들게 된다.

  • 학습 정보만을 이용하여 연산 속도가 우수함
  • 데이터가 개인 모바일 기기에서만 이용되기 때문에 정보보호 측면에서도 안전

https://ai.googleblog.com/2017/04/federated-learning-collaborative.html

개인 모바일 기기에서 인공지능 모델이 저장된 사용자의 모바일 기기 데이터에 맞게 학습하고(로컬 모델), 다양한 사용자의 학습 파라미터를 중앙 서버로 전송한다.

중앙 서버에서는 개인 모바일 기기에서 학습한 인공지능 모델 정보를 바탕으로 더 우수한 성능의 인공지능 모델(글로벌 모델)을 학습하고 향상된 인공지능 모델을 개인 모바일로 전송하는 과정을 반복한다.


Federated Learning 방법

Federated Learning: Challenges, Methods, and Future Directions, 1908.07873.pdf (arxiv.org)

 

FedSGD(Federated Stochastic Gradient Descent)

기기에서 매번 업데이트된 파라미터를 전송

 

FedAVG(Federated Averaging)

일정 수준까지 모바일 기기에서 업데이트를 수행한 파라미터를 전송

모바일 기기에서 네트워크 비용을 가장 적게, 효율적으로 사용할 수 있는 상황을 가정


Federated Learning 활용 

병원 데이터

병원의 임상 데이터와 같은 환자 개인정보가 보호되어야 하는 상황에서 데이터 유출 없이 학습이 가능하다.

 

인텔에서 제안하고 있는 연합 학습의 아키텍처

https://newsroom.intel.com/wp-content/uploads/sites/11/2020/05/federated-learning-explainer.pdf

 

Gboard

구글 키보드 서비스에 활용하여 사용자가 단어 입력 시, 유사 단어 추천 기능에 연합학습을 사용하고 있다.

https://ai.googleblog.com/2017/04/federated-learning-collaborative.html


Federated Learning 공격

머신러닝 시스템은 외부 공격이 이루어질 때, 공격자는 기본적으로 모델 파라미터를 직접 관찰할 수 없는 블랙박스(Black-box)시스템이다. 공격자는 입력값과 출력값만을 관측해서 모델을 추론하는 반면, 연합학습에서는 중앙 서버가 모든 클라이언트에게 모델 값을 브로드 캐스팅 하므로 공격자는 모델 파라미터를 직접 관측할 수 있는 화이트박스(White-box)시스템이다

 

Model update poisoning

모델 파라미터 자체를 수정하는 공격

전체적인 성능은 높지만 특정 입력값에 대해서만 성능을 저하시키는 targeted attack과 모델 자체의 성능을 저하시키는 untargetted attack을 수행할 수 있다.

예시)

자율주행 자동차가 정지 표시판만을 잘못 인식하도록 만들 수 있다.

→ 특정 클래스의 성능만 저하시키므로 연합 학습 관점에서는 적은 공격자만으로도 성공적으로 공격에 성공할 수 있고, 모델의 파라미터 값만을 공유하는 연합학습의 특성상 누가 공격자인지 발견하기도 쉽지 않다.

 

Data poisoning

학습 단계 이전에 발생하는 공격으로, 학습 데이터 자체를 오염시켜서 모델이 의도되지 않은 방향으로 학습하도록 만드는 공격

targeted와 untargeted attack을 모두 수행할 수 있다.

가장 흔한 패턴은 특정 뉴런을 학습 단계에서 제외시키는 네트워크 프루닝(network pruning) 방법을 사용한다.

연합학습 관점에서는 전체 학습 프로세스를 다루는 중앙 서버는 클라이언트의 데이터에 접근할 수 없으므로 클라이언트가 가진 데이터의 중독 공격 여부를 선별할 수 없다.

 

Evasion poisoning

배포된 모델에 통과시킬 데이터 샘플을 조정해서 의도되지 않은 결과를 만들어내는 공격

예시)

사람의 눈으로는 구별할 수 없지만 약간의 노이즈를 이미지 혹은 음성에 추가해서 모델의 손실함수값을 최대할 수 있다.

연합학습에서는 공격자가 전체 네트워크에 공유된 모델-파라미터를 관측할 수 있으므로(white-box) 이 공격을 수행하는데 있어 훨씬 수월하게 할 수 있다. 

 


References

반응형