이중 하강: 왜 더 큰 모델은 성능이 나빠진 후에도 더 잘 일반화될 수 있는가
요약
본 글은 현대 머신러닝에서 관찰되는 '이중 하강(double descent)' 현상을 설명합니다. 이는 모델 용량이 충분한 크기일 때 성능이 급락했다가 다시 개선되는 이론적 경향입니다. 이 현상은 과매개변수화 영역에서 발생하는 암묵적인 정규화 효과로 인해 테스트 에러가 두 번째로 감소하는 과정으로 이해됩니다.
핵심 포인트
- 고전적 학습 이론은 U자형 곡선을 예측하지만, 현대 ML에서는 '이중 하강' 현상이 관찰됨.
- 모델 용량이 충분한 크기일 때 성능이 급락했다가 다시 개선되는 경향을 보임.
- 보간 임계점 통과 시 분산이 폭발하며 테스트 에러 최고점에 도달함.
- 과매개변수화 영역에서는 암묵적 선택(최소 노름)이 정규화 역할을 하여 성능을 회복시킴.
고전적인 학습 이론은 깔끔한 이야기를 들려줍니다. 모델의 복잡도가 증가함에 따라 훈련 에러는 감소하고, 테스트 에러는 먼저 감소하다가 상승한 뒤, 가장 좋은 성능을 보이는 지점이 U자형 곡선의 바닥에 위치합니다. 이 이야기는 틀리지 않았지만, 불완전합니다.
현대 머신러닝에서 테스트 에러는 종종 감소했다가 급격하게 최고점에 도달하고, 이후 모델의 용량(capacity)이 계속 증가함에 따라 다시 감소하는 경향을 보입니다. 이 두 번째 하강 현상을 '이중 하강(double descent)'이라고 부릅니다. 이는 훈련 데이터를 정확히 맞출 수 있는 매우 큰 모델들이 때때로 놀라울 정도로 잘 일반화되는 반면, 데이터를 보간(interpolate)하기에 충분한 크기만 한 모델은 심각하게 성능이 떨어지는 이유를 설명하는 데 도움을 줍니다.
본 글에서는 이중 하강이 무엇인지, 최고점(peak)이 어디에서 오는지, 이를 수학적으로 어떻게 설명하는지, 그리고 언제 기대해야 하고 언제 기대해서는 안 되는지를 설명합니다.
고전적인 그림: 편향(bias), 분산(variance), 그리고 U 곡선
익숙한 분해부터 시작합시다. 입력 x, 참 함수 f, 노이즈, 학습된 예측기(learned predictor)를 가진 예측 문제에 대해 기대되는 테스트 에러는 세 부분으로 나눌 수 있습니다: 제곱 편향(squared bias), 분산(variance), 그리고 제거 불가능한 노이즈(irreducible noise).
편향은 다양한 훈련 데이터셋에 걸쳐 평균 모델이 참값으로부터 얼마나 떨어져 있는지를 측정합니다. 분산은 훈련 데이터셋이 변경될 때 적합된 모델이 얼마나 많이 움직이는지를 측정합니다. 노이즈는 어떤 모델도 제거할 수 없는 부분입니다.
고전적인 영역(classical regime)에서는 복잡도를 높이는 것이 편향을 줄이지만 분산을 증가시킵니다. 처음에는 편향 감소가 우세하여 테스트 에러가 떨어집니다. 나중에는 분산이 지배적이 되어 테스트 에러가 상승합니다. 최적의 지점은 이 두 가지 상충 관계(trade-off) 지점입니다.
그림은 우리가 매개변수화되지 않은 영역(underparameterised regime), 즉 매개변수의 개수 p가 훈련 예제 수 n보다 작은 상태에 머무른다고 가정합니다. 모델이 모든 훈련 포인트를 정확하게 맞출 수는 없습니다. p가 n을 넘어서면 그림은 바뀝니다.
보간 임계점(interpolation threshold) 통과하기
보간 임계점을 p가 대략 n과 같아지는 지점으로 정의합니다. 이 지점에서 모델은 노이즈를 포함하여 훈련 데이터를 거의 정확하게 맞출 수 있는 충분한 용량을 갖게 됩니다.
이 임계점 근처에서, 적합된 모델은 훈련 데이터에 극도로 민감합니다. 단 하나의 예제만 바뀌어도 모델의 적합도(fit)가 크게 요동칠 수 있는데, 이는 모델에게 남겨진 자유도가 거의 없기 때문입니다. 즉, 거의 모든 지점을 통과해야 하기 때문입니다. 분산(Variance)이 폭발하고 테스트 오차(test error)는 최고점에 도달합니다.
임계점을 지나 과매개변수화 영역(overparameterised regime), 즉 p가 n보다 훨씬 큰 상태에서는 훈련 데이터를 정확하게 적합시키는 무한히 많은 매개변수 설정들이 존재합니다. 학습 알고리즘은 이들 중 하나를 임의로 선택하지 않습니다. 대신, 초기화 값에 가장 가깝거나 최적화 동역학(optimisation dynamics) 하에서 노름이 가장 작은 특정 값을 선택합니다. 이러한 암묵적인 선택은 일종의 정규화(regularisation) 역할을 하며, 분산을 다시 줄일 수 있습니다. 테스트 오차는 두 번째로 감소합니다.
따라서 전체 곡선은 다음과 같습니다: 하강 → 보간점에서의 상승 및 최고점 도달 → 두 번째 하강. 이것이 바로 이중 하강(double descent)입니다.
수학적 배경: 최소 제곱법과 최소 노름 보간기
이중 하강 현상을 가장 명확하게 보여주는 설정은 예제 수보다 특징(feature) 수가 더 많은 선형 회귀 분석입니다.
예를 들어, 우리가 n개의 훈련 예제와 p개의 특징을 가지고 있고, 이때 p가 n보다 크다고 가정해 봅시다. $X$는 $n imes p$ 설계 행렬(design matrix)이고 $y$는 목표값 벡터(vector of targets)입니다. $X extbf{w} = y$를 정확하게 만족시키는 가중치 벡터 $ extbf{w}$는 무한히 많습니다. 영점에서 시작하여 제곱 손실(squared loss)에 대해 수렴하도록 경사 하강법(Gradient descent)을 실행하면, 최소 노름 보간기(minimum-norm interpolator)로 수렴합니다:
$$ extbf{w} = X^T(XX^T)^{-1}y$$
이것은 가장 작은 유클리드 노름(Euclidean norm)을 가진 보간 해(interpolating solution)입니다. 이 노름의 크기는 중요합니다. 왜냐하면 선형 모델의 경우, 더 작은 노름은 일반적으로 더 부드럽고 덜 극단적인 함수를 의미하며, 따라서 종종 더 나은 일반화 성능을 가져오기 때문입니다.
릿지 회귀(ridge regression)의 경우 해는 다음과 같습니다:
$$ extbf{w}_ ext{ extbackslash} = (X^TX + ext{ extbackslash} ext{I})^{-1}X^Ty$$
여기서 $ ext{ extbackslash}$는 정규화 강도(regularisation strength)이고 $I$는 항등 행렬(identity matrix)입니다. 과매개변수화 영역에서 $ ext{ extbackslash}$가 0으로 갈수록, 릿지 회귀는 위의 최소 노름 보간기로 수렴하는 경향을 보입니다. 양의 $ ext{ extbackslash}$ 값은 해를 더욱 축소시키고 최고점을 완화하거나 제거할 수 있습니다.
피크를 생각하는 유용한 방법은 X의 특이값(singular values)을 통해 접근할 수 있습니다. p가 n에 가까워지면, 데이터 행렬의 가장 작은 특이값들이 매우 작아질 수 있습니다. 최소 노름 공식(minimum-norm formula)처럼 이를 역변환하면 잡음(noise)이 엄청나게 증폭됩니다. 임계점(threshold)을 훨씬 지나면 스펙트럼이 퍼지고, 유효 증폭률은 감소하며, 보간기(interpolator)는 더 안정적이 됩니다. 랜덤 행렬 이론(Random matrix theory)은 이상화된 가우시안 특성(Gaussian features)의 경우 이를 정확하게 만드는데, 테스트 위험(test risk)을 p/n 비율의 함수로 작성할 수 있으며, 비정규화된 극한(unregularised limit)에서 p/n = 1일 때 발산하다가 p/n이 증가함에 따라 감소합니다.
동일한 직관은 추가적인 연구를 통해 랜덤 특성 모델(random feature models)과 커널 영역(kernel regime)의 넓은 신경망(wide neural networks)에도 확장됩니다. 이 경우 모델은 신경 접선 커널(neural tangent kernel)을 가진 커널 회귀처럼 동작합니다. 세부 사항은 다르지만, 메커니즘은 유사합니다. 즉, 보간 지점에서 피크가 나타난 후, 적합 절차의 암묵적 정규화(implicit regularisation)에 의해 구동되는 두 번째 하강이 발생하는 것입니다.
실용적인 예시: 피크가 나타나는 것을 관찰하기
큰 신경망 없이도 이중 하강을 볼 수 있습니다. 합성 회귀 문제(synthetic regression problem)를 가져와 입력에 랜덤 특성을 확장하고, 특성의 개수를 학습 예제 개수보다 더 많이 늘려보세요. 아주 작은 정규화 강도(regularisation strength)를 가진 릿지 회귀(ridge regression)를 사용합니다.
import numpy as np
from sklearn.linear_model import Ridge
from sklearn.metrics import mean_squared_error
...
일반적인 실행에서 테스트 오차는 p가 n에 가까워지면서 감소하다가, p = n 근처에서 급증하고, 이후 p가 n을 훨씬 지나 증가함에 따라 다시 감소합니다. 정확한 높이는 잡음 수준, 특성 분포, 그리고 정규화 강도에 따라 달라지는데, 이것이 바로 핵심입니다: 이중 하강은 모델 크기만의 속성이 아니라 전체 설정(whole setup)의 현상입니다.
두 가지 변형을 시도해 볼 수 있습니다. 첫째, 레이블 노이즈(label noise)를 증가시키면: 피크가 더 높아집니다. 둘째, 릿지 페널티(ridge penalty)를 증가시키면: 피크가 작아지고 사라질 수도 있습니다. 이 두 효과는 위 수학적 내용에서 파생됩니다. 노이즈는 보간 지점 근처에서 증폭되며, 명시적 정규화(explicit regularisation)는 최소 노름 해법(minimum-norm solution)의 암묵적 정규화와 경쟁합니다.
왜 두 번째 하강이 "더 크면 항상 더 좋다"를 의미하지 않는가
이중 하강(Double descent)은 종종 모델 크기를 무시해도 된다는 허가로 오해됩니다. 이러한 해석은 몇 가지 이유로 틀립니다.
첫째, 두 번째 하강은 보장되지 않습니다. 이는 데이터 분포(data distribution), 특징 맵(feature map), 노이즈 수준, 손실 함수(loss), 그리고 최적화기(optimiser)에 달려 있습니다. 레이블 노이즈가 심하거나, 특징이 좋지 않거나, 아키텍처 선택이 잘못된 경우, 임계점 이후의 테스트 에러는 높은 상태를 유지하거나 다시 상승할 수 있습니다.
둘째, 피크는 실제적이며 위험합니다. 보간(interpolation) 임계점에 가까운 모델은 훈련 에러가 거의 0에 가깝더라도 전체 계열에서 최악의 모델일 수 있습니다. 만약 오직 훈련 에러만으로 모델 크기를 조정한다면, 당신은 그 피크로 곧장 걸어 들어가게 될 것입니다.
셋째, 테스트 에러만이 유일한 비용이 아닙니다. 더 큰 모델은 훈련하고, 서비스하며, 유지하는 데 더 많은 비용이 들며, 해석하거나 디버깅하기 어려울 수 있습니다. 테스트 에러가 몇 퍼센트 하강했다고 해서 컴퓨팅 자원의 10배 증가를 정당화할 수는 없습니다.
넷째, 테스트 에러에서의 이중 하강은 다른 영역에서 좋은 행동을 의미하지 않습니다. 보정(Calibration), 분포 변화에 대한 강건성(robustness to distribution shift), 하위 그룹 전반의 공정성(fairness across subgroups), 그리고 희귀 사례(rare cases)에 대한 성능 등 모든 것이 평균 테스트 에러와 다르게 작동할 수 있습니다. 피크를 지나친 모델이라도 가장 중요한 예제에서는 여전히 심각하게 실패할 수 있습니다.
마지막으로, 현대의 실무에서는 다른 모든 것을 고정한 채 오직 $p$만 변화시키는 경우는 드뭅니다. 아키텍처, 데이터 규모, 훈련 시간, 그리고 정규화가 모두 함께 변합니다. 실제 스케일링 곡선은 여러 효과가 혼합된 것이며, 개선점 전체를 이중 하강에 기인시킨 것은 실수일 것입니다.
이중 하강을 테스트할 때 흔히 빠지는 함정들
- 테스트 데이터로 피크 찾기. 검증 세트(validation set)를 사용하고 모델 크기를 스윕(sweep)하기 전에 평가 프로토콜을 고정해야 합니다.
- 잊기 정규화(Forgetting regularisation). 아주 작은 리지 페널티(ridge penalty), 가중치 감쇠(weight decay) 또는 조기 종료(early stopping)도 곡선의 모양을 바꿉니다. 이를 보고해야 합니다.
- 보간(interpolation)과 해로운 의미에서의 암기(memorization)를 혼동하는 것. 보간은 훈련 포인트를 정확하게 맞추는 것을 의미합니다. 이것이 일반화에 해로운지는 보간기가 어떻게 선택되었는지에 따라 다릅니다.
- 너무 거칠게 스윕하는 것. 피크는 좁습니다. 만약 그리드가 $p$가 $n$보다 훨씬 작은 지점에서 $p$가 $n$보다 훨씬 큰 지점으로 점프한다면, 이를 놓치고 곡선이 단조롭다고 결론 내릴 것입니다.
- 최적화기(optimiser)를 무시하는 것. 서로 다른 최적화기, 초기화(initialisation), 학습률(learning rate)은 서로 다른 보간기를 선택합니다. 최소 노름(minimum-norm)에 대한 이야기는 제곱 손실(squared loss)에 대한 0에서의 경사 하강법(gradient descent)에만 국한되며, 다른 설정들은 자체적인 분석이 필요합니다.
얻어갈 교훈 (What to take away)
고전적인 U 커브는 과소 매개변수화(underparameterised) 영역을 잘 설명합니다. 이중 하강(Double descent)은 이를 확장합니다: 테스트 에러는 모델이 데이터에 간신히 맞는 보간 임계값(interpolation threshold)에서 피크를 형성할 수 있으며, 이후 과매개변수화(overparameterisation)가 최적화기의 내재 편향(implicit bias)을 통해 더 부드러운 보간기를 선택하게 되면서 다시 하락합니다.
실습을 위해 교훈은 명확합니다. 모델을 훈련 에러로 판단하지 말고, 가장 성능이 나쁜 모델이 가장 큰 모델이라고 가정하지 않으며, 가장 큰 모델이 최고라고 가정하지 마십시오. 용량(capacity)을 신중하게 스윕하고, 정규화(regularisation)를 명시적으로 유지하며, $p = n$ 주변 영역에 주의를 기울이고, 모델이 한 번도 본 적 없는 데이터로 검증해야 합니다.
크다는 것이 항상 더 좋지 않으며, 작다는 것이 항상 더 안전하지도 않습니다. 곡선의 모양은 문제에 따라 달라지며, 이를 알 수 있는 유일한 방법은 측정하는 것입니다.
LinkedIn에서 저와 연결하세요: linkedin.com/in/umeshtharukaofficial
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기