폼은 일시적이지만 클래스는 영원하다, ML에서도
AI는 정말 빠르게 발전하고 있습니다. 하루에도 수백 개의 논문이 쏟아지고, 새로운 모델과 아이디어가 등장합니다. 이 모든 걸 잘 따라가시는 분들이 있고, 저는 그분들이 정말 대단하다고 생각합니다. 하지만 솔직히 저는 벅찹니다. 그래서 오히려 그럴수록, 다시 근본으로 돌아가려고 합니다.
폼은 일시적이지만 클래스는 영원하다.
ML에서는 이 말이 더 직접적으로 느껴집니다. 최신 모델을 하나 더 아는 것보다, 왜 그 모델이 나왔는지 설명할 수 있는 편이 훨씬 오래 갑니다. 트렌드는 바뀌어도 가정은 남고, 실수는 대개 그 가정을 놓칠 때 반복되기 때문입니다.
기본 개념에 다시 질문을 던지기
제가 선택한 방법은 ML의 기본 개념들을 다시 공부하는 것입니다. 지금의 ML 발전 방향이 기본 개념들과 일치한다면 왜 일치하는지, 다르다면 어떤 가정이 깨졌기 때문에 다른지를 생각해봅니다. 이상하게 들릴 수도 있지만, 이렇게 다시 복습할 때마다 예전에 놓쳤던 개념들이 새롭게 보입니다. 그리고 그 순간, 최신 ML의 발전 방향도 결국 우리가 과거에 배웠던 몇몇 개념 안에서 움직이는 것처럼 느껴집니다.
예를 들어 bias-variance trade-off를 다시 보면, MSE loss가 편향(bias), 분산(variance), 줄일 수 없는 잡음(irreducible noise)으로 분해된다는 걸 다시 떠올리게 됩니다. 아래 그림은 이 세 성분을 그대로 쌓아 올린 것입니다. 맨 위 검은 선이 세 성분의 합인 전체 test error인데, model capacity가 커질수록 bias 성분은 줄어들고 variance 성분은 커지며, 맨 아래 irreducible noise는 capacity를 아무리 키워도 그대로 남습니다. 그래서 전체 오차가 가장 낮아지는 지점은 그 사이 어딘가에 있습니다.

이 그림을 다시 그려보고 나서 이런 질문들을 스스로에게 던집니다.
- 분류 문제의 loss도 이와 같은 방식으로 분해할 수 있을까?
- scaling law와는 어떤 관계가 있을까?
- 왜 NLP에서는 irreducible noise가 거의 보이지 않는 것처럼 느껴질까?
- 몇몇 vision task는 scaling 하더라도 성능이 saturation될 때가 있는데, 이건 irreducible noise 때문일까?
이 중 scaling law 질문은 위 그림을 한 번 더 확장하면 실마리가 보입니다. 위 그림에서 우리가 움직일 수 있는 손잡이는 model capacity 하나뿐이었지만, 실제로 우리 손에는 손잡이가 둘 있습니다. bias는 모델을 키워서 줄이고, variance는 데이터를 늘려서 줄입니다. 아래 그림은 데이터를 2배씩 늘려가며 전체 test error 곡선을 다시 그린 것입니다. 데이터가 많아질수록 variance 성분이 눌려 곡선 전체가 내려가고, 각 곡선의 최저점 (점으로 표시)은 더 큰 capacity 쪽으로 이동합니다. 이 최저점들을 이은 빨간 점선이 scaling law가 말하는 frontier입니다. 모델과 데이터를 함께 키우는 한 test error는 irreducible noise를 향해 계속 내려갑니다.

이런 질문을 하다 보면 단순히 고전적인 ML 개념들의 공식만 기억하는 게 아니라, 그 안의 의미를 이해하게 됩니다.
또 대부분의 ML 모델은 데이터가 i.i.d.(independent and identically distributed)라고 가정합니다. 여기서도 같은 방식으로 질문을 이어갑니다.
- 왜 우리는 i.i.d.를 가정해야 하지?
- 이 가정이 깨지면 어떤 일이 일어나지?
- 내가 지금 회사에서 풀고 있는 문제는 i.i.d. 가정을 잘 지키고 있을까?
- 만약 안 맞는다면 그걸 어떻게 다뤄야 하지?
- LLM의 post-processing 단계에서 다루는 문제들도, 결국 데이터의 분포가 i.i.d. 가정에서 얼마나 벗어나 있는가와 관련이 있지 않을까?
이런 식으로 기본 개념들을 다시 돌아보면, 현대 ML의 발전 방향을 좀 더 높은 추상화 층위에서 사고할 수 있습니다. 새로운 논문이 매일 쏟아져도, 그 원리를 이미 알고 있다면 훨씬 빠르게 이해할 수 있습니다. 저에게 기본기를 공부한다는 건 단순히 과거를 되짚는 일이 아니라, 변화의 방향을 빠르게 이해하는 데 도움을 받는 일입니다. 그래서 빠르게 변하는 시대일수록, 저는 기본에 충실하고 각 발전 방향을 기본 원칙에 대입해 사고하려고 합니다.
도구에서 이론으로
처음 프로그래밍을 배우는 분들께 저는 늘 쉬운 언어부터 시작하시라고 말씀드립니다. Python과 같은 언어로 흥미를 붙인 뒤, 필요할 때 C처럼 저수준 언어를 익히며 내부 동작을 이해하는 편이 훨씬 효율적이라고 생각합니다. 세상엔 배울 것이 너무 많고 우리의 시간은 한정되어 있기 때문입니다.
머신러닝도 크게 다르지 않습니다. 처음엔 자연스럽게 도구 중심으로 ML에 접근하게 됩니다. PyTorch 같은 현대적인 프레임워크를 쓰다 보면 여러 모델을 레고 블록처럼 조립하며 감을 익힐 수 있고, 이런 경험은 실제로 빠른 성장을 도와줍니다. 하지만 현업에서 더 깊은 문제를 해결하려면 이 도구들을 떠받치는 이론적 기반을 이해하고, 그 기반을 실제 업무에 어떻게 적용할지 생각할 수 있어야 합니다. 결국 기본기가 있어야 시행착오를 줄이고, 더 본질적인 질문을 던지게 됩니다.
가장 익숙한 예인 linear regression을 떠올려보면 이를 더 쉽게 이해할 수 있습니다. linear regression은 deep networks의 토대가 되는 모델입니다. 은닉층을 추가하면 deep networks의 가장 기본적인 형태인 multi-layer perceptron이 됩니다. universal approximation theorem에 의해 multi-layer perceptron을 단순한 function approximator로 바라볼 수도 있습니다. 하지만 universal approximation theorem은 얼마나 많은 capacity와 데이터가 필요한지는 말해주지 않습니다. 따라서 deep networks를 단순 function approximator로 추상화해서 이해하는 것과 함께, linear model의 확장임을 이해해야 regularization에 대한 깊은 이해를 갖고 현실에서 더 효율이 좋은 모델을 만들 수 있습니다.
왜 하필 MSE인가
linear regression을 처음 접하면 기본적으로 least square error인 MSE loss를 가정하게 됩니다. 왜 regression 문제에서 MSE loss를 기본으로 쓸까요? 오차항을 Gaussian으로 가정하면 다음과 같은 가능도 모형이 자연스럽게 생깁니다.
이 식은 관측값이 평균이 $w^\top x$인 Gaussian에서 나왔다는 뜻입니다. 이 가정 아래 최대우도추정(maximum likelihood estimation)을 하면, 결국 MSE를 최소화하는 문제와 같은 방향으로 갑니다. 그리고 그 가정의 배경에는 중심극한정리(central limit theorem)가 있습니다. 여러 작은 요인의 합으로 오차가 형성된다고 보면 Gaussian 가정은 아주 뜬금없는 출발점이 아닙니다.
linear regression에서의 이런 생각의 흐름을 deep networks에서도 그대로 적용할 수 있다는 것까지 이해하면, deep networks에서 regression 문제를 풀 때 MSE loss를 쓰는 게 자연스러워집니다. 그리고 MSE loss 외에 다른 loss를 쓰려면 충분한 rationale이 필요하다는 것을 이해하게 됩니다. regression에서 성능이 나오지 않을 때 그저 잘되기를 바라면서 다양한 loss를 실험해보는 것은 지양하게 됩니다. 회사에서의 AI는 오늘의 데이터에만 잘 작동하는 것이 아니라 내일과 N일 후의 데이터에서도 잘 동작해야 하기 때문에, marginal한 향상이 있는 방법론보다는 오랫동안 안정적으로 잘 동작하는 방법론을 선택하는 것이 기본입니다.
그렇다면 MAE loss는 언제 합리적일까요? MSE는 조건부 평균을, MAE는 조건부 중앙값을 추정합니다. 이 사실을 수식으로 적으면 다음과 같습니다.
이 목적은 중앙값을 추정하는 방향으로 해석할 수 있습니다. 중앙값이 평균보다 적합한 상황, 예를 들어 heavy-tailed noise나 이상치가 많은 경우라면 MAE가 자연스러운 선택이 됩니다. 이 개념을 이해하면 MAE loss를 일반화해 quantile regression까지도 확장해볼 수 있습니다.
그럼 이걸 알면 현업의 어떤 부분에서 도움을 받을 수 있을까요? 우리는 종종 deep networks에서 불확실성을 모델링해야 할 필요가 있습니다. 이때 quantile regression을 한 가지 방법으로 고려해볼 수 있습니다. 특히 UCB(upper confidence bound)가 필요한 상황에서 아주 간단하게 불확실성을 모델링하고 baseline으로 사용할 수 있게 됩니다. 이런 내용들에 대한 이해가 얕으면, 불확실성을 모델링하기 위해 가장 유명한 Monte Carlo dropout 방법을 일단 시도하게 되고, 현실적으로 overconfident 문제 등 제대로 불확실성이 모델링되지 않는 현상을 경험하면서 시행착오가 늘어납니다.
Ridge regression이 보여주는 연결
ML 연구를 더 잘하려면 근간이 되는 ML 이론을 더 잘 이해해야 합니다. linear regression을 공부하면 자연스럽게 ridge regression을 접하게 됩니다. ridge regression은 vanilla linear regression의 overfitting 문제를 해결하기 위해 등장한 매우 기본적이면서 강력한 방법입니다. loss에 L2 regularization을 추가하는 형태로 쓸 수 있습니다.
이 식은 데이터에 대한 적합도와 가중치 크기 사이의 균형을 직접 조절한다는 뜻입니다. 해석은 더 있습니다. 각 가중치가 서로 독립이면서 분산이 동일한 Gaussian prior를 따른다고 가정하면, ridge regression을 최대사후추정(maximum a posteriori, MAP) 문제로 해석할 수 있습니다. 이 관점에서는 정규화 항이 단순한 벌점이 아니라, 사전 믿음을 수학적으로 넣은 결과가 됩니다.
이 가정이 존재하기 때문에 ridge regression에서는 input feature들끼리 비슷한 분포가 되게 만드는 정규화가 필요합니다. 입력되는 feature들의 분포가 너무 다르면, 가중치마다 분산이 동일하다는 prior를 주는 것이 좋지 않은 가정이 되기 때문입니다. 이 내용은 deep networks에서도 동일하게 적용되어, tabular learning을 할 때 multi-layer perceptron뿐 아니라 TabPFN, TabTransformer, FT-Transformer 등 최신 tabular learning 모델들에서도 feature 정규화를 기본적으로 채택하고 있습니다. 모델이 새로워져도, 입력 분포를 정리해야 한다는 감각은 오래 바뀌지 않습니다.
ridge regression을 제약식으로 다시 쓰면 이 관계가 더 또렷해집니다. KKT 조건이 성립한다고 가정할 때, 위의 식은 vanilla regression의 목적식에 다음과 같은 제약이 붙는 형태로 해석할 수 있습니다.
$\lambda$가 커질수록 가중치는 더 작아지고, model capacity가 줄어들며, 결국 overfitting을 방지하게 됩니다. 이는 분산을 줄여 generalization을 더 잘 달성하기 위한 맥락으로 이해할 수 있습니다. 저는 이 지점을 이해하면 “정규화는 그냥 과적합 방지 장치”라는 말보다 한 단계 더 깊게 볼 수 있다고 생각합니다. 정규화는 실제로 모델이 허용받는 해의 공간을 바꾸는 일입니다.
위와 같이 ridge regression에서 primal-dual 관계를 이해하면 여러 deep networks 논문도 다른 관점으로 이해할 수 있습니다. loss에 여러 항들이 들어가 있으면, KKT 조건이 만족하지 않더라도 각각이 어떤 제약식으로 동작하는지 생각해볼 수 있고, 제약식이 많아지면 많아질수록 하이퍼파라미터 튜닝에 어려움을 겪을 수 있다는 것도 이해할 수 있습니다. 그러면 연구할 때 loss가 다양한 항들로 구성된 논문들은 baseline 등으로 선택할 때 한 번 더 생각하게 됩니다.
마무리
기본기를 공부한다는 것은 과거로 돌아가는 일이 아닙니다. 오히려 새 기법을 더 빨리 이해하기 위해, 그 기법이 기대고 있는 오래된 언어를 다시 익히는 일에 가깝습니다. MSE가 왜 나왔는지, MAE가 언제 맞는지, ridge regression이 왜 MAP로 읽히는지, feature 정규화가 왜 자연스러운지까지 연결해서 보면, 새 논문은 더 이상 완전히 낯선 것이 아닙니다. 어디에서 왔는지 보이기 시작합니다.
현업에서도 이 차이는 작지 않습니다. 사용하는 모델의 바탕에 깔린 원리를 이해해야 더 잘할 수 있고, 그 차이가 실질적인 성과와 속도 차이로 이어집니다. 기본기를 알고 있으면 문제를 만났을 때 먼저 가정을 점검하게 되고, 그 덕분에 시행착오를 줄일 수 있습니다. 무엇이 바뀌었는지보다 무엇이 안 바뀌었는지를 빨리 찾는 편이 더 유리할 때가 많습니다.
HYPERCONNECT AI 조직은 늘 구성원들의 기본기를 탄탄하게 만들기 위해 노력하고 있으며, 기본기가 탄탄한 분들을 찾고 있습니다. ML fundamental을 실질적인 비즈니스 임팩트로 이어가고 싶으신 분들을 열심히 찾고 있습니다!
결국 클래스는 폼보다 오래 갑니다. 모델 이름은 바뀌어도, 가정과 해석과 추론의 습관은 남습니다. 저는 그 습관을 조금 더 천천히, 그러나 더 정확하게 쌓아가려 합니다.