콘텐츠로 이동

FL 실험 Exp-Critic 리뷰

날짜: 2026-04-13 대상: Phase 2 (Local vs Federated Baseline) + Phase 3 (Cold-Start Evaluation) 리뷰어: exp-critic


1. PAPE 해석 방향 오류 (Critical)

문제

compute_pape() (src/peak_analysis/metrics.py:213-248) 정의:

PAPE = mean(|peak(y_true) - peak(y_pred)| / peak(y_true)) * 100

PAPE는 에러 메트릭으로, 낮을수록 좋다.

exp-expert는 "Fed-Direct PAPE 43.55%가 최고"라고 해석했으나, 이는 반대이다.

수정된 해석

Condition Frac PAPE (%) 해석
CS_Fed-FT-50 0.1 31.17 PAPE 기준 최선
CS0_Scratch 0.1 35.46
CS_Fed-FT-10 0.3 37.83
CS_Fed-Direct all 43.55 PAPE 기준 최악

Phase 2도 재해석 필요:

Method Avg PAPE (%) 순위 (낮을수록 좋음)
F3: FedAvg+FT 42.02 1위 (최선)
L1: Local 42.51 2위
F4: FedProx 43.24 3위
F5: FedDF 43.57 4위
F1: FedAvg 43.60 5위 (최악)

영향

  • Phase 2: FedAvg+FT가 PAPE 기준 최선이라는 결론은 유지됨 (42.02%가 가장 낮으므로)
  • Phase 3: "Fed-Direct가 PAPE 최고"라는 결론이 완전히 뒤집힘. 실제로는 Fed-Direct(43.55%)가 PAPE 최악이고, Fed-FT-50 frac=0.1(31.17%)이 PAPE 최선
  • MSE/MAE와 PAPE가 상충하는 trade-off 관계가 명확해짐: Fed-Direct는 MSE/MAE 최선이나 PAPE 최악

2. 통계적 유의성 검증 부재 (Major)

문제

  • 평가 가구 5개의 평균만으로 방법론 간 비교
  • 분산, 표준편차, 신뢰구간 없음
  • Phase 2에서 FL 방법 간 평균 MSE 차이가 0.4% 이내 — 통계적으로 유의미한지 판단 불가

권장

  • 최소한 가구별 결과의 표준편차 보고
  • Paired t-test 또는 Wilcoxon signed-rank test로 방법론 간 비교
  • 또는 seed를 여러 개 사용한 반복 실험 (현재 seed=42 단일)

3. Cold-Start Fine-tuning에 Early Stopping 미적용 (Major)

문제

trainer.py:cold_start_evaluate() (lines 332-344):

if ft_epochs > 0:
    ...
    for _epoch in range(ft_epochs):
        for x, y in train_l:
            ...  # early stopping 없음

Phase 2의 train_local_only()train_scratch()에는 patience=10 early stopping이 있지만, cold-start fine-tuning에는 없다.

영향

  • FT-50의 과적합이 과장되었을 가능성 (early stopping이 있었다면 더 일찍 멈춰서 성능 개선)
  • "Fine-tuning은 해롭다"는 결론이 약화될 수 있음
  • FT-10 vs FT-50 비교의 공정성 훼손

권장

  • cold_start_evaluate()에 validation-based early stopping 추가 후 재실험
  • 또는 FT epoch를 {5, 10, 20, 30, 50}으로 세분화하여 최적 FT epoch 탐색

4. FedDF Distillation Loader 대표성 문제 (Minor)

문제

trainer.py:204:

distill_loader = self._loaders[self.household_names[0]][0]

FedDF의 distillation에 첫 번째 가구의 train_loader만 사용. 이는 해당 가구의 데이터 분포에 편향된 distillation을 수행.

영향

  • FedDF가 FedAvg와 거의 동일한 성능을 보이는 원인 중 하나일 수 있음
  • 다가구 데이터를 혼합한 distillation loader를 사용하면 FedDF 성능이 달라질 수 있음

권장

  • 전체 가구의 train data를 셔플 혼합한 distillation loader 사용
  • 또는 각 가구의 subset을 균등 sampling한 balanced loader 구성

5. Phase 2-3 간 실험 설계 비대칭 (Minor)

문제

  • Phase 2: 24가구 (20 random + 5 eval), eval 가구가 학습에도 참여
  • Phase 3: 45가구 (hold-out 제외), eval 가구는 학습 미참여

federation 크기(24 vs 45)와 eval 가구 참여 여부가 다르므로, Phase 2와 3의 결과를 직접 비교하기 어렵다.

권장

  • Phase 2 결과와 Phase 3 결과의 직접 비교 시 이 차이를 명시적으로 서술
  • 가능하다면 Phase 2도 45가구로 재실험하여 동일 조건 비교

6. 누락된 실험 조건

N-ablation (Phase 2)

fed_train.py docstring에 "Experiment B: N-ablation" (--num_households 5)이 명시되어 있으나 실행되지 않음. Federation 크기가 성능에 미치는 영향 분석이 누락.

FedProx Cold-Start

Phase 3에서 FedAvg만 사용. FedProx가 Phase 2에서 MSE 기준 최선이었으므로, FedProx 기반 cold-start도 비교 대상에 포함해야 한다.

Learning Rate Sensitivity

모든 실험이 LR=1e-3 고정. FT 성능이 LR에 민감할 수 있으므로, FT용 LR 탐색 필요.


7. 종합 판정

항목 판정
PAPE 해석 재해석 필요 (Critical)
통계적 유의성 보완 필요 (Major)
Early Stopping 코드 수정 + 재실험 권장 (Major)
FedDF Loader 향후 개선 사항 (Minor)
Phase 2-3 비대칭 보고서 서술 보완 (Minor)
N-ablation 누락 추가 실험 권장

재실험 우선순위

  1. cold_start_evaluate()에 early stopping 추가 후 Phase 3 재실험 — FT-50 과적합 결론의 신뢰성 확보
  2. 보고서의 PAPE 해석 수정 — MSE/MAE↔PAPE trade-off로 재프레이밍
  3. N-ablation 실험 추가 (Phase 2 보완)

결론으로 넘길 수 있는 결과

  • Phase 2: FL 방법 간 차이 미미, FedAvg가 복잡도 대비 합리적 선택 — 통과
  • Phase 3 MSE/MAE 기준: Fed-Direct의 cold-start 효과 — 통과
  • Phase 3 PAPE 해석: 수정 후 통과 (trade-off 프레이밍)
  • Phase 3 FT 과적합 결론: early stopping 추가 후 재실험 필요