Revisiting Sharpness-Aware Minimization: A More Faithful and Effective Implementation

이 논문은 Sharpness-Aware Minimization (SAM) 의 기존 구현 방식에 대한 직관적 해석을 제시하고, 근사 오차와 다단계 상승 시의 품질 저하 문제를 해결하기 위해 명시적 방향 추정과 최적화된 탐색 공간을 도입한 새로운 알고리즘인 eXplicit SAM (XSAM) 을 제안하여 기존 방법보다 우수한 일반화 성능을 입증합니다.

Jianlong Chen, Zhiming Zhou

게시일 2026-03-12
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

1. 배경: 왜 '날카로운 최소점'을 피해야 할까요?

머신러닝 모델을 훈련시킬 때, 우리는 손실 (오차) 이 가장 작은 지점을 찾습니다. 그런데 이 지점이 두 가지 종류가 있을 수 있습니다.

  • 날카로운 최소점 (Sharp Minimum): 마치 뾰족한 바위 꼭대기에 서 있는 상태입니다. 여기서는 손실은 아주 작지만, 조금만 발을 움직여도 (데이터가 조금만 달라져도) 미끄러져서 큰 오차로 떨어집니다. 즉, 새로운 상황에 약한 (일반화 능력이 낮은) 모델입니다.
  • 넓고 평평한 최소점 (Flat Minimum): 마치 넓은 평야에 서 있는 상태입니다. 여기서는 손실도 작지만, 발을 조금 움직여도 여전히 낮은 곳에 있습니다. 즉, 새로운 상황에도 잘 적응하는 (일반화 능력이 높은) 모델입니다.

우리는 당연히 **넓은 평야 (Flat Minimum)**를 원합니다.

2. 기존 방법 (SAM) 의 문제점: "눈을 감고 방향을 잡다"

기존의 SAM이라는 방법은 "주변을 훑어보면서 가장 높은 곳 (최대 손실) 을 찾아내고, 그 반대 방향으로 이동하자"는 아이디어입니다.

하지만 SAM 은 실제로는 이렇게 작동합니다:

  1. 현재 위치에서 조금 올라가서 (기울기를 따라) 가상의 고지대를 찾습니다.
  2. 가상의 고지대에서 바라본 방향을 보고, 현재 위치로 돌아와서 그 방향으로 이동합니다.

여기서 문제가 생깁니다.
논문은 SAM 의 이 방식을 **"눈을 감고, 멀리 떨어진 곳에서 들은 소리를 듣고 방향을 잡는 것"**에 비유합니다.

  • 비유: 당신이 산에 서 있다고 칩시다. SAM 은 "조금만 올라가서 (가상 고지대) 주변을 둘러보고, '저기 저쪽이 가장 위험해!'라고 외친 뒤, 그 소리를 듣고 현재 위치에서 그 방향으로 뛰어내리는 것"입니다.
  • 문제점:
    1. 정확하지 않음: 멀리서 들은 소리가 정확한 방향을 알려주지 못할 때가 많습니다. (가상 고지대의 기울기가 실제 최대 손실 방향과 다를 수 있음)
    2. 멀어질수록 더 나쁨: 한 번만 올라가도 문제가 있는데, 여러 번 (Multi-step) 올라가서 방향을 잡으면, 그 소리는 더 이상 현재 위치와 무관해져서 엉뚱한 곳으로 가게 됩니다.

3. 새로운 해결책: XSAM (Explicit Sharpness-Aware Minimization)

저자들은 "그냥 소리를 듣고 뛰는 게 아니라, 직접 가서 가장 높은 곳을 찾아보자"고 제안합니다. 이것이 XSAM입니다.

XSAM 의 작동 원리 (창의적인 비유):

  1. 직접 탐사 (Explicit Estimation):

    • 기존 SAM 이 "가상 고지대에서 방향을 짐작"했다면, XSAM 은 "현재 위치에서 사방팔방을 직접 훑어보며 가장 높은 곳을 찾습니다."
    • 하지만 모든 방향을 다 볼 수는 없으니, **가장 유력한 두 가지 방향 (현재 기울기 방향과 가상 고지대 방향)**이 만드는 2 차원 평면만 집중해서 봅니다.
  2. 스마트한 나침반 (Dynamic Interpolation):

    • 이 두 방향 사이에서 **"어느 각도로 가야 가장 높은 곳에 닿을까?"**를 계산합니다. (수학적으로는 구면 보간법을 사용)
    • 이 계산은 매번 할 필요 없이, 학습이 진행되는 동안 천천히 변하므로 가끔만 업데이트하면 됩니다. (계산 비용이 거의 들지 않음)
  3. 정확한 탈출:

    • 이렇게 찾아낸 정확한 '위험 지점'의 반대 방향으로 이동합니다.
    • 결과적으로 모델은 날카로운 바위 꼭대기에서 벗어나, 넓은 평야로 안전하게 이동하게 됩니다.

4. 왜 XSAM 이 더 좋은가요?

  • 정확성: "멀리서 들은 소리"가 아니라 "직접 찾아낸 지도"를 따르므로, 가장 위험한 곳 (최대 손실) 을 훨씬 정확히 피할 수 있습니다.
  • 안정성: 기존 SAM 은 여러 단계로 올라갈수록 엉뚱한 방향으로 갔지만, XSAM 은 단계 수와 상관없이 항상 정확한 방향을 찾습니다.
  • 효율성: 직접 찾아보는 과정이 있지만, 아주 가끔만 업데이트하므로 학습 속도는 기존 SAM 과 거의 같습니다. (계산 비용 증가가 미미함)

5. 결론: "눈을 뜨고 걷는 것"

이 논문의 핵심 메시지는 이렇습니다.

"기존의 SAM 은 눈을 감고 멀리서 방향을 짐작하는 방식이라서 가끔 엉뚱한 곳으로 가거나, 여러 걸음 걸을수록 더 헷갈려졌습니다.
하지만 우리가 만든 XSAM눈을 뜨고 주변을 직접 훑어보며 가장 위험한 곳을 정확히 찾아내고, 그 반대 방향으로 똑바로 이동합니다.
그 결과, 모델은 더 넓은 평야 (더 좋은 성능) 에 정착하게 되었고, 계산 속도도 거의 느려지지 않았습니다."

이 방법은 다양한 이미지 인식, 번역, 언어 모델 등 여러 분야에서 기존 방법들보다 더 좋은 성능을 보여주었습니다.