ART(Adversarial Robustness Toolbox)의 MIFace 알고리즘을 활용한 모델 역전 공격(Model Inversion Attack) 실험 모음.
0002 → 0003 (face_01~25) → 0004 (cifar_03, face_01~05)
CIFAR-10 ATT Faces 하이퍼파라미터 튜닝 고급 기법 적용
파일: model_inversion_attack0002_tryIter.py
- 데이터셋: CIFAR-10 (32×32 RGB, 10 classes)
- 모델: 2-layer CNN (Conv→ReLU→MaxPool ×2 → FC)
- 공격: MIFace, max_iter=10,000, threshold=1.0
- 특징: 20회 반복 공격 후 결과를 평균내는 iterative 방식 시도
공통 설정:
- 데이터셋: ATT Faces DB (40명, 112×92 grayscale)
- 모델: SimpleCNN (Conv→ReLU→MaxPool ×2 → FC → 40 classes)
- 공격: MIFace (ART)
하이퍼파라미터 변화 흐름:
| 구간 | threshold | learning_rate | max_iter | 비고 |
|---|---|---|---|---|
| 01~02 | 1.0 | default | 10K~100K | 기초 |
| 03 | 1.0 | default | 10K | VGG16 시도 |
| 04~06 | 0.1 | 0.001 | 10K | softmax 여부 실험 |
| 07~11 | 0.1→0.001 | 0.001→0.00001 | 100K | 수렴 안 돼서 파라미터 낮춤 |
| 12~13 | 0.001 | 0.00001 | 300K~9.9M | 극단적 반복 시도, seed 고정 |
핵심 관찰: threshold와 lr을 낮춰가며 수렴 문제를 해결하려 했으나, 반대로 max_iter를 대폭 늘려야 했음.
- 데이터셋: MNIST (28×28, 10 classes)
- 모델: SoftmaxRegression (Linear only, temperature=0.5)
- 특징: CNN 없이 선형 모델에 대한 공격 효과 측정
- 데이터셋: ATT Faces
- 모델: SoftmaxRegression (Linear)
- 특징: MIFace를 커스텀 확장한
C_MIFace구현 — 공격 중 GIF 생성
- 데이터셋: Kaggle Face Recognition Dataset (112×112)
- 모델: SoftmaxRegression
- 특징: ATT보다 다양한 피험자, 커스텀 데이터로더
- 데이터셋: ATT Faces
- 모델: SoftmaxRegression (temperature=1.0)
- 학습 기법: MixUp augmentation + Cosine Annealing LR Scheduler + Warmup
- 특징: 학습 진행 epoch마다 공격 실행 → 모델 학습 과정에 따른 공격 성능 변화 GIF 생성
- 데이터셋: Kaggle Faces (112×112)
- 모델: SoftmaxRegression (temperature=0.5)
- 학습 기법: Weight decay (1e-7), 극소 lr (1.642e-8), validation/test 루프
- 특징: 가장 정교한 학습 파이프라인, 레이블 매핑 관리
| 항목 | 초기 (0002~0003 초반) | 후기 (0004) |
|---|---|---|
| 데이터 | CIFAR-10 | ATT Faces, Kaggle Faces, MNIST |
| 모델 | CNN | Linear SoftmaxRegression |
| 학습 | Adam, 단순 | MixUp, LR Scheduling, Warmup |
| 시각화 | 정적 그리드 | GIF (공격 진행 과정 애니메이션) |
| 공격 전략 | 단일 실행 | epoch별 공격, 진행 추적 |
torch,torchvisionart(Adversarial Robustness Toolbox)numpy,matplotlib,Pillow