본문 바로가기
딥러닝 with Python

[딥러닝 with Python] Robustness vs Generalization

by CodeCrafter 2025. 10. 12.
반응형

 

AI 모델을 평가할 때 자주 등장하는 두 단어는 Generalization(일반화)Robustness(강건성) 입니다.

 

둘 다 “모델이 잘 작동한다”는 뜻이지만, 적용되는 상황과 초점이 다릅니다.

 

1. Generalization : 보지 못한 데이터에도 잘 작동하는 능력

“훈련 데이터와 유사한 새로운 데이터에서도 높은 성능을 내는가?”

 

 예를 들어, 고양이 사진 10,000장으로 학습한 모델이 처음 보는 고양이 사진에도 정확히 ‘고양이’라고 예측한다면
이 모델은 일반화가 잘 된 모델입니다.

 

즉, 학습 분포(training distribution)와 테스트 분포(test distribution)가 유사할 때의 성능 유지력을 뜻합니다.

 

 

2. Robustness — 예기치 않은 변형에도 흔들리지 않는 능력

“데이터가 조금 달라져도, 노이즈가 있어도, 여전히 잘 작동하는가?”

예를 들어, 고양이 사진이 흐릿하거나, 뒤집히거나, 밝기가 달라져도 여전히 고양이라고 맞히는 모델은 강건한 모델입니다.

 

 

즉, 입력 분포가 달라지더라도 출력의 안정성이 유지되는지를 보는 겁니다.

 

 

3.핵심 차이 요약

구분 Generalization Robustness
목표 훈련 데이터와 유사한 환경에서 잘 작동 훈련과 다른 환경·노이즈에도 버티기
변화의 원인 새로운 샘플 (same distribution) 분포 이동, 공격, 센서 노이즈 등
평가 방식 Validation/Test accuracy Adversarial test, domain shift test
중점 포인트 “보지 못한 데이터도 잘 예측하나?” “환경이 달라도 무너지지 않나?”

 

두 개념의 관계

Robustness ⊂ Generalization

강건성은 더 넓은 의미의 일반화의 “특수한 형태”로 볼 수 있습니다.

  • Generalization 은 “새로운 but 유사한 데이터”에 대한 성능
  • Robustness 는 “새롭고 다르거나 왜곡된 데이터”에 대한 성능

즉, robust한 모델은 일반화도 잘 되지만, 일반화가 잘 되는 모델이 항상 robust한 것은 아닙니다.

반응형

댓글