research

핵심 명제 — 표현력 확보 후 그 안에서 단순함 찾기

핵심 명제 — 표현력 확보 후 그 안에서 단순함 찾기

ML 모델 설계를 가만히 들여다보면 두 단계가 거의 항상 분리되어 있다. 먼저 모델이 표현할 수 있는 hypothesis 전체를 넉넉히 잡고, 그 다음 그 안에서 "이 중 어느 것?"을 단순함 기준으로 좁힌다. 이 두 단계가 왜 합쳐지지 않는가가 이 노트의 핵심 질문.


명제

표현력은 데이터에 앞서 결정한다. 단순함 기준은 그 표현력 안에서 별도의 prior로 추가된다. 두 결정은 독립적이며, 한쪽으로 합치려는 시도는 모두 다른 쪽을 망가뜨린다.


두 단계 분리의 그림

여기서 미묘한 부분: 단계 2의 단순함 prior는 데이터를 보지 않고도 정의된다. L2 regularizer의 λ\lambda, decision tree의 max depth, dropout rate — 모두 데이터에 무관한 모델 구조 결정이다. 데이터는 hypothesis 후보를 좁히지만, 그 안에서 어느 걸 선호할지는 데이터 밖에서 정한다.


합치려는 시도가 왜 무너지는가

이 두 단계를 한 번에 처리하려는 시도가 종종 등장한다. 둘 다 실패한다.

시도 A — Hypothesis space를 처음부터 좁게

"애초에 단순한 함수만 후보로 두면 별도 prior가 필요 없지 않은가?"

decision-tree-structure-and-hypothesis에서 본 conjunctive functions가 이 시도의 사례다. AND로 연결된 literal만 허용하면 hypothesis 수가 2d2^d로 줄어든다. 단순함은 자동으로 보장된다.

문제: 이 공간이 데이터 자체를 표현하지 못할 가능성이 있다. 강의 자료의 표는 conjunctive form 16개 중 데이터를 맞추는 게 0개임을 보여준다. 표현력이 부족하면 단순함을 논할 무대 자체가 없다.

시도 B — Hypothesis space를 크게 두고 데이터로만 결정

"표현력은 충분히 크게 두고, 데이터로 best fit만 찾자."

이게 vanilla MLE / unconstrained polynomial regression / unregularized NN의 형태. Hypothesis space 안에서 데이터를 가장 잘 맞추는 함수를 선택한다.

문제: 데이터를 완벽히 맞추는 hypothesis가 너무 많다. Decision tree에서 16개 input 중 7개만 알 때, 29=5122^9 = 512개 함수가 모두 training set과 consistent하다. 이 중 어느 걸 고를지 데이터만으로는 결정 불가능. 데이터에 가장 가까운 게 generalization에 가장 좋은 함수도 아니다 (overfitting).

두 시도가 보여주는 것

시도빠진 단계결과
A — 좁은 H표현력 확보 (단계 1)underfitting · 데이터 표현 불가
B — H + best fit only단순함 prior (단계 2)overfitting · hypothesis 무수히 많음

→ 두 단계는 서로 다른 종류의 결정이라 합쳐질 수 없다. 단계 1은 데이터에 무관한 모델 표현력 결정. 단계 2는 데이터 안에서 선호 결정. 도구의 종류 자체가 다르다.


단순함의 정의 — 모델마다 다르다는 약점

이 thesis의 첫 번째 약점: "단순함"이 모델마다 다르게 정의된다. 그래서 두 모델의 단순함을 직접 비교할 수 없다.

모델단순함의 측도
Polynomial regressiondegree MM, 또는 파라미터 norm w\|w\|
Decision tree노드 수, max depth, leaf 수
Linear model with L10이 아닌 파라미터 수 (sparsity)
Neural networkweight norm, 활성화된 뉴런 수, 함수의 smoothness
Bayesian modelprior 분산 (작을수록 단순)
Kernel methodRKHS norm

각각 그 모델 안에서는 자연스러운 측도지만, "polynomial degree 5와 NN parameter norm 10 중 어느 게 단순한가?" 같은 비교는 무의미하다.

왜 이게 문제가 되는가? 모델 선택을 할 때 단순함을 비교 기준으로 쓰고 싶지만, 모델마다 단순함의 단위가 다르다. 그래서 결국 cross-validation 같은 데이터 기반 선택으로 우회한다 — Occam의 직관에서 시작했지만 실무에서는 데이터 기반 검증으로 돌아오는 셈.

이 균열을 깊이 보려면 occam-mdl-kolmogorov — MDL과 Kolmogorov complexity는 모델 무관한 단순함 척도를 시도한다.


대안적 시각 — 단순함은 prior, 표현력은 likelihood

이 두 단계 분리를 Bayesian 시각으로 다시 쓰면 깔끔해진다.

P(hD)P(Dh)표현력 (likelihood)P(h)단순함 (prior)P(h \mid D) \propto \underbrace{P(D \mid h)}_{\text{표현력 (likelihood)}} \cdot \underbrace{P(h)}_{\text{단순함 (prior)}}

  • 표현력 = hh가 데이터 DD를 얼마나 잘 설명하는가 (likelihood)
  • 단순함 = hh 자체가 얼마나 그럴듯한가 (prior, 데이터 무관)

두 항이 곱해진다는 게 핵심. 한쪽만 키우면 다른 쪽이 죽는다. 두 단계가 분리되는 이유가 여기서 명료해진다 — 수학적으로 두 항은 별개의 함수이고, 합치려면 의미가 망가진다.

이 시각은 ML이 Bayesian이든 frequentist든 동일하게 작동한다. Frequentist에서 regularization은 prior의 역할을 대체한다 (regularization-as-unified-pattern에서 더).


인사이트 — 두 단계 사고법

새 모델을 만나거나 자기 모델을 디버깅할 때, 두 질문으로 쪼개라.

  1. 표현력 (likelihood 측면) — 이 모델이 표현하는 함수 공간은? 내 데이터의 진짜 패턴이 그 안에 있는가?
  2. 단순함 (prior 측면) — 그 공간 안에서 무엇을 선호하도록 설정했는가? 그 선호가 내 도메인에 맞는가?

둘 중 하나만 답할 수 있다면 그 모델은 절반만 이해한 것. 의외로 자주 일어난다 — 라이브러리 default가 단순함 prior를 자동으로 끼워넣어서 사용자가 의식하지 못한다 (sklearn DecisionTreeClassifier의 max_depth=None, NN training의 weight initialization, optimizer의 momentum 등).


약점·열린 질문

  • 단순함의 정의가 모델 의존적 — 위에서 다룸. 이게 다음 노트 occam-mdl-kolmogorov의 출발
  • 두 단계가 정말 깔끔히 분리되는가? — 현대 NN의 implicit regularization은 단계 1과 2가 섞이는 사례. SGD가 표현력 안에서 자동으로 단순한 영역으로 흐른다는 가설. 4번 축 follow-up
  • 단순함이 generalization에 정말 도움이 되는가? — over-parameterized 모델이 더 잘 일반화한다는 double descent 현상이 이 thesis의 가장 큰 도전. 4번 축 follow-up

다음 노트