왜 이 책인가

AI를 배우려는 사람에게 부족한 것은 자료가 아니다. 강의, 블로그, 논문 요약, 모델 목록은 이미 넘친다. 부족한 것은 무엇을 할 수 있게 되어야 하는지에 대한 분명한 목표와, 그 목표에 다가가고 있는지를 스스로 확인하는 방법이다. 특히 과학 문제에 AI를 쓰려는 사람은 두 세계의 관행을 모두 알아야 한다. 실험 과학자에게 당연한 측정 오차·단위·재현 실험이 ML 연구자에게는 낯설고, ML 연구자에게 당연한 검증 데이터·누수·baseline이 과학자에게는 낯설다.

이 장은 이 책이 어떤 연구자를 길러 내려 하는지, 왜 지식을 나열하는 대신 훈련 체계로 설계했는지, 그리고 무엇을 다루지 않는지를 밝힌다. 나머지 215개 장은 모두 이 장에서 정한 목표를 향한다.

학습 목표

  • 이 로드맵이 정의하는 'AI for Science 연구자'의 모습을 설명한다
  • 지식의 목록과 교육 체계의 차이를 설명한다
  • 이 책이 다루지 않는 것을 안다

목표로 하는 연구자상

목표가 흐리면 학습은 수집이 된다. 새 모델이 나올 때마다 따라가고, 읽은 논문 수가 늘지만, 자기 연구 문제 앞에서는 여전히 무엇부터 해야 할지 모른다. 그래서 이 책은 목표를 지식이 아니라 행동으로 정의한다.

이 책이 목표로 하는 연구자는 다음 네 가지를 하는 사람이다.

행동 뜻 주로 다루는 곳
정의한다 과학 문제를 입력·출력·가정·평가 기준으로 수학·통계적으로 정의한다 1.3장, 12.3장
설계한다 문제에 맞는 데이터와 모델을 고르고, 강한 baseline과 비교할 수 있게 설계한다 15–18부, 24부
검증한다 신뢰할 수 있는 실험으로 가설을 검증하고, 결론의 범위와 불확실성을 밝힌다 21부, 23.5–23.6장
전달한다 다른 사람이 재현할 수 있는 코드·데이터·논문으로 결과를 전달한다 6부, 22.2장, 23.8장

네 행동은 순서가 아니라 하나의 고리다. 결과를 전달하려고 정리하다 보면 문제 정의의 빈틈이 드러나고, 검증에 실패하면 설계로 돌아간다.

AI for Science에서 덧붙는 조건. 과학 문제에서는 여기에 한 가지가 더 필요하다. 결과를 도메인 과학자가 신뢰할 수 있어야 한다. 일반적인 ML 벤치마크에서는 테스트 점수가 높으면 일단 좋은 결과다. 과학에서는 점수가 높아도 다음 질문에 답하지 못하면 결과로 인정받기 어렵다.

  • 예측이 보존 법칙이나 단위 같은 물리적 제약을 지키는가?
  • 학습 데이터 밖의 조건(새 재료, 더 긴 시간, 다른 기후)에서도 쓸 수 있는가, 아니면 어디까지만 믿어야 하는가?
  • 예측의 불확실성은 얼마이고, 그 불확실성은 측정 잡음에서 오는가, 모델의 무지에서 오는가?
  • 같은 데이터를 분야의 표준 방법(시뮬레이션, 물리 모델)으로 풀면 얼마나 차이 나는가?

모델 이름을 아는 사람과 검증할 수 있는 사람. 두 연구자를 비교한다. 첫째는 최신 모델 이름과 각 모델의 특징을 많이 안다. 둘째는 아는 모델은 적지만, 자기가 쓴 코드와 실험에 대해 다음 네 질문에 답할 수 있다.

검증 대상 질문 예
가정 이 모델과 손실은 데이터에 대해 무엇을 가정하는가? 제곱손실은 조건부 평균을 추정한다(12.3장)
구현 코드가 수식대로 동작한다는 근거는 무엇인가? 해석적 gradient를 수치미분과 비교한다(8.4장)
실험 비교가 공정하고, 차이가 잡음보다 큰가? 같은 분할·같은 튜닝 예산, 여러 seed(12.5장, 23.5장)
결론 결과가 지지하는 주장의 범위는 어디까지인가? 데이터셋 하나에서의 개선을 "일관되게 우수"로 쓰지 않는다(23.6장)

새 문제를 만났을 때 쓸모 있는 쪽은 둘째다. 모델 이름은 검색하면 나오지만, 자신의 결과가 틀렸는지 알아내는 능력은 검색으로 얻을 수 없다. 이 책의 목표는 둘째 연구자다.

지식의 목록이 아니라 훈련 체계

이 책은 216개 장으로 이루어져 있다. 장을 나열한 목차만 보면 "알아야 할 지식의 목록"처럼 보인다. 그러나 목록과 훈련 체계는 다르다.

지식의 목록 훈련 체계
단위 주제 산출물로 끝나는 학습 단위
순서 분류 순서(목차) 무엇에 기대는가(선수 지식)와 언제 처음 만나는가(학습 경로)를 따로 정한다
진도 읽은 분량 만들고 검증한 산출물
실패 다루지 않거나 부록에 둔다 장마다 실패 사례 절로 다룬다
끝 마지막 장을 읽으면 끝 통과 기준을 만족하면 다음으로 간다

네 축을 병행하는 이유. 이 책은 연구자의 역량을 네 축으로 나눈다.

  • 이론: 선형대수·미적분·수치해석·최적화·확률·통계 — 모델이 왜 그렇게 동작하는지 설명한다.
  • 구현: Python·과학 계산·연구 코드 구조·테스트 — 수식을 정확한 코드로 옮긴다.
  • 연구: 문헌·가설·실험 설계·결과 분석·논문 — 질문을 세우고 주장을 검증한다.
  • 운영: Linux·서버·패키지·컨테이너·Git·실험 관리 — 코드가 어디서, 어떤 환경으로 돌아가는지 통제한다.

네 축을 따로 배우면 안 되는 이유는, 연구에서 만나는 문제가 축을 가리지 않기 때문이다. 학습 손실이 갑자기 발산했다고 하자. 원인은 이론(학습률이 손실 곡면의 곡률에 비해 크다), 구현(gradient를 매 step 초기화하지 않았다), 연구(입력 단위를 바꾼 전처리가 검증 데이터에만 적용되었다), 운영(서버의 라이브러리 버전이 달라 다른 연산 경로를 탔다) 어디에나 있을 수 있다. 한 축만 아는 사람은 자기가 아는 축에서만 원인을 찾는다. 17.9장(학습 실패 진단)은 이 분리를 절차로 가르친다.

나선형 학습. 흔한 계획은 "수학을 먼저 끝내고 구현을 시작한다"이다. 이 계획은 두 가지 이유로 잘 실패한다. 첫째, 쓰일 곳을 모르는 수학은 동기가 약해 오래 버티기 어렵다. 둘째, 수학을 "끝낸다"는 기준이 없다. 선형대수만 해도 7부의 10개 장이 있고, 그 각각이 더 깊이 들어갈 수 있다.

이 책은 대신 나선형(spiral)으로 배운다. 같은 주제를 여러 번 만나되, 만날 때마다 더 깊은 도구로 본다. 예를 들어 신경망의 학습 루프(forward → loss → backward → update)는 세 번 등장한다.

  1. 첫 번째 연구 파이프라인(1.5장)에서 작은 MLP를 처음 학습시킨다. 이 장의 선수 지식은 문제 정의 장(1.3장)과 그 선수 장(1.1장)뿐이다.
  2. 미분(8부), 최적화(10부), 확률(11–12부)에서 각 단계의 수학을 배운다.
  3. 17.5장(학습 루프 해부)에서 같은 루프를 단계마다 뜯어본다. 집필 시점 목차 기준으로 이 장은 선수 지식을 거슬러 올라가면 24개 장에 기댄다.

첫 만남에서는 이해하지 못한 부분이 남아도 된다. 무엇을 모르는지 알게 되는 것 자체가 다음 단계의 동기가 된다. 단계별 경로는 학습 경로(0.3장)에서 정한다.

산출물 기반 진도. 진도를 판단하는 질문은 "읽었는가"가 아니라 "만들고 검증했는가"다. 그래서 모든 장은 통과 기준으로 끝나고, 통과 기준은 읽기가 아니라 산출물과 검증 방법으로 쓰여 있다.

읽은 것 만들고 검증한 것
역전파 원리를 읽었다 작은 MLP의 gradient를 직접 구현하고 수치미분과 비교했다
데이터 누수에 관한 글을 읽었다 같은 데이터에서 무작위 분할과 그룹 분할의 점수 차이를 측정했다
재현성이 중요하다는 것을 안다 다른 사람이 같은 명령으로 같은 숫자를 다시 얻었다

이 책의 범위와 한계

모든 것을 다루는 책은 아무것도 깊이 다루지 못한다. 이 책은 범위를 세 가지 방식으로 좁힌다.

등급으로 깊이를 나눈다. 장마다 등급이 있다.

등급 뜻 집필 시점 장 수
필수(core) 모든 독자가 설명하고 직접 수행할 수 있어야 하는 내용 153
심화(advanced) 연구 주제에 따라 깊이 들어갈 내용 51
참조(reference) 필요할 때 읽고 적용할 수 있으면 되는 내용 12

필수 장이 153개로 많아 보이지만, 과학 분야별 응용(26–30부)의 필수 장은 독자가 고른 분야에서만 필수다. 등급의 자세한 뜻은 이 책을 읽는 법(0.2장)에서 다룬다.

빠르게 변하는 것은 확인 절차로 가르친다. 드라이버·CUDA·패키지의 버전 번호, 클라우드 콘솔과 AI 코딩 도구의 화면은 몇 달이면 바뀐다. 이런 정보를 외우게 하는 책은 출간과 동시에 낡는다. 이 책은 "지금 설치된 버전을 확인하는 방법", "호환성을 공식 문서에서 찾는 순서" 같은 확인 절차를 가르치고, 구체적인 버전과 명령은 "집필 시점 예시"로 표시한다. 예시가 낡아도 절차는 유효하다.

AI for Science에 맞춰 기반을 고른다. 일반적인 ML 교과 과정과 비교하면 이 책은 다음 주제를 더 두껍게 다룬다.

  • 수치해석(9부): 과학에서 시뮬레이터는 학습 데이터를 만드는 생성기이자, 비교해야 할 baseline이자, 그 자체로 오차의 원천이다. 시뮬레이터의 오차를 모르면 그 데이터로 학습한 모델의 오차도 해석할 수 없다.
  • 불확실성(11–14부, 21부): 과학적 결론에는 "얼마나 확실한가"가 따라야 한다. 점 예측 하나로는 실험을 설계하거나 위험을 판단할 수 없다.
  • 물리 기반 모델(24부): 데이터가 적고 외삽이 흔한 과학 문제에서는 이미 아는 법칙을 모델에 넣는 것이 가장 강한 사전 지식이다.
  • 실험 설계(23.5장, 25.3장): 과학에서는 다음에 어떤 실험이나 시뮬레이션을 할지 고르는 일 자체가 연구의 일부다.

이 책이 다루지 않는 것.

  • 특정 도구나 제품의 사용 설명서. 도구는 개념과 확인 절차로 다루고, 화면별 조작법은 공식 문서에 맡긴다.
  • 최신 모델의 망라. 아키텍처와 생성모델은 원리와 선택 기준을 가르친다. 매달 나오는 새 모델을 따라가는 법은 1.6장과 23.1장에서 다룬다.
  • 각 과학 분야의 교과서. 분야별 부는 "ML 연구자를 위한 분야 기초"에서 시작하지만, 그 분야의 학위 과정을 대신하지 않는다. 분야 지식이 깊이 필요하면 도메인 과학자와 협업한다(23.13장).
  • 서비스 운영과 제품 개발. 모델 배포는 연구에 필요한 범위(22.7장, 참조 등급)까지만 다룬다.
  • 지도교수와 동료 리뷰의 대체. 문서 산출물과 연구 결과는 결국 사람이 검토해야 한다. 이 책은 리뷰 받을 산출물과 리뷰 기준을 준다.

오픈소스 로드맵. 이 책은 누구나 읽고, 실행하고, 고치고, 기여할 수 있다. 본문·퀴즈·그림은 CC BY 4.0, 코드는 MIT 라이선스로 공개된다. 사이트에는 로그인이 없고, 퀴즈 정답·연습문제 테스트·해답도 모두 공개된다. 그래서 퀴즈와 연습문제는 시험이 아니라 학습 도구로 설계되어 있다. 정답을 먼저 보는 것은 막을 수 없고, 막을 필요도 없다. 정답을 보고 넘어간 사람은 통과 기준의 산출물 앞에서 다시 막힌다. 틀린 설명이나 더 나은 실패 사례를 발견하면 저장소에 이슈와 pull request로 돌려준다(0.5장).

실습

자신이 1년 뒤 수행하고 싶은 연구를 한 문단으로 쓰고, 지금 막히는 지점을 네 축으로 분류한다. 결과는 문서 하나로 남긴다. 이 문서는 0.3장과 0.4장에서 학습 경로와 역량 지도를 만들 때 다시 쓴다.

  1. 연구 문단. 다음 네 요소가 들어가게 쓴다: 다루고 싶은 과학 대상, 입력과 출력(무엇으로 무엇을 예측·추정하는가), 성공의 기준(무엇과 비교해 얼마나 좋아야 하는가), 결과를 쓸 사람(누가 이 결과를 믿고 쓰는가).
  2. 막히는 지점 목록. 지금 당장 이 연구를 시작한다면 막힐 지점을 생각나는 대로 5개 이상 적는다.
  3. 네 축 분류. 각 지점을 이론·구현·연구·운영 중 하나로 분류한다. 두 축에 걸치면 더 근본적인 쪽을 고르고 이유를 한 줄로 쓴다.
막히는 지점 축 이유
(예) 측정 데이터의 단위와 결측 표기를 모른다 연구 데이터가 만들어진 과정을 이해하는 문제다
(예) 연구실 GPU 서버에 접속해 학습을 돌려 본 적이 없다 운영 실행 환경의 문제다
(예) 예측 구간을 어떻게 만들고 평가하는지 모른다 이론 예측분포와 그 평가의 문제다
  1. 축별 개수 세기. 어느 축에 막힘이 몰려 있는지 센다. 한 축에만 몰려 있다면, 다른 축의 막힘을 아직 모르는 것일 수 있다. 다른 사람(동료, 지도교수)에게 문단을 보여 주고 빠진 막힘이 없는지 묻는다.

실패 사례

  • 목차 전체를 순서대로 완독하려는 계획. 216개 장을 0.1장부터 차례로 읽는 계획은 대개 수리 기초(7–10부) 어딘가에서 멈춘다. 쓰일 곳을 모르는 내용이 길게 이어지기 때문이다. 목차는 지식의 분류이고 학습 순서가 아니다. 학습 순서는 0.3장의 경로를 따른다.
  • 도구 사용법만 익히고 연구 질문 없이 진행하는 것. Docker, 실험 추적 도구, 분산학습을 차례로 익혔는데 정작 풀고 싶은 문제가 없으면, 도구를 언제 써야 하고 언제 쓰지 말아야 하는지 판단할 기준이 생기지 않는다. 작은 연구 질문 하나를 먼저 정하고, 그 질문을 푸는 데 필요한 순서로 도구를 배운다.
  • 모델 이름의 수를 실력으로 여기는 것. 최신 모델의 이름과 특징을 많이 아는 것은 문헌 탐색에 도움이 되지만, 자기 결과가 틀렸는지 알아내는 능력과는 별개다. 역량은 0.4장의 역량 지도처럼 "검증할 수 있는가"로 잰다.

통과 기준

  • 이 책의 목표 연구자상(정의 · 설계 · 검증 · 전달, 그리고 도메인 과학자가 신뢰하는 결과)을 자신의 말로 3–5문장으로 설명하는 글을 쓴다.
  • 실습의 연구 문단과 막히는 지점 목록(5개 이상, 네 축 분류와 이유 포함)을 문서로 남긴다.
  • 이 장의 개념 퀴즈를 모두 맞힌다.