Skip to content

1장. 인공지능이라는 문제 ​

이 장의 질문: 기계가 "배운다"는 것은 무슨 뜻인가? 그리고 왜 규칙을 직접 짜 주는 대신 배우게 하는가?

스팸 필터를 만들어 보자 ​

당신이 이메일 서비스 회사에 입사했다고 하자. 첫 업무는 스팸 필터다. 프로그래밍을 배운 사람이라면 자연스럽게 이렇게 시작할 것이다.

python
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의 방식이다.

스스로 점검 ​

  1. 규칙 기반 스팸 필터가 결국 실패하는 근본 이유를, "규칙이 많아져서"보다 한 층 깊게 설명해 보라. (힌트: 우리는 스팸을 알아보는 법을 스스로 설명할 수 있는가?)
  2. "체스 프로그램이 학습한다"고 말하려면 무엇을 보여야 하는가? 작업·지표·경험의 틀로 답해 보라.
  3. 다음 문제는 각각 지도/비지도/강화학습 중 무엇에 가까운가 — ① 부동산 가격 예측 ② 뉴스 기사를 비슷한 주제끼리 묶기 ③ 로봇 청소기가 방 구조를 익혀 청소 경로를 개선하기 ④ 문장의 가려진 단어 맞추기.

다음 장에서 ​

정의는 세웠다. 이제 실제로 배우는 기계를 하나 만들어 볼 차례다. 세상에서 가장 단순한 학습 기계 — 점들 사이로 직선 하나를 긋는 기계 — 를 완전히 해부한다. 시시해 보이는가? 그 직선 하나 안에 GPT까지 이어지는 모든 뼈대(모델, 손실, 최적화)가 이미 다 들어 있다.

2장. 첫 번째 학습 기계 →