위키득계정 ↗
기술

SCAFFOLD

SCAFFOLD기술
영문
Stochastic Controlled Averaging for Federated Learning
약칭
SCAFFOLD
주요 문제
지역 학습의 방향 편향
보정 정보
서버와 참여자의 제어 변수
SCAFFOLD는 참여자별 지역 학습이 공통 목표에서 벗어나는 현상을 제어 변수로 보정하는 연합 학습 방법이다. 참여자와 서버의 갱신 방향 추정치를 함께 활용한다.

지역 방향이 갈리는 이유

참여자들의 데이터 분포가 다르면 각 지역 손실을 줄이는 방향도 다를 수 있다. 지역 단계를 여러 번 수행하면 이 차이가 누적될 수 있다. SCAFFOLD는 제어 변수를 이용해 지역 갱신이 공통 방향에서 벗어나는 현상을 완화한다.

방향 보정의 독립 예제

현재 지역 기울기가 5이고 지역 방향 추정치가 4, 서버 방향 추정치가 2라고 하자. 보정한 값은 5-4+2=3이다. 기존 기울기에서 지역 쪽 치우침을 빼고 공통 추정을 더하는 역할을 설명한다. 실제 추정치가 항상 정확한 방향이라는 뜻은 아니다.

추적 상태의 필요

제어 변수는 단순히 한 번 정해 두는 상수가 아니라 학습 중 갱신하는 정보다. 참여자가 드물게 선택되면 지역 상태의 관리도 중요하다. 모형 가중치만 평균하는 방식보다 저장 및 통신할 상태가 추가될 수 있다.

이론과 실험의 범위

분산과 지역 편향을 줄이는 분석은 목적 함수와 확률적 기울기 등에 관한 조건을 둔다. 모든 장치 실패와 임의의 데이터 변화까지 영향이 사라진다는 뜻은 아니다. 정확도와 통신 라운드뿐 아니라 추가 상태 전송량 및 지역 계산 비용도 비교한다.

관련 문서

FedAvg / FedProx / FedNova / 경사 하강법 / 언어 모형 / 트랜스포머