ANDYWIKI
← 칼럼
독서노트2026.06.2213분 읽기


머신러닝 책 한 권이 신경망을 일부러 빼고 시작합니다. 요즘 세상에서 신경망을 빼고 머신러닝을 말하겠다는 건, 요리책에서 불을 빼겠다는 소리처럼 들립니다. 그런데 저자들은 서문에 그 이유를 또박또박 적어 둡니다. 신경망 같은 일부 기법은 "견고한 이론적 보증이 아직 부족하다"는 것입니다. 저는 이 한 줄에서 멈췄습니다. 세상이 다 좋다고 말하는 기술을, 한 학자 집단이 "되는 건 알겠는데 왜 되는지 보증할 수가 없어서 뺐다"고 말하고 있었으니까요. 그 결벽이 어딘가 익숙했습니다. 제가 15년간 학원에서 가장 자주 속아 온 함정이 정확히 그것이었기 때문입니다. 되는 걸 봤다고, 그게 보증된 거라고 믿는 일.

제가 집은 책은 메리아르 모리(Mehryar Mohri)와 두 동료가 쓴 『Foundations of Machine Learning』, 우리말로 옮기면 『머신러닝의 이론적 토대』입니다. 뉴욕대 쿠랑 연구소에서 제1저자가 14년간 가르친 대학원 강의가 그 뿌리입니다. 505쪽에 수식이 빽빽한, 전혀 친절하지 않은 교과서입니다. 제가 이 책을 든 이유는 따로 있었습니다. 요즘 학원가에 레벨테스트 자동 채점, 이탈 예측, 합격 가능성 점수 같은 AI 도구가 밀려듭니다. 한 업체가 "저희 모델 정확도 92%입니다" 하고 표를 내밀 때, 저는 그 숫자를 믿어야 할지 말아야 할지 판단할 자(尺)가 없었습니다. 그 자를 갖고 싶어서 밑바닥을 보러 갔습니다. 솔직히 기대한 건 "데이터가 많을수록 똑똑해진다"는 설명이었습니다. 그런데 책이 제 손에 쥐여 준 건, 데이터의 양이 아니라 '보증'이라는 단어의 정확한 무게였습니다.

먼저 짚어야 할 건, 같은 머신러닝이라도 책마다 묻는 질문이 다르다는 점입니다. 제가 얼마 전 읽은 프랑시스 바흐의 책이 "왜 잘 외운 게 실력이 아닌가"라는 일반화의 철학을 묻는다면, 모리의 이 책은 한 칸 더 차갑게 들어갑니다. "그래서 그 일반화가 된다는 걸, 무슨 조건에서 수학적으로 보증할 수 있는가." 전자가 '훈련 점수를 믿지 말라'는 경고라면, 후자는 '그렇다면 무엇을 믿어도 되는지 증서를 끊어 주겠다'는 약속입니다. 이 차이가 이 책의 전부입니다.

책의 2장에 들어가면 그 증서의 양식이 나옵니다. PAC 학습이라는 틀입니다. 풀어 옮기면 '아마도, 거의 맞다(Probably Approximately Correct)'는 뜻입니다. 이름이 묘하게 솔직합니다. 머신러닝은 "무조건 맞다"고 약속하지 않습니다. 대신 두 개의 손잡이를 내놓습니다. 하나는 ε(엡실론), 허용할 오차의 크기입니다. 다른 하나는 δ(델타), 그 약속이 깨질 확률입니다. PAC가 말하는 보증은 이렇게 생겼습니다. "표본을 이만큼 모으면, 1−δ의 확률로, 오차가 ε 아래인 모델을 얻는다." 저는 이 구조 앞에서 한참을 들여다봤습니다. 우리가 평소에 "이거 잘 돼요"라고 말할 때, 정작 빠져 있는 게 바로 이 두 손잡이였기 때문입니다.

여기서 책이 제 학원을 다르게 보게 만든 대목이 나옵니다. 모리는 학습자가 정작 보고 싶어 하는 숫자를 **'일반화오차(R)'**라 부릅니다. 안 본 데이터 전체에서의 진짜 오차입니다. 그런데 핵심은 이겁니다. 학습자는 이 숫자를 영원히 직접 볼 수 없습니다. 우리가 손에 쥐는 건 가진 표본에서의 '경험오차'뿐입니다. 그러니 이론의 모든 노력은, 볼 수 없는 진짜 오차를 볼 수 있는 경험오차로 어떻게 '보증을 걸어 묶느냐'에 쏟아집니다. 이 문장을 읽는 순간 제 상담실이 떠올랐습니다. 우리가 매달 들여다보는 숙제 정답률, 단원평가 점수, 출석률은 전부 '경험오차'입니다. 가진 표본 안의 숫자입니다. 그런데 어머니가 진짜 묻는 것, "우리 아이 수능 때 될까요"는 '일반화오차'입니다. 안 본 시험, 평생 한 번뿐인 그 시험에서의 진짜 실력. 우리는 영원히 볼 수 없는 그 숫자를, 볼 수 있는 숙제 점수로 보증해 주는 일을 하고 있었던 겁니다. 그런데 그 보증의 조건을 한 번도 따져 본 적이 없었습니다.

조건을 따진다는 게 무슨 뜻일까요. 모리의 책에서 가장 위험한 착각으로 지목되는 게 하나 있습니다. 표본만 많이 모으면 일반화가 따라온다는 믿음입니다. 책은 그렇지 않다고 못 박습니다. 보증은 표본의 양 하나로 생기지 않습니다. 표본의 크기와 모델의 복잡도, 이 둘의 균형에서만 생깁니다. 모델이 너무 복잡하면, 가진 데이터를 통째로 외워 버립니다. 경험오차는 0이 되는데 일반화오차는 치솟습니다. 이게 과적합입니다. 그래서 책의 1장은 단호하게 적습니다. 일반화는 암기가 아니라고. 학습표본에서 가장 잘 맞히는 모델이 전체에서 가장 잘 맞히는 모델은 아니라고.

저는 이 대목에서 책을 덮고 한참 부끄러웠습니다. 제가 오래 자랑해 온 게 정확히 '복잡도를 키우는 일'이었기 때문입니다. 문제집을 다섯 권씩 돌리고, 유형을 수십 개로 쪼개고, 변형을 끝없이 풀리는 것. 저는 그게 실력을 키우는 일이라 믿었습니다. 그런데 모리의 자로 보면, 저는 아이라는 모델의 복잡도만 무한정 키우고 있었던 겁니다. 가진 문제 묶음을 통째로 외우게 만들면서요. 그래서 집에서는 다 풀던 아이가 처음 보는 문제 앞에서 무너졌습니다. 아이가 시험에 약한 게 아니었습니다. 제가 보증의 조건을 거꾸로 설계해 놓고, 정작 보증이 깨지는 자리에서 아이를 탓했던 겁니다. 이건 원장님 잘못도, 아이 잘못도 아닙니다. '많이 시키면 는다'는 건 우리 모두가 물려받은 직관이고, 그 직관이 수학적으로 틀렸다는 걸 아무도 가르쳐 주지 않았을 뿐입니다.

그래서 제가 원장님께 드리고 싶은 건 공부법 한 가지가 아니라, 학원을 보는 자 하나를 통째로 바꾸자는 제안입니다. 우리는 그동안 '얼마나 잘 되나'를 봐 왔습니다. 이제 '무슨 조건에서 보증되나'를 봐야 합니다. 누가 "이 방법 효과 있어요"라고 말할 때, 속으로 두 손잡이를 떠올려 보는 겁니다. 얼마만큼 틀려도 괜찮다는 거지(ε), 그 약속이 몇 번에 한 번은 깨진다는 거지(δ). 이 두 질문을 달고 보면, 92% 정확도라는 그 표가 갑자기 다르게 읽힙니다. 어떤 데이터로 잰 92%인지, 안 본 학생에게도 92%인지, 8%가 틀릴 때 그게 어떤 학생인지. 보증은 결과가 아니라 조건의 언어입니다.

솔직히 이 책은 끝까지 따라가기 어렵습니다. 저도 전부를 읽지 못했습니다. 제가 끝까지 읽은 건 서문과 1장, 그리고 PAC를 정의하는 2장 도입부뿐입니다. 그 뒤로 책은 라데마허 복잡도와 VC 차원으로 '복잡도'를 수치로 재는 도구를 세우고, 서포트벡터머신·커널·부스팅 같은 핵심 알고리즘이 왜 보증되는지를 한 장씩 증명한다고 안내합니다. 그 증명들은 다음 기회에 제 몫으로 남겨 둡니다. 다만 신기한 건, 수식을 다 따라가지 못해도 앞머리의 개념 몇 개 — 일반화오차와 경험오차의 구별, ε과 δ라는 두 손잡이, 복잡도와 표본의 균형 — 만으로도 현장을 보는 눈이 바뀐다는 점입니다. 같은 분야 책이라도 '무엇을 할 수 있나(쓸모)'를 앞세우는 책이 많은데, 이 책은 '무슨 조건에서 보증되나(원리)'만 집요하게 묻습니다. 그래서 도구가 아니라 사고의 틀이 남습니다.

이번 주에 저는 작은 걸 하나 해 보려 합니다. 우리 학원이 자랑하던 숫자 하나를 골라, 그 옆에 두 칸을 비워 두는 일입니다. 이 숫자는 얼마만큼 틀려도 괜찮다고 본 건가, 그리고 몇 번에 한 번은 빗나갈 수 있다고 본 건가. 비워 두면 불편합니다. 그런데 그 불편함이 정확히, '잘된다'는 보고를 '보증된다'는 약속으로 바꾸는 자리라고 저는 믿습니다. '잘된다'는 결과의 보고이고, '보증된다'는 조건의 약속입니다. 학원이 파는 건 늘 후자여야 합니다. 신경망을 빼면서까지 보증을 지키려던 저자들의 결벽이, 결국 제 자랑하던 숫자들을 먼저 의심하게 만들었습니다.

제목: Foundations of Machine Learning (Second edition) (머신러닝의 이론적 토대) 저자: Mehryar Mohri · Afshin Rostamizadeh · Ameet Talwalkar 출판: The MIT Press (2018)