Bias-Variance Trade-off, 그리고 Double Descent
ML에서 가장 중요하다고 볼 수 있는 bias와 variance의 관계에 대해 정리하고, 더 나아가 현대 딥러닝 모델에서 연구된 이중 하강에 대해 다룹니다.
이 포스팅은 25년 1학기 광주과학기술원(GIST) AI대학원에서 수강한 ML/DL 과목에 대한 정리글입니다.
서론: 모두가 알고 있는 정의
기계학습을 배울 때 가장 중요한 개념 중 하나가 바로 Bias와 Variance의 Trade-off 관계이다. 이는 모델의 복잡도가 작을수록 bias는 크고 variance가 작으며, 모델의 복잡도가 클수록 bias는 작고 variance는 커지는 관계를 말한다. 모델이 크고 무거울수록 무조건 좋은게 아니라는 것을 아주 잘 보여주는 중요한 법칙이다.
그런데 사실 그 의미는 손쉽게 이해가 되지만, 수식과 연결지어서 ‘왜 이런 의미가 저 수식에서 도출되는지’는 이해하기 쉽지 않다. 이 이유는 크게 아래와 같이 나눌 수 있다. 1) 의미를 쉽게 이해시키기 위해 수학적인 유도를 깊이 설명하지 않음 2) 암묵적인 전제를 언급하지 않기 때문에, 듣는 입장에서 전제를 배제하고 생각하는 경우가 있음 3) 상당한 수학적 직관에 의존해 설명하지만, 마치 수학적으로 증명이 된 법칙인 것처럼 말함
때문에 ML 수업을 들었던 상당수는 Bias-Variance Trade-off가 ML에서의 개쩌는 수학 법칙인 줄 오해하는 이도 있다.
이 Trade-off 관계는 절대 수학적으로 유도된 것이 아니다. Error 자체를 Bias와 Variance 항 2개로 분리한 것까지가 수학적으로 유도한 것이고, 수식 자체를 해석하는 과정에서, 두 항이 Trade-off 관계임을 많은 엔지니어들의 경험과 직관을 발휘해 발견한 것이다(그리고 이 경향성은 아직까지도 AI 설계에서 중요한 역할을 한다). 공학적인 도구이지 수학적 법칙이 절대 아닌 것이다.
심지어 현대 딥러닝에선 일정 수준 이상의 Complexity에선 Trade-off 관계가 깨지는 것까지 발견하였다. Train error뿐 아니라 Test error까지 감소하는 현상을 발견한 것이다(이 현상이 기존 DL회의론을 깨부수고, 규모에 집착하는 현대 딥러닝 메타의 시발점이라고 봐도 무방하다).
오늘 포스팅에선 Bias-Variance Tradeoff 관계를 나름의 방식대로 분석하고자 한다. 엄청 수학적인 관점에서 다루지는 않을 거지만, 수학적인 요소까지 파고 내려간 다음, 왜 그 항이 그런 의미를 지니는지 직관을 통해 이야기해볼 것이다.
들어가기 전에: Ground Truth 함수와 데이터의 관계
AI에 아주아주 기본적인 통계적 개념에 대해 짚고 넘어가자.
세상의 모든 현상은 함수로 표현이 가능하다.
흔한 비유의 함정: 과녁 맞히기
이 개념을 흔히 과녁에 비유해서 설명하곤 한다.
편향과 분산을 설명하기에는 더할 나위 없이 적절한 비유이지만, 이렇게 하면 모델 훈련을 사격 연습 과정과 동일시하는 오해가 발생하곤 한다. 이 경우 편향을 줄이는 것과 분산이 늘어나는 것에 도대체 어떤 관계가 있는지 이해할 수 없다. 사격 경험이 있는 사람들이라면 더더욱.
“편향을 줄이기 위해 조준경을 옮겼더니, 분산을 결정하는 호흡이 불안정해졌다”는 결론에 도달하게 된다. 이상하지 않은가?
수식의 분석과 수학적 직관
위 비유가 틀린 이유는 model complexity에 대응되는 직접적인 비유가 없기 때문이다. bias를 줄이면 variance가 늘어나는 것이 아니라, bias를 줄이기 위해 model complexity를 늘이면 variance가 늘어나고, 그 반대도 성립한다. model complexity가 아니라 다른 방법으로 bias를 줄이면 variance에는 아무런 변화가 없을 것이다. 가장 중요한 건 bias도, variance도 아닌 model complexity이다.
어설픈 비유는 오히려 오해를 불러 온다. 우리는 수식을 통해 더 엄밀히 접근할 필요가 있다. 아래는 모델의 오차를 bias와 variane로 분해한 수식이다.
\[E\left[(Y - \hat{f}(x))^2\right] = \left(f(x) - E[\hat{f}(x)]\right)^2 + E\left[\left(\hat{f}(x) - E[\hat{f}(x)]\right)^2\right] + \text{Var}(\epsilon)\]1. Bias
의미 찾기
우선 편항을 뜻하는 첫 항 \(\left(f(x) - E[\hat{f}(x)]\right)^2\)를 보자. \(f\)가 Ground Truth 함수, \(\hat{f}\)가 우리의 prediction model이며, model을 평균내고 있다. model을 평균낸다는 것이 무슨 의미일까? 무엇에 대해서 평균을 낸다는 걸까?
Quiz: \(E[\hat{f}(x)]\)의 의미는?
- 1) 하나의 고정된 \(x\)값에 여러 prediction model들이 내놓는 예측값의 평균
- 2) 여러 x값에 대응되는 우리 prediction model \(\hat{f}\)의 함숫값
정답은 1번이다. 여기서 말하는 평균은, \(x\)가 아닌 ‘모델의 여러 가능세계’들에 대한 평균을 말한다.
이는 우리가 따지고자 하는 확률변수가 \(x\)가 아니라 \(\hat{f}\)이기 때문이다.
우리의 모델은 그 구조(차수)는 정해져 있지만, 형태(계수)는 정해져 있지 않다. 그리고 학습은 무조건 훈련 loss를 최소화하는 방향으로 진행되므로, 계수는 훈련 데이터를 어떻게 구성하느냐에 따라 달라진다.
물론 우리의 가정에서 훈련 데이터는 동일한 Ground Truth 모집단에서 추출된다. 하지만 결국 sampling된 데이터이고, 따라서 불확실성이 발생한다. 이 ‘훈련 데이터셋 선정 과정’에서 \(\hat{f}\)의 불확실성이 기인하는 것이다.
즉, Bias는 “주어진 모델 구조가 가질 수 있는 수많은 형태들의 평균(즉 그 모델의 경향성)”과, 실제 Ground Truth Function의 차이라고 볼 수 있다.
왜 Complexity가 늘어나면 Bias가 작아지나?
그렇다면 왜 complexity가 늘어나면 모델의 평균과 정답 모델의 차이가 줄어드는 걸까? 여기에는 다음과 같은 암묵적인 전제가 깔려 있기 때문이다.
- 모델의 복잡도 방향성이 문제의 복잡성과 알맞음: GT가 sin함순데 아무리 다항식 차수를 늘려봤자, GT에 가까워질수는 없다.
- 데이터가 충분하고, 원본 모집단을 충분히 잘 설명함(편향되지 않고 고루 분포되어 있음): 당연히 데이터는 GT에서 random sampling 되었음을 전제로 하고 있다.
훈련 데이터가 GT를 잘 설명하고 있기 때문에, 어떻게 train set을 구성하던 결국 가능한 모든 train set의 평균을 내면 원본 데이터에 대한 표현력 싸움으로 수렴할 수밖에 없다. 때문에 Bias가 모델의 표현력을 나타내는 것이다(수많은 교재에서 이를 언급하고 있지만, 정확히 왜 Bias가 모델의 표현력을 나타내는지는 설명하지 않는다).
모델의 복잡도가 높을수록 표현할 수 있는 함수 형태가 다양해지므로, 표현력도 올라가고, 따라서 bias 오차 항이 낮아진다.
2. Variance
이번엔 Variance 항을 보도록 하자. 항 자체는 다음과 같이 생겼다.
\[E\left[\left(\hat{f}(x) - E[\hat{f}(x)]\right)^2\right]\]이건 뭐 수학적으로 정의되어 있으니 한눈에 볼 수 있다. 바로 확률변수 \(\hat{f}\)의 분산이다. 가능한 모든 \(\hat{f}\)들이 얼마나 흩어져 있을지 생각해보면, 복잡도가 높은 모델일수록 그 형태가 더 다양할 수 있으므로, 흩어져 있는 정도도 더 크다고 할 수 있다.
정말 복잡도가 높을수록 가능한 모델이 ‘더’ 다양할까(더 큰 분산을 가질까)?
안타깝게도 이를 완전 일반화해서 증명하는 방식은 존재하지 않는다. 모델의 복잡도라는 것은 상당히 추상적인 개념이다. 다항 회귀 모델의 경우 가중치 개수로 손쉽게 정의가 가능하지만, KNN, 결정트리, SVM 등 다양한 ML 알고리즘이 있고, 각자의 복잡도를 통일된 하나의 방식으로 서술하는 것은 불가능하다. 통계학습 이론에서는 여기서 ‘VC 차원’, 또는 ‘유효 자유도’라는 추상적인 개념을 사용해 복잡도를 수치화하지만, 이를 가지로 분산 식을 유도하기에는 적절치 않다.
하지만 일반화하지 않고 각 모델에 대해서 증명하는 방식은 존재한다. 다항 회귀 모델의 경우 선형 모델과 n차 회귀 모델을 비교하는 방식이 대표적이고, KNN의 경우도 k=n에 대해(k가 작을수록 복잡도가 큼) 그 분산이 \(\frac{\sigma^2}{n}\)임을 수학적으로 증명할 수 있다.
Double Descent: 현대 딥러닝이 발견한 창발 효과
이같은 고전적인 이론에 따르면, 모델의 복잡도가 일정 수준을 넘어서면 과적합이 발생하여 테스트 오차가 계속 증가해야 한다. 하지만 놀랍게도, 현대의 거대한 딥러닝 모델들은 이 예측을 벗어나는 현상을 보여준다.
출처: Pinecone
그 최초의 사례가 바로 2012년 ILSVRC 대회에서 압도적인 점수를 기록하며 우승한 AlexNet이다. 기존의 모델들보다 훨씬 깊은 신경망과 GPU를 활용한 대규모 병렬 연산을 통해 현대 딥러닝 시대의 개막을 알렸다.
이때부터 ML엔지니어들은 막연히, 모델 complexity에 대한 기존의 관념이 틀렸다고 인지하기 시작했지만, 정확히 그 원인을 규명하지는 못하였다. 하지만 이때부터 전 세계의 빅테크 기업들은 이미 규모의 경쟁을 준비하기 시작했다.
2017년 Transformer, 2018년 GPT와 BERT 등이 등장하며 LLM의 시대가 열리고, 결국 2022년 11월 chatGPT가 출시하면서 2025년 지금까지 온 세상이 거대 AI모델에 열광하고 있다.
사실 Double Descent와 유사한 현상 자체는 1990년대의 통계학 및 신경망 연구에서도 간헐적으로 관찰되었다. 하지만 당시에는 딥러닝처럼 극도로 큰 모델(Overparameterized Model)이 주류가 아니었기 때문에, 특이한 현상 정도로만 여겨지고 큰 주목을 받지는 못했다.
그리고 딥러닝이 발전하면서 고전적 해석이 틀렸다는
미하일 벨킨 연구팀이 2018년 12월,
###
이중 하강(Double Descent) 현상은 다음과 같이 설명된다.
고전적 U자 곡선 (Classical Regime): 모델의 복잡도가 증가함에 따라 편향이 줄고 분산이 늘어나면서 테스트 오차가 감소하다가, 과적합이 시작되는 지점(Interpolation Threshold)에서 다시 증가하는 전형적인 U자 형태의 곡선을 보인다. 이 지점은 모델이 훈련 데이터를 거의 완벽하게 외울 수 있는 용량을 갖게 되는 시점이다.
두 번째 하강 (Modern Regime): 놀랍게도, 과적합 지점을 지나 모델의 복잡도(파라미터 수)가 훈련 데이터의 양보다 훨씬 많아지는 과매개변수화(Overparameterized) 영역으로 진입하면, 테스트 오차가 다시 감소하기 시작한다.
왜 이런 현상이 발생할까? 이중 하강의 정확한 원인은 여전히 활발한 연구 주제이지만, 현재까지의 유력한 설명은 다음과 같다.
과매개변수화 영역에서는 훈련 데이터를 완벽하게 만족시키는 모델(해가 되는 모델)이 무수히 많이 존재한다. 이때 경사 하강법(Gradient Descent)과 같은 최적화 알고리즘은 이 무수한 해 중에서 가장 “단순”하거나 “부드러운” 형태의 해를 찾는 경향이 있다. 이를 암묵적 정규화(Implicit Regularization) 효과라고 부른다.
즉, 모델이 극도로 복잡해지면 오히려 특정 데이터에 과하게 얽매이지 않는, 일반화 성능이 더 뛰어난 해를 찾게 되어 테스트 오차가 다시 감소하는 것이다.
결론
편향-분산 트레이드오프는 머신러닝 모델의 성능을 이해하는 데 있어 여전히 강력하고 중요한 개념이다. 그러나 수학적 법칙이라기보다는 특정 조건 하에서 관찰되는 경험적 원리에 가깝다.
현대 딥러닝에서 발견된 이중 하강 현상은 이 고전적 원리를 넘어서, 모델의 복잡도와 일반화 성능 사이의 관계가 우리가 생각했던 것보다 훨씬 복잡하고 미묘함을 보여준다.
이는 왜 현대 AI가 “더 크고, 더 깊은” 모델을 통해 성능의 한계를 돌파하고 있는지를 설명하는 중요한 열쇠이기도 하다.
이 Trade-off 관계를 면밀히 공부하면서, ML/DL 연구를 위한 충분한 수학적 직관을 기를 수

