스푼은 없다
처음부터 배우는 머신러닝 입문서
소프트웨어 엔지니어처럼 ML 시스템을 이해하고 싶은 개발자들을 위해 만들었습니다.
🎯 이 글이 맞는 사람
당신은 실력 있는 엔지니어입니다. 화이트보드에 소프트웨어 시스템을 척척 그릴 수 있고, 유지보수 vs 우아함, 성능 vs 복잡도 같은 트레이드오프를 자연스럽게 생각합니다.
소프트웨어 설계에는 직관이 있는데, 머신러닝은 아직 그렇지 않다면 이 글이 도움이 될 거예요. 어떤 도구를 언제 써야 하는지 감을 잡기 위해 이 입문서를 만들었습니다.
💡 다른 입문서와 뭐가 다른가
교과서도 튜토리얼도 아닙니다. 이건 정신 모델이에요. 소프트웨어를 이해하듯 ML 시스템을 이해하기 위해 필요한 개념들을 담았습니다.
모든 개념을 물리와 엔지니어링으로 설명하는데, 진짜 설명이고 수식은 그걸 받쳐주는 부분입니다.
- 뉴런을 편광 필터처럼 생각하기
- 깊이를 종이 접기로 이해하기
- 그래디언트 흐름을 파이프라인 밸브로 보기
- 연쇄 법칙을 기어 열차처럼 생각하기
- 투영을 그림자처럼 이해하기
초점은 "각 도구가 뭘 하는가"가 아니라 "언제 어떤 도구를 써야 하고 왜인가"입니다. 그 도구가 나타내는 설계 결정과 그에 따른 트레이드오프를 이해하는 것이 목표거든요.
📐 어떤 내용을 다루나
3부로 나뉩니다.
🧱 Part 1 — 기초
뉴런부터 시작합니다. 그 다음 깊이와 너비(종이 접기 모델), 최적화로 배우기(미분, 연쇄 법칙, 역전파), 일반화, 그리고 표현(방향으로서의 특징, 중첩)을 배웁니다.
🏗️ Part 2 — 아키텍처
조합 규칙 군(완전 연결, 합성곱, 순환, 어텐션, 그래프 연산, SSM)을 다룹니다. 트랜스포머를 깊이 있게 살펴보고(셀프 어텐션, 부피 조회로서의 FFN, 잔차 연결), 인코딩, 역전파 외의 학습 방식들을 봅니다. 마지막으로 지도 학습, 자기 지도 학습, 강화 학습, GAN, 확산 모델 같은 학습 프레임워크와 문제에 맞는 토폴로지를 매칭하는 법을 배웁니다.
🚦 Part 3 — 제어 시스템으로서의 게이트
게이트 원시 연산(스칼라, 벡터, 행렬), 소프트 로직 조합, 분기와 라우팅, 포워드 패스 내 재귀, 그리고 기하학적 수학 도구상자(투영, 마스킹, 회전, 보간)를 다룹니다.
📖 읽는 방법
마크다운 파일 하나에 인라인 시각화를 넣어서 만들었어요. 각 섹션을 독립적으로 건너뛸 수도 있지만, 앞에서 뒤로 읽을 때 가장 잘 이해됩니다.
특정 주제로 바로 가고 싶다면:
| 주제 | 설명 |
|---|---|
| ⚡ 뉴런 | 여기서 시작 — 내적, 편향, 비선형성 |
| 📄 조합 | 깊이가 주는 것 — 종이 접기 모델 |
| 📉 학습 | 미분, 연쇄 법칙, 역전파, 손실 지형 |
| 🎯 일반화 | 왜 과대 매개변수 네트워크가 작동하나 |
| 🧠 표현 | 방향으로서의 특징, 중첩 |
| 🔀 조합 규칙 | 합성곱 vs 어텐션 vs 순환 vs 그래프 vs SSM |
| 🤖 트랜스포머 | 셀프 어텐션, FFN, 잔차 연결 |
| 🏋️ 프레임워크 | 지도, 자기 지도, 강화 학습, GAN, 확산 |
| 🗺️ 토폴로지 | 문제에 맞춘 아키텍처 선택 — 실제 사례 |
| 🧩 설계 패턴 | 흔한 문제 → 써야 할 도구 |
| 🚦 게이트 | 실무 중심 게이트와 제어 도구상자 |
| 🔧 진단 | 손실 곡선 증상, 건전성 검사, 학습률 튜닝 |
전체 주제 지도는 SYLLABUS.md에 있습니다.
🧭 어떻게 활용할까
두 가지 방법으로 쓸 수 있습니다.
📚 혼자 읽기
처음부터 끝까지 섹션별로 읽으세요. 이해가 안 되면 멈추고 관련 섹션을 다시 읽으면 됩니다.
각 섹션은 다음 섹션을 이해하기 위한 핵심 직관을 담도록 설계했어요. 앞의 것을 정말로 이해해야 뒤의 것이 들어옵니다.
💬 AI 어시스턴트와 대화식 탐색
이게 더 강력한 방법입니다. 실제로 이 입문서도 이렇게 만들어졌거든요. 좋아하는 AI 코딩 어시스턴트에 입문서(또는 그 일부)를 던지고 대화형으로 탐험해 보세요:
ml-primer.md를 읽어줘. 나는 ML 기초를 배우는 엔지니어야.
[주제] 섹션을 자세히 설명해줄래?
정의를 외우는 게 아니라 설계 결정을 이해할 수 있을 정도로.
틀린 부분이 있으면 지적해줘.
"왜?"라고 계속 물어보세요. 틀린 답을 제시하고 AI가 잡아내는지 봐요. 구체적인 예시를 요청하고, "이걸 바꾸면 어떻게 될까?"라고 물어보세요.
입문서는 당신과 AI가 공유하는 어휘와 올바른 개념 틀을 제공합니다. 대화가 그 나머지를 채웁니다.
입문서는 지도이고, 대화는 영토입니다.
🖼️ 시각화
뉴런, 활성화 함수, 종이 접기, 미분, 연쇄 법칙, 어텐션, FFN 부피 조회, 잔차 연결, 내적, 손실 지형, 조합 규칙, 게이트 연산을 다루는 12개의 그림이 있습니다.
모두 scripts/ 폴더의 Python 스크립트에서 생성합니다. 다시 만들려면:
python3 scripts/01_neuron_hyperplane.py
python3 scripts/02_activation_functions.py
# ... 등등
matplotlib과 numpy가 필요합니다.
📝 만들어진 과정
소프트웨어 엔지니어와 Claude 사이의 긴 대화를 통해 만들어졌습니다. 모든 개념을 질문으로 검증하고, 비유로 단단히 했습니다.