이 책을 읽는 법
먼저 읽을 장 0.1 왜 이 책인가
216개 장짜리 책을 앞에서부터 읽는 사람은 없다. 필요한 장을 찾아 들어가고, 거기서 막히면 선수 장으로 내려가고, 다시 올라온다. 이렇게 읽으려면 지도를 읽을 줄 알아야 한다. 장이 지도의 어디에 있는지(레이어·트랙), 얼마나 깊이 알아야 하는지(등급), 무엇을 하면 끝나는지(통과 기준)를 장 머리와 구조만 보고 판단할 수 있어야 한다.
이 장은 그 지도를 읽는 법을 다룬다. 모든 장이 같은 형식을 따르기 때문에, 한 장을 읽는 법을 익히면 나머지 215개 장에도 그대로 쓸 수 있다.
학습 목표
- 장의 공통 형식을 이해한다
- 레이어·트랙·난이도 표시를 읽는다
- 실습·퀴즈·통과 기준으로 자신의 진도를 확인한다
레이어·트랙·부·장
책의 구조는 네 단위로 이루어진다. 큰 것부터 레이어, 트랙, 부, 장이다.
레이어(layer): 무엇에 기대는가. 레이어는 L0부터 L6까지 일곱 개다. 아래 레이어일수록 다른 지식에 덜 기대는 기반이다.
| 레이어 | 이름 | 트랙 |
|---|---|---|
| L6 | 통합 | CAP 종합 프로젝트 |
| L5 | 응용 | DOM 과학 분야별 응용 |
| L4 | 방법론 | RES 연구 방법론 · SML 과학 머신러닝 |
| L3 | 확장 | MLA 머신러닝 심화 · MLS 머신러닝 시스템 |
| L2 | 핵심 | MLC 머신러닝 핵심 |
| L1 | 기반 | INF 연구 인프라 · RSE 연구 소프트웨어 공학 · MTH 수리 기초 · PSI 확률·통계적 추론 |
| L0 | 입문 | ORI 오리엔테이션 |
레이어에는 규칙이 하나 있다. 어떤 장의 선수 지식은 같은 레이어이거나 더 낮은 레이어의 트랙에만 있을 수 있다. 예를 들어 과학 머신러닝(L4)의 장은 머신러닝 심화(L3)나 수리 기초(L1)의 장에 기댈 수 있지만, 수리 기초(L1)의 장이 머신러닝 핵심(L2)의 장에 기댈 수는 없다. 이 규칙은 저장소의 검사 도구가 모든 장에 대해 자동으로 확인한다. 덕분에 선수 지식을 따라 내려가면 항상 아래 레이어로 가고, 순환에 빠지지 않는다.
트랙(track): 하나의 역량 영역. 트랙은 12개이고, 부록을 모은 참고 자료(REF)가 따로 있다. 트랙마다 세 글자 코드가 있어 사이트의 배지와 짧은 참조에 쓰인다.
| 코드 | 트랙 | 부 | 장 |
|---|---|---|---|
ORI |
오리엔테이션 | 0, 1 | 11 |
INF |
연구 인프라 | 2–4 | 17 |
RSE |
연구 소프트웨어 공학 | 5, 6 | 12 |
MTH |
수리 기초 | 7–10 | 28 |
PSI |
확률·통계적 추론 | 11–14 | 26 |
MLC |
머신러닝 핵심 | 15–18 | 32 |
MLA |
머신러닝 심화 | 19–21 | 19 |
MLS |
머신러닝 시스템 | 22 | 7 |
RES |
연구 방법론 | 23 | 13 |
SML |
과학 머신러닝 | 24, 25 | 14 |
DOM |
과학 분야별 응용 | 26–30 | 26 |
CAP |
종합 프로젝트 | 31 | 3 |
REF |
참고 자료 | 부록 A–H | 8 |
트랙마다 네 가지가 정해져 있다. 전체 목차(저장소의 OUTLINE.md)의 트랙 절에서 볼 수 있다.
- 핵심 질문: 트랙이 답하는 질문 하나. 예: 수리 기초는 "모델과 학습은 어떤 공간에서, 어떤 계산으로 이루어지는가?"
- 도달 목표: 트랙을 마치면 할 수 있게 되는 행동. "~한다"로 끝난다.
- 주된 평가 방식: 그 트랙에서 통과를 주로 무엇으로 확인하는지(아래 "평가 방식" 절).
- 졸업 과제: 트랙 하나 안의 역량을 묶어 보이는 과제. 예: 수리 기초는 자동미분 엔진과 optimizer를 직접 구현해 MLP를 학습하고 수치미분으로 검증하는 것이다.
트랙의 모든 필수 장의 통과 기준을 만족하고 졸업 과제를 마치면 그 트랙을 이수한 것으로 본다.
부(Part)와 장(Chapter)과 절(Section). 부는 하나의 주제(예: 7부 선형대수와 기하), 장은 하나의 학습 단위(예: 7.2장 아핀 구조와 비선형성), 절은 하나의 개념이다. 장 번호는 부.장으로 쓰고, 부록은 알파벳(A–H)으로 쓴다. 장 번호는 순서가 바뀌면 달라질 수 있지만, 장마다 붙은 영구 식별자(예: linear-algebra/affine-and-nonlinear)는 바뀌지 않는다. 사이트의 진도 기록은 이 식별자를 키로 저장되므로, 책이 개정되어 번호가 바뀌어도 기록은 유지된다.
모든 장의 공통 형식
모든 장(부록 제외)은 같은 순서로 이루어진다.
| 순서 | 항목 | 무엇을 하는가 |
|---|---|---|
| 1 | 학습 목표 | 이 장을 마치면 할 수 있는 것 2–4개. 동사로 끝난다 |
| 2 | 선수 지식 | 이 장이 기대는 장. 본문이 아니라 장 머리의 "먼저 읽을 장"으로 표시된다 |
| 3 | 개념 절 | 하나의 절에 하나의 개념 |
| 4 | 실습 | 직접 만들거나 실험할 과제. 코드는 labs/에 있다 |
| 5 | 실패 사례 | 자주 하는 오해·버그·잘못된 결론 |
| 6 | 통과 기준 | 다음으로 넘어가기 위한 산출물과 검증 방법 |
학습 목표의 번호는 퀴즈와 연결된다. 퀴즈 문항마다 어느 학습 목표를 확인하는지 표시되어 있어서, 틀린 문항이 어느 목표의 빈칸인지 알 수 있다.
개념 절의 설명 순서. 개념 절은 대체로 다음 순서를 따른다. 필요 없는 단계는 생략하지만 순서는 바꾸지 않는다.
- 왜 필요한가 — 이 개념이 없으면 연구에서 무엇이 막히는가
- 정의 — 정확한 정의와 가정
- 직관 — 그림·예시·비유
- 수식 — 유도 또는 핵심 식
- 코드 — 수식과 1:1로 대응하는 최소 구현
- 연구에서의 의미 — 실제 연구에서 어디에 쓰이고 어디서 틀리는가
상자. 본문 중간의 상자는 종류에 따라 읽는 법이 다르다.
| 상자 | 용도 | 읽는 법 |
|---|---|---|
| 직관 | 그림·비유로 감 잡기 | 처음 읽을 때 꼭 읽는다 |
| 연구 팁 | 실제 연구에서의 요령 | 실습할 때 다시 본다 |
| 함정 | 본문 중간의 실패 사례 | 꼭 읽는다 |
| 분야 예시 | 물리·기후·화학·생명·배터리 등의 사례 | 자기 분야의 것을 먼저 읽는다 |
| 심화 | 건너뛰어도 되는 깊은 내용 | 첫 읽기에서는 건너뛰어도 된다 |
| 과학자를 위해 · AI 연구자를 위해 | 한쪽 독자에게만 필요한 연결 설명 | 자기 쪽 상자만 읽어도 된다 |
실패 사례를 본문만큼 다루는 이유. 연구에서 시간을 가장 많이 쓰는 곳은 개념을 처음 배울 때가 아니라, 개념을 잘못 적용한 결과를 믿고 한참 진행한 뒤다. 데이터 누수로 부풀려진 점수, 활성화를 빠뜨려 선형 회귀와 같아진 신경망, 단 한 번의 seed로 낸 결론은 모두 코드가 오류 없이 돌아간다. 오류 메시지가 없는 실패는 미리 알고 있어야만 찾을 수 있다. 그래서 실패 사례는 본문 끝의 부록이 아니라 장의 고정 절이고, 부록 E(실패 사례 갤러리)가 이를 모은다.
이론과 실습을 한 화면에서
이 책은 사이트에서 읽을 때 가장 많은 것을 할 수 있다. 저장소의 Markdown을 그대로 읽어도 모든 내용은 보이지만, 위젯과 코드 실행, 퀴즈 채점은 사이트에서만 동작한다. 아래 설명은 집필 시점의 사이트 기준이고, 화면 구성은 바뀔 수 있다.
사이트는 브라우저 안의 작은 운영체제다. 가입이나 로그인 없이 시작하고, 진도는 그 브라우저에 저장된다. 바탕화면에는 이어서 할 장과 단계, 이번 주 목표, 복습할 퀴즈 수, 오늘 할 일이 보이고, 아래 dock에서 앱(파일 · 강의 · 터미널 · Code · 자료 · 복습 · 내 PC)을 연다. 장은 파일 앱의 강의 폴더(트랙 → 부 → 장)에서 찾거나, 상단 바의 검색(Ctrl·⌘+K)에 장 번호나 제목을 입력해 연다. 검색은 연습문제·용어·위젯도 찾는다.
장은 강의 창에서 단계별로 읽는다. 장 파일을 열면 강의 창이 뜬다. 왼쪽은 그 장의 단계 목록이고, 오른쪽은 지금 단계의 내용이다. 절 하나가 단계 하나다. 본문 중간에 걸린 퀴즈는 그 절 바로 뒤의 퀴즈 단계가 되고, 나머지 퀴즈는 통과 기준 앞에 모인다. 읽기 단계는 "다 읽었어요"로 마치고, 퀴즈 단계는 문항을 맞히면 마친다. 연습문제가 있는 장은 실습 절이 실습 단계가 되어, 연습문제를 모두 통과하면 마친다. 마지막 단계인 통과 기준에서 퀴즈 · 연습문제 · 자기 점검 체크를 모두 채우면 장을 마친다.
단계는 잠겨 있지 않다. 참조로 찾아 읽는 독자를 위해 어느 단계든 바로 열 수 있고, 권장 순서는 단계 목록이 지금 할 단계를 표시하는 것으로만 안내한다. 창 위의 본문 / 퀴즈 / 실습 탭을 쓰면 그 장의 퀴즈나 연습문제만 모아 볼 수도 있다.
위젯. 위젯은 직접 조작하며 개념을 관찰하는 작은 프로그램이다. 예를 들어 7.2장의 2차원 선형·아핀 사상 위젯에서는 행렬과 bias를 바꾸며 격자가 어떻게 변형되는지 본다. 위젯은 본문의 수식, 코드와 같은 값을 다룬다. 위젯에서 본 것을 수식으로 확인하고, 코드로 다시 계산하는 순서로 쓴다. 자료 앱의 위젯 갤러리에서 책의 모든 위젯을 모아 조작해 볼 수도 있다.
코드 셀. 본문의 코드 블록 중 실행할 수 있는 것은 셀 머리에 어디서 실행하는지가 표시된다.
| 표시 | 실행 위치 | 쓰는 곳 |
|---|---|---|
| ▶ 실행 버튼 | 브라우저 안의 Python(Pyodide). 설치 없이 바로 실행 | NumPy·SciPy·pandas·matplotlib·scikit-learn 범위의 작은 계산 |
로컬 Python 배지 |
학습자 컴퓨터의 실습 환경(labs/) |
PyTorch 등 브라우저에서 돌지 않는 코드 |
GPU 배지 |
CUDA GPU가 있는 실습 환경 | 분산 학습·profiling처럼 GPU가 꼭 필요한 소수의 장 |
브라우저 셀은 그 자리에서 코드를 고칠 수 있고, 처음 ▶ 실행을 누를 때 Python 런타임을 내려받으므로 첫 실행에 시간이 조금 걸린다. 런타임의 상태는 상단 바에 표시된다. 코드 셀 바로 아래에는 집필할 때 실제로 실행해 기록한 출력이 있다. 실행하지 않아도 결과를 읽을 수 있고, 코드를 고쳐 다시 돌리면 출력이 바뀐다. 로컬 Python·GPU 셀은 사이트에서 실행되지 않는다. 복사 버튼으로 코드를 가져가거나 같은 코드가 담긴 labs/의 파일을 자기 환경에서 실행한다. 학습자 컴퓨터의 Python에 연결해 이런 셀을 사이트에서 실행하는 기능은 집필 시점에 계획 단계다.
다음은 브라우저 셀의 예다. 이 책의 코드는 배열마다 shape을 주석으로 단다.
import numpy as np
rng = np.random.default_rng(0)
X = rng.normal(size=(8, 3)) # (N, D): 샘플 8개, 특징 3개
W = rng.normal(size=(3, 4)) # (D, H): 특징 3개 → 은닉 4개
Z = np.maximum(0.0, X @ W) # (N, H)
print("X:", X.shape, " W:", W.shape, " Z:", Z.shape)X: (8, 3) W: (3, 4) Z: (8, 4)
(N, D) 같은 주석은 축의 이름이다. N은 샘플 수, D는 특징 수, H는 은닉 차원이다. 행렬 곱 X @ W에서는 X의 마지막 축과 W의 첫 축이 같아야 하고(여기서는 D = 3), 결과의 shape은 나머지 축을 이은 (N, H)다. shape 주석만 따라가도 코드가 무엇을 계산하는지 대부분 읽을 수 있고, shape이 맞지 않는 버그를 실행 전에 찾을 수 있다.
예측해 보기. 본문 중간의 퀴즈는 대개 개념을 설명하기 전에 놓인다. 결과를 보기 전에 먼저 답을 고르고, 위젯이나 코드로 확인한 뒤 해설을 읽는다. 틀린 예측은 실패가 아니다. 예측과 결과가 어긋난 지점이 바로 자신의 오개념이 있는 곳이고, 그 차이를 설명하는 해설이 가장 오래 남는다. 그래서 퀴즈의 오답에는 그 선택지가 왜 틀렸는지 설명하는 피드백이 붙어 있다.
Code와 터미널. 연습문제는 Code 앱에서 푼다. 강의 창의 "이 장의 실습 열기"를 누르면 그 장의 문제가 Code에 열린다. 문제마다 설명(problem.md), 시작 코드(starter.py), 테스트(test_exercise.py)가 있다. 편집기에서 시작 코드를 고치고 채점(Ctrl+Shift+Enter)하면, 저장소에 공개된 테스트가 브라우저 안의 Python에서 그대로 실행된다. 해답은 "해답 보기"를 누르고 한 번 더 확인해야 읽기 전용 탭으로 열린다. 터미널 앱은 실제 셸이 아니라 ls·cd·cat 같은 명령을 흉내 내는 연습용 셸이다. 다만 python은 브라우저 안의 실제 Python으로 실행된다. 진짜 Linux가 아니므로 2부의 터미널 실습은 자기 컴퓨터나 서버의 터미널에서 하는 것이 본 무대다.
평가 방식
통과를 확인하는 수단은 다섯 가지다. 트랙마다 주로 쓰는 방식이 다르다.
| 평가 방식 | 수단 | 채점 | 주로 쓰는 트랙 |
|---|---|---|---|
| 개념 퀴즈 | 단일 선택 · 복수 선택 · 수치 입력 | 브라우저에서 즉시 | ORI · MTH · PSI · RES · SML · DOM (+ 모든 트랙 보조) |
| 코드 실습 | 연습문제의 공개 테스트를 학습자 런타임에서 실행 | 자동 | RSE · MTH · PSI · MLC · MLA · MLS · SML · DOM |
| 터미널 실습 | 학습자 자신의 터미널에서 수행, 검사 스크립트로 확인 | 자동 | INF · MLS |
| 문서 산출물 | 문제 정의서 · 실험 계획서 · 재현 보고서 · 데이터 카드 | 루브릭 + 자기 점검 | ORI · RES · DOM · CAP |
| 동료 리뷰 | 코드 · 실험 · 발표에 대한 사람의 리뷰 | 사람 | RSE · RES · CAP |
코드 실습이 없는 장. 오리엔테이션, 연구 방법론, 수학의 일부, 분야 기초 장처럼 계산으로 확인하기 어려운 장은 개념 퀴즈와 문서 산출물로 통과를 확인한다. 이 장(0.2장)도 그렇다. 문서 산출물은 템플릿(부록 F)을 채우고 루브릭으로 자기 점검한 뒤, 가능하면 스터디 동료나 지도교수에게 리뷰를 받는다. 사람의 리뷰는 자동 채점이 확인하지 못하는 것, 예를 들어 연구 질문이 반증 가능한지, 주장의 범위가 근거와 맞는지를 확인한다.
모든 채점은 학습자 쪽에서 이루어진다. 사이트에는 로그인과 서버 채점이 없다. 퀴즈 정답과 연습문제 테스트·해답은 모두 공개되어 있다. 이 공개는 의도된 설계다. 퀴즈와 연습문제는 남에게 실력을 증명하는 시험이 아니라 자기 이해를 확인하는 도구다. 해답을 보고 테스트를 통과하는 것은 막을 수 없지만, 그렇게 넘어간 빈칸은 다음 장의 실습이나 통과 기준의 산출물에서 다시 드러난다.
진도 기록. 사이트는 장마다 네 가지 상태를 기록한다: 시작 전 · 학습 중 · 완료 · 건너뜀. 장을 열면 학습 중이 되고, 통과 기준 단계에서 퀴즈 · 연습문제 · 자기 점검 체크를 모두 채우면 완료가 된다. 이미 아는 장은 파일 앱에서 장 파일을 골라 상태를 "완료"나 "건너뜀"으로 직접 정할 수 있다. 틀린 퀴즈와 "나중에 보기"로 표시한 퀴즈는 복습 목록에 들어가고, 복습 앱에서 플래시카드로 다시 풀어 맞히면 목록에서 빠진다. 완료한 장과 트랙별 진행은 내 PC에서 본다. 기록은 그 브라우저에만 저장되므로, 기기를 옮기거나 백업할 때는 내 PC에서 진도 파일(JSON)을 내보내고 가져온다.
난이도 등급
장마다 등급이 하나 붙는다. 등급은 내용이 어렵고 쉬운 정도가 아니라, 얼마나 깊이 알아야 하는가를 뜻한다.
| 등급 | 뜻 | 통과 기준을 대하는 법 | 집필 시점 장 수 |
|---|---|---|---|
| 필수(core) | 모든 연구원이 설명하고 직접 수행할 수 있어야 하는 내용 | 모두 직접 만족시킨다 | 153 |
| 심화(advanced) | 연구 주제에 따라 깊이 들어갈 내용 | 자기 연구에 필요할 때 만족시킨다 | 51 |
| 참조(reference) | 필요할 때 문서를 읽고 적용할 수 있으면 되는 내용 | 무엇이 어디 있는지 알아 두고, 필요할 때 적용한다 | 12 |
심화는 "필수를 다 마친 뒤에 보는 장"이 아니다. 예를 들어 Gaussian process(13.7장)는 필수지만 MCMC(13.5장)는 심화다. 베이지안 추론을 연구에 직접 쓰는 사람에게는 MCMC가 필수만큼 중요하고, 그렇지 않은 사람은 개념만 알면 된다. 반대로 심화 장을 필수 장보다 먼저 파고들면, 그 장이 기대는 필수 개념이 빠진 채로 읽게 된다.
과학 분야별 응용(26–30부)은 독자가 고른 분야의 부에서만 필수 등급을 필수로 읽는다. 배터리를 연구하는 사람에게 30부의 필수 장은 필수지만, 기후 분야의 필수 장은 선택이다.
표기법·용어·코드 규칙
수학 표기. 기호는 책 전체에서 하나의 규칙을 따른다: 스칼라 , 벡터 (굵은 소문자, 열벡터), 행렬 (굵은 대문자), 확률변수 , 집합·데이터셋 , 파라미터 , 손실 . gradient는 열벡터, Jacobian은 (출력 차원 × 입력 차원)이다. 전체 규칙은 부록 A 표기법에 있다. 같은 기호가 분야마다 다른 뜻을 가지면(예: 제어 이론의 는 상태, ML의 는 입력) 그 장의 첫머리에 지역 표기를 따로 밝힌다.
용어. 한국어를 우선하고, 처음 등장할 때 영어를 함께 쓴다: 조건부분포(conditional distribution). 연구 현장에서 영어를 그대로 쓰는 용어(batch, epoch, baseline, ablation, loss, metric)는 영어로 쓴다. 논문과 코드를 읽을 때 같은 단어를 바로 알아보게 하기 위해서다. 용어의 정의는 부록 B 용어집에 한 번만 쓰고, 책 전체가 같은 단어를 쓴다.
코드. 본문의 코드는 Python이고 30줄 이내로 짧게 쓴다. 배열과 텐서에는 shape 주석을 단다. 축 이름 약어는 B batch, T time, C channel, D feature, H head 또는 은닉 차원, N 샘플 수다. 물리량을 담은 변수에는 단위 접미사를 붙인다.
temp_c = np.array([20.0, 25.0, 30.0]) # (3,) 섭씨
temp_k = temp_c + 273.15 # (3,) 켈빈
time_s = np.array([0.0, 60.0, 120.0]) # (3,) 초
rate_k_per_s = np.diff(temp_k) / np.diff(time_s) # (2,)
print("temp_k =", temp_k)
print("rate_k_per_s =", rate_k_per_s)temp_k = [293.15 298.15 303.15] rate_k_per_s = [0.08333333 0.08333333]
rate_k_per_s라는 이름만 보고도 단위가 K/s임을 안다. 단위를 이름에 넣으면 섭씨와 켈빈, 초와 분을 섞는 실수가 코드 리뷰에서 바로 보인다. 과학 데이터를 다루는 코드에서 단위 혼동은 오류 메시지 없이 틀린 숫자를 만드는 대표적인 실패다.
labs/와 장의 대응. 장의 실습 코드는 labs/<부 slug>/<장 slug>/에 있다. 부와 장의 번호를 뗀 영어 이름이다. 예를 들어 7.2장(content/07-linear-algebra/02-affine-and-nonlinear/)의 실습은 labs/linear-algebra/affine-and-nonlinear/에 있다. 이 폴더의 cells.py는 본문의 실행 코드 블록을 순서대로 모은 파일이고, 본문의 출력 블록은 이 파일을 실행한 결과다. 연습문제는 exercises/<연습문제 id>/ 아래에 문제 설명(problem.md), 시작 코드(starter.py), 테스트(test_exercise.py), 해답(solution.py), 설정(exercise.toml)으로 있다. 모든 실습이 함께 쓰는 Python 환경은 labs/pyproject.toml과 lockfile(labs/uv.lock)로 정해져 있어서, 자기 컴퓨터에서도 같은 패키지 버전으로 실행할 수 있다. 다음은 집필 시점의 실행 예시다.
# 저장소 루트에서 (집필 시점 예시; 도구 설치는 3.3장)
uv run --project labs python labs/orientation/how-to-read/cells.py
실습
관심 있는 장 하나를 골라, 공통 형식의 각 항목이 그 장에서 무엇을 요구하는지 표로 정리한다. 본문이 아직 없어 "준비 중"으로 표시된 장보다 본문이 있는 장을 고르면 표가 더 구체적이 된다. 집필 시점에는 7.2장과 12.3장이 좋은 예다.
| 항목 | 이 장에서의 내용 | 내가 할 일 |
|---|---|---|
| 트랙·레이어·등급 | (예) MTH 수리 기초 · L1 · 필수 |
필수이므로 통과 기준을 모두 직접 만족시킨다 |
| 선수 지식 | 선수 장의 통과 기준을 이미 만족했는가? | |
| 학습 목표 | 각 목표를 내 말로 한 줄씩 다시 쓴다 | |
| 개념 절 | 절마다 핵심 메시지 한 문장 | |
| 실습 | 만들 산출물과 저장 위치 | |
| 실패 사례 | 내가 이미 겪었거나 겪을 것 같은 것 | |
| 통과 기준 | 무엇으로 통과를 확인하는가(퀴즈·테스트·문서·리뷰) |
표를 채운 뒤 두 가지를 확인한다. 첫째, 선수 지식 중 아직 통과하지 않은 장이 있으면 그 장의 통과 기준을 먼저 본다. 둘째, 통과 기준의 각 항목이 퀴즈·테스트·문서·리뷰 중 무엇으로 확인되는지 표시한다. 확인 수단을 말할 수 없는 항목이 있다면, 그 항목을 어떻게 검증할지 스스로 정한다.
실패 사례
- 통과 기준을 건너뛰고 다음 장으로 넘어가는 것. 본문을 끝까지 넘겨 읽으면 장을 마친 느낌이 들지만, 통과 기준의 산출물이 없으면 그 장의 역량은 확인되지 않았다. 다음 장에서 막혔을 때 원인이 이 장에 있는지 알 수 없게 된다.
- 심화 장을 필수 장보다 먼저 파고드는 것. 흥미로운 심화 장(예: 확산 모델의 변형, neural operator)부터 읽으면 그 장이 기대는 필수 개념이 빠진 채로 수식을 따라가게 된다. 장 머리의 "먼저 읽을 장"을 먼저 확인하고, 아직 통과하지 않은 필수 장이 있으면 그쪽으로 내려간다.
- 레이어 순서를 학습 순서로 착각하는 것. L1의 수학을 모두 끝내야 L2로 갈 수 있다고 생각하면 0.1장에서 본 "수학 먼저" 계획에 빠진다. 레이어는 의존 방향이고, 언제 무엇을 배울지는 0.3장의 학습 경로가 정한다.
- 출력 블록을 실행 결과로 오해하는 것. 코드 셀 아래 출력은 집필 시점에 기록한 결과다. 코드를 고친 뒤에는 반드시 다시 실행해 자신의 출력을 본다.
통과 기준
- 실습의 표(공통 형식 7개 항목과 각 항목의 확인 수단)를 장 하나에 대해 완성한다.
- 임의의 장 하나를 펼쳐, 그 장의 레이어·트랙·등급과 무엇을 읽고, 무엇을 만들고, 무엇으로 통과를 판단하는지를 1분 안에 말한다.
- 이 장의 개념 퀴즈를 모두 맞힌다.