1장. 인공지능이라는 문제
이 장의 질문: 기계가 "배운다"는 것은 무슨 뜻인가? 그리고 왜 규칙을 직접 짜 주는 대신 배우게 하는가?
스팸 필터를 만들어 보자
당신이 이메일 서비스 회사에 입사했다고 하자. 첫 업무는 스팸 필터다. 프로그래밍을 배운 사람이라면 자연스럽게 이렇게 시작할 것이다.
def is_spam(email):
if "대출" in email: return True
if "무료" in email and "클릭" in email: return True
if email.sender.endswith(".xyz"): return True
...
return False규칙을 하나씩 추가한다. 처음에는 잘 작동한다. 그런데 곧 문제가 시작된다. "대출"이 들어간 은행의 정상 안내 메일이 차단된다. 예외 규칙을 추가한다. 스팸 발송자들이 "대~출"로 표기를 바꾼다. 규칙을 또 추가한다. 여섯 달 뒤, 당신의 필터는 규칙 3천 개짜리 괴물이 되어 있고, 규칙 하나를 고치면 다른 규칙 둘이 오작동하며, 새 유형의 스팸은 여전히 통과한다.
이것이 규칙 기반 접근의 운명이다. 문제 자체가 나빠서가 아니다. "스팸이란 무엇인가"라는 질문의 답이 너무 복잡하고, 계속 변하고, 무엇보다 우리 스스로도 그 답을 말로 다 표현하지 못하기 때문이다. 당신은 스팸 메일을 보면 0.5초 만에 알아본다. 그런데 어떻게 알아보는지 규칙으로 다 적어 보라면 적을 수가 없다. 얼굴을 알아보는 것, 목소리를 알아듣는 것, 자연스러운 문장을 쓰는 것 — 인간이 잘하는 일의 대부분이 이렇다. 할 줄은 아는데 어떻게 하는지는 설명하지 못한다.
여기서 발상을 뒤집은 것이 머신러닝이다.
규칙을 적을 수 없다면, 적지 말자. 대신 예시를 잔뜩 보여주고, 규칙을 기계가 스스로 찾게 하자.
스팸 메일 10만 통과 정상 메일 10만 통을 주고 "구분하는 법을 찾아내라"고 하는 것이다. 두 접근의 차이를 입출력으로 정리하면 이렇게 된다.
| 넣는 것 | 나오는 것 | |
|---|---|---|
| 전통적 프로그래밍 | 규칙 + 데이터 | 답 |
| 머신러닝 | 데이터 + 답 | 규칙(모델) |
이 표 한 장이 이 책 전체의 출발점이다. 머신러닝이란 답이 달린 데이터로부터 규칙을 역으로 찾아내는 일이고, 그렇게 찾아낸 규칙 뭉치를 우리는 모델이라고 부른다.
"배운다"를 정확하게 정의하기
"기계가 배운다"는 말은 시적으로 들리지만, 공학은 시로 지어지지 않는다. 정확한 정의가 필요하다. 이 분야에서 널리 쓰이는 정의는 이렇다.
어떤 작업(스팸 분류)에 대해, 어떤 성능 지표(분류 정확도)로 측정했을 때, 경험(20만 통의 메일)이 쌓일수록 성능이 좋아진다면 — 그 프로그램은 그 작업을 학습하고 있는 것이다.
이 정의에서 눈여겨볼 것은, "지능"이니 "이해"니 하는 거창한 단어가 하나도 없다는 점이다. 학습은 측정 가능한 성능의 향상으로 정의된다. 철학적으로 시시해 보일지 몰라도, 바로 이 시시함 덕분에 학습이 공학의 대상이 되었다. 측정할 수 있으면 개선할 수 있고, 개선할 수 있으면 만들 수 있다.
이 정의는 또한 실용적인 나침반이다. 앞으로 어떤 AI 시스템을 만들든 당신이 가장 먼저 답해야 할 세 질문이 이 정의 안에 들어 있다 — 작업이 정확히 무엇인가? 성능을 무엇으로 잴 것인가? 경험(데이터)은 어디서 오는가? 현업에서 AI 프로젝트가 망하는 원인의 절반은 모델이 아니라 이 세 질문을 대충 넘긴 데 있다.
용어 정리: AI, 머신러닝, 딥러닝
뉴스에서는 이 세 단어가 뒤섞여 쓰이지만, 관계는 단순한 포함 관계다.
- 인공지능(AI) — 가장 넓은 우산. "사람이 하는 지능적인 일을 기계로 해내려는 시도" 전부다. 1950년대부터 있었고, 초기에는 규칙 기반(전문가 시스템)이 주류였다.
- 머신러닝(ML) — AI의 부분집합. 위에서 말한 "데이터로부터 규칙을 찾는" 접근. 1980~90년대에 통계학과 결합하며 자리를 잡았다.
- 딥러닝(DL) — 머신러닝의 부분집합. 규칙을 찾는 도구로 여러 층을 쌓은 인공 신경망을 쓰는 방법. "딥(깊다)"은 이 층이 여러 겹이라는 뜻일 뿐, 심오하다는 뜻이 아니다. 2012년경부터 이미지·음성·언어에서 다른 모든 방법을 압도하기 시작했고, 지금 뉴스에 나오는 AI는 거의 전부 이것이다.
즉 GPT는 딥러닝이고, 딥러닝은 머신러닝이며, 머신러닝은 AI다. 반대로 AI라고 다 딥러닝인 것은 아니다 — 2부에서 배울 결정 트리는 신경망 없이도 훌륭하게 배우는 머신러닝이다.
세 가지 배움의 방식
"예시를 보여주고 배우게 한다"고 했는데, 예시의 형태에 따라 학습은 세 갈래로 나뉜다. 이 구분은 책 전체의 목차이기도 하니 여기서 확실히 잡아 두자.
지도학습(supervised learning) — 문제와 정답을 쌍으로 준다. (메일, 스팸 여부), (사진, 고양이/개), (오늘의 데이터, 내일의 주가). 정답이라는 강한 신호가 있어 가장 배우기 쉽고, 현업 ML의 대부분이 여기에 속한다. 정답이 범주(스팸/정상)이면 분류, 숫자(가격)이면 회귀라고 부른다. 2~5부의 주인공이다.
비지도학습(unsupervised learning) — 정답 없이 데이터만 준다. "이 고객 10만 명, 알아서 비슷한 그룹으로 나눠 봐." 정답이 없으니 무엇을 배웠는지 평가하기도 어렵지만, 세상의 데이터 대부분에는 정답표가 없다는 점에서 피할 수 없는 갈래다. 7장에서 다룬다.
강화학습(reinforcement learning) — 정답 대신 보상을 준다. 바둑 한 수의 "정답"은 아무도 모르지만, 승패라는 보상은 준다. 시행착오 끝에 보상을 많이 받는 행동 방식을 익히는 것. 8부의 주인공이다.
여기에 현대적으로 중요한 변종이 하나 있다. 자기지도학습(self-supervised learning) — 데이터의 일부를 가려 놓고 그것을 맞추게 함으로써, 정답표 없이 지도학습의 신호를 만들어내는 꼼수다. "다음 단어를 가리고 맞춰 봐"가 그 예인데 — 눈치챘겠지만 이것이 바로 GPT의 학습법이다. 사람이 레이블을 달아줄 필요가 없으니 인터넷 전체가 교재가 된다. 이 아이디어의 위력은 7부에서 만끽하게 될 것이다.
오해 셋을 미리 걷어내며
본격적으로 출발하기 전에, 배움을 방해하는 흔한 오해 세 개를 걷어내자.
오해 1: "AI는 뇌를 모방한 것이다." 절반만 사실이다. 인공 신경망은 뇌에서 영감을 받았지만, 실제로는 행렬 곱셈과 미분으로 이루어진 수학 기계다. 비행기가 새에서 영감을 받았지만 날개를 퍼덕이지 않는 것과 같다. 뇌 비유는 입문의 문턱을 낮춰 주지만, 어느 시점부터는 오히려 이해를 막는다. 이 책은 처음부터 수학 기계로서 정직하게 설명할 것이다 — 그편이 결국 더 쉽다.
오해 2: "AI는 스스로 생각한다." 이 책을 다 읽고 나면 당신은 이렇게 말하게 될 것이다 — 현재의 AI는 훈련 데이터에 담긴 패턴을 놀랍도록 정교하게 압축하고 재조합하는 시스템이라고. 그것이 "생각"인지는 철학의 문제로 남겨 두더라도, 적어도 그 능력이 어디서 오고 어디서 무너지는지는 공학적으로 정확히 이해할 수 있다. 그 이해가 이 책의 목표다.
오해 3: "수학을 못 하면 AI를 못 배운다." 거꾸로다. AI를 배우면서 수학이 길러진다. 이 분야의 수학은 추상적 정리의 탑이 아니라, "오차를 줄이는 방향은 어느 쪽인가"라는 지극히 구체적인 질문에 답하는 도구다. 도구는 쓰면서 배우는 것이 가장 빠르다.
핵심 요약
- 규칙을 명시할 수 없는 문제(우리가 "할 줄은 알지만 설명 못 하는" 일)에서, 규칙을 직접 짜는 대신 데이터와 답으로부터 규칙을 찾게 하는 것이 머신러닝이다. 찾아낸 규칙이 모델이다.
- 학습이란 경험이 쌓일수록 측정 가능한 성능이 좋아지는 것이다. 작업·지표·데이터, 이 셋을 정의하는 것이 모든 AI 프로젝트의 첫 단추다.
- AI ⊃ 머신러닝 ⊃ 딥러닝. 딥러닝은 "여러 층의 신경망으로 규칙을 찾는" 머신러닝의 한 방법이다.
- 정답을 주면 지도학습, 데이터만 주면 비지도학습, 보상을 주면 강화학습. 데이터 스스로 정답을 만들게 하면 자기지도학습 — GPT의 방식이다.
스스로 점검
- 규칙 기반 스팸 필터가 결국 실패하는 근본 이유를, "규칙이 많아져서"보다 한 층 깊게 설명해 보라. (힌트: 우리는 스팸을 알아보는 법을 스스로 설명할 수 있는가?)
- "체스 프로그램이 학습한다"고 말하려면 무엇을 보여야 하는가? 작업·지표·경험의 틀로 답해 보라.
- 다음 문제는 각각 지도/비지도/강화학습 중 무엇에 가까운가 — ① 부동산 가격 예측 ② 뉴스 기사를 비슷한 주제끼리 묶기 ③ 로봇 청소기가 방 구조를 익혀 청소 경로를 개선하기 ④ 문장의 가려진 단어 맞추기.
다음 장에서
정의는 세웠다. 이제 실제로 배우는 기계를 하나 만들어 볼 차례다. 세상에서 가장 단순한 학습 기계 — 점들 사이로 직선 하나를 긋는 기계 — 를 완전히 해부한다. 시시해 보이는가? 그 직선 하나 안에 GPT까지 이어지는 모든 뼈대(모델, 손실, 최적화)가 이미 다 들어 있다.