인류 지성사에서 가장 혁명적인 순간은 구체적인 사물의 개수를 세던 '산술(Arithmetic)'의 세계에서,미지의 대상을 기호로 치환하여 보편적 관계를 탐구하는 '대수(Algebra)'의 세계로 넘어간 시점입니다. 이 전환은 단순한 계산 기술의 발전을 넘어, 인간의 사고방식이 '현상(Phenomena)'에서 '본질(Essence)'로, '개별(Particular)'에서 '보편(Universal)'으로 도약했음을 의미합니다.
본 심층 분석 보고서는 [00 AI 초등수학 가이드북]1의 세 번째 장인 '변수(Variable) / 일반화(Generalization)'를 다룹니다. 이 챕터는 앞서 다룬 1장(수/압축)과 2장(0/시스템)이 구축한 데이터 표현의 토대 위에서, 지능형 시스템이 어떻게 데이터를 넘어 법칙을 학습하는지를 규명하는 핵심적인 단계입니다. 저자의 선언문에서 "수학을 지능형 시스템 설계의 언어로 재정의"한다고 천명했듯, 우리는 변수를 중학교 수학 시간의 골치 아픈 x 찾기 문제가 아니라, 현대 인공지능(AI)과 머신러닝(Machine Learning) 모델이 세상의 복잡성을 이해하고 예측하기 위해 사용하는 가장 기초적이면서도 강력한 도구로 해석합니다.
첫째, Basecamp에서는 변수의 역사적 기원과 인지과학적 의미를 탐구하여, 왜 변수가 '일반화'의 도구인지를 철학적으로 정립합니다.
둘째, Architect's Challenge에서는 AI 엔지니어링 현장에서 변수(파라미터)의 수가 모델의 성능과 직결되는 '과적합(Overfitting)의 딜레마'를 다룹니다.
셋째, Math Debugging에서는 선형 회귀 모델을 통해 변수가 학습 과정에서 어떻게 '가중치(Weight)'와 '편향(Bias)'으로 작동하는지 수학적으로 해부합니다.
넷째, Visual & Code에서는 PyTorch 프레임워크를 활용하여 정적인 변수에 '학습 가능성(Requires Grad)'을 부여하는 메커니즘을 시각적으로 구현합니다.
우리가 "사과 2개 더하기 사과 3개는 사과 5개"라고 말할 때, 우리의 사고는 물리적 실체인 '사과'에 묶여 있습니다. 1장에서 다루었듯, 인류는 여기서 '사과'라는 맥락을 제거하고 2+3=5라는 추상적인 수의 개념을 발명했습니다. 이것은 데이터 압축의 첫 단계였습니다. 그러나 2+3=5는 여전히 구체적인 수치들의 나열에 불과합니다. 세상에는 2+3 이외에도 무수히 많은 덧셈이 존재하기 때문입니다.
진정한 지적 도약은 숫자가 사라지고 그 자리에 문자(x,y,a,b)가 등장할 때 일어납니다. a+b=c라고 쓰는 순간, 우리는 2와 3이라는 특정 숫자조차 벗어던집니다. 이제 이 식은 사과, 배, 자동차, 시간, 거리 등 우주에 존재하는 모든 덧셈 관계를 포괄하는 '보편적 틀(Framework)'이 됩니다. 는 이를 두고 "변수는 개별 사실을 넘어 일반 법칙으로 격상시키는 도구"라고 정의합니다.
이러한 도약이 인류 역사에서 얼마나 어려웠는지는 대수학의 발전사를 통해 알 수 있습니다. 고대 바빌로니아나 이집트의 수학은 수천 년간 '수사 대수(Rhetorical Algebra)' 단계에 머물러 있었습니다. 그들은 방정식을 기호로 쓰지 않고 문장으로 서술했습니다. 예를 들어, 기원전 1650년경의 린드 파피루스(Rhind Papyrus)나 바빌로니아 점토판에는 "어떤 더미(Heap)에 그것의 7분의 1을 더하면 19가 된다. 더미는 얼마인가?"와 같은 문제가 기록되어 있습니다. 여기서 '더미'는 오늘날의 미지수 x에 해당하지만, 이는 특정한 문제 하나를 풀기 위한 임시방편의 언어였지, 보편적인 수식을 만들기 위한 도구는 아니었습니다.
이후 디오판토스(Diophantus)에 의해 축약된 단어를 사용하는 '생략 대수(Syncopated Algebra)' 단계로 발전했고, 16세기에 이르러서야 프랑수아 비에트(François Viète)와 르네 데카르트(René Descartes)에 의해 오늘날 우리가 사용하는 '기호 대수(Symbolic Algebra)' 가 완성되었습니다. 비에트는 "종(Species)의 계산"이라는 개념을 도입하여 기지수(이미 아는 값)는 자음으로, 미지수(구해야 할 값)는 모음으로 표기하는 혁신적인 아이디어를 냈습니다. 데카르트는 이를 더욱 세련되게 다듬어, a,b,c는 상수(Constant)로, x,y,z는 변수(Variable)로 사용하는 현대적 표기법을 확립했습니다.
| 대수학의 발전 단계 |
특징 |
예시 |
AI 시스템적 함의 |
| 수사 대수 (Rhetorical) |
일상 언어로 문제 서술 |
"어떤 것에 그것의 반을 더하면 10이다." |
자연어 프롬프트 (Natural Language Prompt) |
| 생략 대수 (Syncopated) |
자주 쓰는 단어를 약어로 표기 |
"Thing + 1/2 Thing = 10" |
의사 코드 (Pseudo-code) |
| 기호 대수 (Symbolic) |
문자와 기호로 완전한 추상화 |
x+0.5x=10 |
코드 및 수식 (Python/PyTorch Code) |
이 역사적 사실이 AI 아키텍처에 시사하는 바는 명확합니다. 비에트와 데카르트가 문자를 도입함으로써 개별적인 산술 문제들을 하나의 '방정식(Equation)'으로 통합할 수 있었던 것처럼, 현대 AI는 수십억 개의 데이터를 하나의 '모델(Model)'이라는 거대한 대수적 구조로 통합합니다.
교육학 및 인지과학 연구에 따르면, 학생들에게 변수 개념을 가르칠 때 가장 큰 난관은 변수를 '특정한 숫자 하나'로 인식하려는 경향입니다. 많은 학생이 x+3=7에서 x를 4라는 특정 값으로만 이해합니다. 그러나 대수적 사고의 핵심은 y=x+3과 같이, x가 변함에 따라 y가 어떻게 변하는지 그 **'관계(Relationship)'**와 **'패턴(Pattern)'**을 인식하는 데 있습니다.
가이드북은 이 점을 "아빠 나이는 엄마 나이보다 3살 많다"라는 예시를 통해 설명합니다.
- 엄마 30세 → 아빠 33세
- 엄마 40세 → 아빠 43세
- 엄마 x세 → 아빠 x+3세
이 과정은 **귀납적 추론(Inductive Reasoning)**의 과정이자, 머신러닝의 학습 과정과 동일합니다. 개별적인 데이터 포인트(Instance)들을 관찰한 뒤, 그 이면에 흐르는 불변의 법칙(f(x)=x+3)을 추출해내는 것, 이것이 바로 **일반화(Generalization)**입니다. AI 모델이 학습한다는 것은 수많은 '엄마 나이'와 '아빠 나이' 데이터를 보고, 그 사이를 연결하는 매개변수 '3'을 찾아내는 과정입니다.
변수를 이해하는 또 다른 강력한 직관은 '템플릿'입니다. 관공서의 서류 양식을 생각해 봅시다. '성명: ________'라고 적힌 칸은 비어 있지만, 동시에 그곳에 들어올 수 있는 정보의 유형(사람 이름)을 규정하고 있습니다. 변수는 이처럼 데이터가 들어올 수 있는 **'슬롯(Slot)'**입니다.
- 산술: 이미 작성된 서류 (구체적 정보, 수정 불가)
- 대수: 빈 서류 양식 (구조적 정보, 재사용 가능)
AI 시스템 설계에서 모델 아키텍처(Architecture)는 바로 이 '빈 서류 양식'을 설계하는 작업입니다. Transformer 모델이나 CNN 모델은 데이터가 흐르는 거대한 파이프라인이자 템플릿이며, 학습 과정은 이 템플릿의 세부 설정값(변수)을 데이터에 맞게 조정하는 과정입니다.
결국 3장 Basecamp에서 독자가 얻어야 할 통찰은 다음과 같습니다.
- 변수는 미지수(Unknown)를 넘어선다: 단순히 모르는 값을 찾는 것이 아니라, 변화하는 관계를 서술하는 언어입니다.
- 변수는 압축이다: 무한한 개별 사례를 하나의 식(y=f(x))으로 압축합니다.
- 변수는 시스템의 DNA다: 구체적인 데이터가 휘발된 자리에 남는 순수한 구조, 그것이 지능형 시스템의 골격입니다.
베이스캠프에서 변수가 '일반화의 도구'라는 희망적인 측면을 보았다면, 엔지니어링 현장인 Architect's Challenge에서는 그 도구가 야기하는 치명적인 문제, 즉 "얼마나 많은 변수가 필요한가?" 라는 트레이드오프(Trade-off) 상황에 직면합니다. 이는 AI 모델링의 영원한 난제인 '편향-분산 트레이드오프(Bias-Variance Tradeoff)' 와 직결됩니다.
먼저 용어를 명확히 할 필요가 있습니다. 수학 교과서의 '변수(x)'와 머신러닝의 '파라미터(Parameter)'는 혼용되기 쉽지만, 시스템 설계 관점에서는 엄격히 구분됩니다.
- 입력 변수 (Input Variable / Feature): 모델에 들어오는 외부 데이터 (x). (예: 주택의 면적, 방의 개수, 위치)
- 모델 파라미터 (Model Parameter / Weight & Bias): 모델 내부에서 데이터의 관계를 학습하여 저장하는 변수 (w,b). (예: 면적이 가격에 미치는 영향력, 기본 가격)
AI 모델은 함수 f(x;theta)로 표현될 수 있습니다. 여기서 x는 입력 데이터이고, theta는 파라미터 집합입니다.
"우리가 AI를 학습시킨다고 할 때, 우리는 x를 바꾸는 것이 아니라 theta(파라미터)를 바꾼다."
즉, 고전 수학에서는 x를 구하는 것이 목표였지만, AI 수학에서는 x와 정답 y가 주어졌을 때, 이 관계를 가장 잘 설명하는 방정식의 계수(Coefficient), 즉 파라미터를 구하는 것이 목표가 됩니다. 이를 **'제어의 역전(Inversion of Control)'**이라 부를 수 있습니다.
¶ 3.2. 딜레마: 기억(Memorization)인가, 이해(Understanding)인가?
AI 아키텍트에게 주어진 가장 큰 질문은 "모델의 용량(Capacity), 즉 파라미터 개수를 몇 개로 설정할 것인가?"입니다. 이 결정은 모델의 성격을 완전히 바꿔놓습니다.
18 연구 자료에 등장하는 학생 비유는 과적합(Overfitting)과 과소적합(Underfitting)을 이해하는 가장 직관적인 내러티브를 제공합니다.
- 학생 A (Underfitting - 과소적합):
- 상태: 공부를 너무 적게 함 (파라미터 부족). 수학 책의 목차만 읽음.
- 현상: 덧셈 문제조차 제대로 풀지 못함. 학습 데이터(교과서)에 대해서도 성능이 낮음.
- 원인: 모델이 너무 단순하여(y=ax) 현실의 복잡한 패턴(y=ax2+bx+c)을 담아낼 수 없음. 이를 '높은 편향(High Bias)' 이라 합니다.
- 학생 B (Overfitting - 과적합):
- 상태: 수학 공식을 이해하는 대신, 문제집에 있는 1,000개의 문제와 답을 통째로 암기함 (파라미터 과다).
- 현상: 모의고사(학습 데이터)는 100점을 맞음. 하지만 숫자만 바뀐 실전 수능(테스트 데이터)에서는 0점을 맞음.
- 원인: 모델이 데이터의 '패턴'을 배운 게 아니라 '노이즈(Noise)'까지 외워버림. 이를 '높은 분산(High Variance)' 이라 합니다. "새로운 데이터에 대해 일반화(Generalize)하지 못했다"고 평가합니다.
- 학생 C (Generalization - 일반화 성공):
- 상태: 문제집을 풀며 원리(공식)를 이해함.
- 현상: 모의고사 점수는 학생 B보다 조금 낮을 수 있지만, 실전 수능에서도 안정적인 점수를 받음.
- 목표: AI 아키텍트가 추구하는 이상적인 모델 상태.
이 딜레마를 수학적으로 표현한 것이 Bias-Variance Tradeoff입니다.
- Total Error = Bias2 + Variance + Irreducible Error
모델의 복잡도(변수의 수)를 높이면 편향(Bias)은 줄어들지만(더 유연해지므로), 분산(Variance)은 커집니다(데이터에 민감해지므로). 반대의 경우도 마찬가지입니다. 따라서 아키텍트는 이 두 곡선이 교차하는 최적점(Sweet Spot)을 찾아야 합니다.
|
|
|
|
| 구분 |
과소적합 (Underfitting) |
과적합 (Overfitting) |
이상적 모델 (Optimal) |
| 모델 복잡도 |
낮음 (변수 부족) |
높음 (변수 과다) |
적절함 |
| 학습 오차 |
높음 |
매우 낮음 (거의 0) |
낮음 |
| 테스트 오차 |
높음 |
높음 (일반화 실패) |
낮음 |
| 비유 |
1차 함수로 곡선 데이터 예측 |
100차 함수로 모든 점을 연결 |
2차 함수로 추세선 그리기 |
| 해결책 |
변수 추가, 모델 크기 증대 |
데이터 추가, 정규화(Regularization) |
지속적 모니터링 |
여기서 흥미로운 최신 트렌드를 짚고 넘어갈 필요가 있습니다. GPT-4와 같은 최신 LLM은 수천억, 수조 개의 파라미터를 가집니다. 전통적인 통계학 이론에 따르면, 이렇게 변수가 많으면 무조건 과적합되어야 합니다. 그러나 현대 AI는 "변수가 극도로 많으면 다시 성능이 좋아진다" 는 '이중 하강(Double Descent)' 현상을 보여줍니다. 빅데이터의 힘과 강력한 정규화(Regularization) 기법 덕분에, 모델은 데이터를 암기하는 단계를 넘어 데이터 속에 숨겨진 심층적인 구조를 파악하는 단계로 나아갑니다.
이것이 바로 강조하는 "현대 AI 시스템의 DNA" 로서 변수의 역할입니다. 변수는 단순히 값을 담는 그릇이 아니라, 세상의 복잡성을 흡수하여 스스로를 조직화하는 신경망의 시냅스와 같습니다.
이제 이 추상적인 논의를 구체적인 수학의 수술대 위에 올려놓고 해부해 봅시다. 가장 단순하지만 모든 머신러닝의 기초가 되는 선형 회귀(Linear Regression) 를 통해, 변수가 시스템 내부에서 어떻게 작동하는지 진단합니다.
중학교 수학 시간에 배운 일차함수 y=ax+b는 AI 모델링에서 다음과 같이 표기됩니다:
y=w⋅x+b
이 단순한 식의 각 항은 시스템적으로 깊은 의미를 내포하고 있습니다.
수학에서 a는 기울기(Slope)였습니다. AI에서 w는 '입력 정보에 대한 민감도(Sensitivity)' 혹은 '중요도(Importance)' 입니다.
- w가 크다: 입력 x가 조금만 변해도 결과 y가 크게 변합니다. 즉, 모델이 이 정보(x)를 중요하게 여깁니다.
- w가 0에 가깝다: x가 변해도 y는 거의 변하지 않습니다. 모델이 이 정보를 무시합니다.
- w가 음수다: x가 커질수록 y는 작아집니다. (역의 관계)
이 관점에서 보면, 학습(Learning)이란 "어떤 정보가 중요한지(w를 키움)와 어떤 정보가 쓸모없는지(w를 0으로 만듦)를 스스로 결정하는 과정" 입니다.
수학에서 b는 y절편(Intercept)이었습니다. AI에서 b는 '기본 활성화 수준(Base Activation)' 또는 '오프셋(Offset)' 입니다.
- 입력 x가 0이어도 기본적으로 출력되어야 하는 값입니다.
- 신경망에서는 뉴런이 활성화(Fire)되기 위해 넘어야 하는 역치(Threshold)를 조절하는 역할을 합니다. b가 없으면 원점(0,0)을 반드시 지나야 하므로 모델의 표현력이 극도로 제한됩니다.
우리의 목표는 데이터를 가장 잘 설명하는 최적의 w와 b를 찾는 것이다.
이를 위해 손실 함수(Loss Function) J(w,b)를 정의한다.
가장 흔히 쓰이는 평균 제곱 오차(MSE, Mean Squared Error)는 다음과 같다:
J(w,b)=N1i=1∑N(ypred(i)−ytrue(i))2=N1i=1∑N((wx(i)+b)−y(i))2
이 식은 예측값과 실제값의 차이를 제곱한 뒤 평균을 낸 값이다.
이제 문제는 다음과 같이 바뀐다:
손실 함수 J(w,b)를 최소화하는 파라미터 w와 b를 찾아라.
즉, 우리는 단순한 계산 문제가 아니라
최적화(Optimization) 문제를 풀고 있는 것이다.
여기서 중요한 관점의 전환이 필요합니다. 손실 함수 J의 그래프를 그릴 때, 가로축과 세로축은 x,y가 아닙니다.
- 축(Axis): 파라미터 w와 b.
- 높이(Height): 오차 J.
이 공간은 마치 산봉우리와 골짜기가 있는 지형(Landscape)과 같습니다. 우리는 눈을 가린 채 산을 내려가는 등산객처럼, 오차가 가장 낮은 골짜기(Global Minimum)를 찾아야 합니다. 이때 발밑의 경사를 느끼고 내려가는 방향을 정하는 도구가 바로 미분(Gradient) 입니다.
변수 w를 아주 조금 변화시켰을 때
오차 J가 얼마나 변하는지를 계산하는 것, 이것이 학습의 엔진이다.
이를 편미분(Partial Derivative) 으로 나타내면 다음과 같다.
∂w∂J=N2i=1∑N((wx(i)+b)−y(i))x(i)
∂b∂J=N2i=1∑N((wx(i)+b)−y(i))
이 수식이 말해주는 바는 명확하다.
-
(wx+b)−y
현재의 오차(Error) 크기다.
오차가 클수록 미분값(경사)도 커져서 더 많이 이동한다.
-
×x
입력값 x의 크기다.
큰 입력이 들어온 변수는 오차에 더 큰 책임을 진다.
Math Debugging의 결론
변수(Variable)는 정적인 저장소가 아니다.
그것은 오차(Error)라는 피드백 신호를
미분(Derivative)이라는 수학적 기제를 통해 해석하고,
자신의 값을 능동적으로 갱신(Update)하는 동적인 객체다.
wnew←wold−η⋅∂w∂J
(여기서 η는 학습률, Learning Rate다)
이 한 줄의 수식,
즉 경사 하강법 규칙(Gradient Descent Rule) 이
현대 AI 혁명의 거의 모든 것을 설명한다.
수십억 개의 변수가 동시에 이 규칙을 수행하며
아주 조금씩 정답을 향해 나아가는 것,
그게 바로 우리가 말하는 기계 학습의 실체다.
마지막으로, 이 모든 수학적 원리가
실제 코드에서 어떻게 구현되는지 확인해본다.
우리는 Python의 딥러닝 라이브러리 PyTorch를 사용해서
‘변수’가 어떻게 학습 가능한 텐서(trainable tensor) 로
변환되는지를 살펴본다.24
'Schema' 파트에서 제안하는 시각화 방식에 따라,
변수와 연산의 관계를 도식화하면 다음과 같다.
AI 모델은 단순한 함수가 아니라,
데이터가 흐르는 파이프라인이자 그래프다.
graph LR
subgraph Data["고정된 데이터"]
X["Input x"]
Y_true["Target y"]
end
subgraph Parameters["학습 가능한 변수"]
W["W"]
B["B"]
end
X -->|"곱하기"| Op1((Multiply))
W --> Op1
Op1 -->|"더하기"| Op2((Add))
B --> Op2
Op2 --> Y_pred["Prediction $\hat{y}$"]
Y_pred -->|"차이 제곱"| LossOp((Loss Function))
Y_true --> LossOp
LossOp --> Loss["Error $J$"]
style W fill:#ff9,stroke:#333,stroke-width:2px
style B fill:#ff9,stroke:#333,stroke-width:2px
style Loss fill:#f9f,stroke:#333,stroke-width:2px
PyTorch 코드에서 변수를 선언할 때 requires_grad=True 옵션을 주는 것은 변수에게 생명을 불어넣는 행위입니다.
"이 텐서는 단순한 데이터 저장소가 아닙니다. 이 텐서와 관련된 모든 연산 기록(History)을 추적(Track)하고, 나중에 미분값(Gradient)을 계산해 주세요."
이것이 Autograd(자동 미분) 시스템의 핵심입니다.
다음 코드는 가장 본질적인 학습 루프입니다.
import torch
# ---------------------------------------------------------
# 1. Data: training samples
# ---------------------------------------------------------
# True relationship: y = 3x + 2 (unknown to the model)
# Small noise is assumed in real-world data
X_train = torch.tensor([[1.0], [2.0], [3.0], [4.0]])
y_train = torch.tensor([[5.0], [8.0], [11.0], [14.0]])
# ---------------------------------------------------------
# 2. Model initialization
# ---------------------------------------------------------
# Initialize model parameters w and b
# requires_grad=True enables gradient computation
w = torch.tensor([1.0], requires_grad=True) # initial slope
b = torch.tensor([0.0], requires_grad=True) # initial bias
learning_rate = 0.1
print(f"--- Before training ---")
print(f"Initial model: y = {w.item():.2f}x + {b.item():.2f}")
print(f"-----------------------")
# ---------------------------------------------------------
# 3. Training loop
# ---------------------------------------------------------
for epoch in range(101):
# (1) Forward pass: compute predictions
y_pred = X_train * w + b
# (2) Loss computation: mean squared error
loss = torch.mean((y_pred - y_train) ** 2)
# (3) Backward pass: compute gradients
loss.backward()
# (4) Parameter update
# Disable gradient tracking for manual updates
with torch.no_grad():
w -= learning_rate * w.grad
b -= learning_rate * b.grad
# (5) Reset gradients to zero
w.grad.zero_()
b.grad.zero_()
# Log progress
if epoch % 20 == 0:
print(
f"Epoch {epoch:3d}: "
f"Loss = {loss.item():.4f} | "
f"w = {w.item():.4f}, b = {b.item():.4f}"
)
# ---------------------------------------------------------
# 4. Result
# ---------------------------------------------------------
print(f"-----------------------")
print(f"After training: y = {w.item():.2f}x + {b.item():.2f}")
# Expected result: y ≈ 3.00x + 2.00
이 짧은 코드 안에 인공지능의 모든 철학이 담겨 있습니다.
- 초기화 (Genesis): torch.tensor(..., requires_grad=True)를 통해 변수는 단순한 숫자 저장소를 넘어, 변화를 감지하는 에이전트가 됩니다.
- 전파 (Forward): 입력 데이터와 결합하여 예측을 내놓습니다. 이때 계산 그래프(Computational Graph)가 동적으로 생성되어 연산의 계보를 기록합니다.
- 반성 (Backward): loss.backward()가 호출되는 순간, 시스템은 출력단에서 입력단으로 거슬러 올라가며 "누가 오차에 얼마나 기여했는가?"를 따집니다. 그 결과가 .grad 속성에 저장됩니다.
- 진화 (Step): 경사 하강법 공식에 따라 변수는 스스로를 수정하여 더 나은 모델로 진화합니다.
지금까지 우리는 [00 AI 초등수학 가이드북]의 3장 '변수/일반화'를 심층적으로 분석했습니다. 산술의 세계에서 숫자의 감옥에 갇혀 있던 우리는, 대수의 세계로 넘어오며 **변수(Variable)**라는 자유의 날개를 얻었습니다.
본 보고서의 핵심 통찰을 요약하면 다음과 같습니다:
- 변수의 본질은 '일반화'다: 변수는 무한한 개별 사례들을 하나의 보편 법칙(y=f(x))으로 압축하는 도구입니다. 이는 인간의 지능이 추상화(Abstraction)를 통해 세상을 이해하는 방식과 동일합니다.
- 공학적 핵심은 '균형'이다: AI 시스템에서 변수(파라미터)의 수는 곧 지능의 용량(Capacity)입니다. 너무 적으면 세상을 이해하지 못하고(Underfitting), 너무 많으면 세상을 맹목적으로 암기합니다(Overfitting). 뛰어난 아키텍트는 이 둘 사이의 균형점을 찾아냅니다.
- 수학적 실체는 '동적 최적화'다: 변수는 고정된 값이 아닙니다. 그것은 손실 함수(Loss Function)라는 지형 위에서 미분(Gradient)이라는 나침반을 들고 끊임없이 움직이는 탐험가입니다.
- 구현은 '자동 미분'으로 완성된다: 현대의 딥러닝 프레임워크는 requires_grad와 같은 메커니즘을 통해 수학적 추상화를 작동 가능한 코드로 구현합니다.
이제 우리는 '값(Scalar)'과 '일반화(Variable)'에 대한 이해를 마쳤습니다. 다음 장인 'Chapter 4. 벡터(Vector) / 나침반(Compass)' 에서는 이 스칼라 변수들이 하나로 모여 공간(Space) 을 형성하고, 그 공간 속에서 의미(Meaning)와 관계(Relationship)가 기하학적으로 펼쳐지는 새로운 차원의 여정을 시작할 것입니다. 변수가 하나의 차원 위에서 움직이는 점이라면, 벡터는 다차원 우주를 가로지르는 화살표가 되어 우리를 더 깊은 지능의 세계로 안내할 것입니다.
본 보고서는 사용자가 업로드한 문서와 수집된 연구 자료를 바탕으로 작성되었습니다.
- 1: 00 AI 초등수학 가이드북 (업로드된 문서) - 전체 챕터 구조, 철학, 비유(Basecamp) 및 핵심 논지.
- 2: 대수학의 역사, 디오판토스, 비에트, 데카르트의 기여, x 표기의 유래 등 역사적 사실.
- 8: 변수 개념 학습의 인지과학적 분석, 패턴 일반화, 산술적 사고 대 대수적 사고의 비교.
- 15: AI 파라미터와 수학적 변수의 차이, 입력 변수(x)와 가중치(w)의 역할 정의.
- 13: 일반화와 과적합, 편향-분산 트레이드오프, 머신러닝 모델의 성능 평가 이론.
- 20: 선형 회귀의 수학적 원리, 손실 함수와 최적화, 경사 하강법의 기하학적 해석.
- 24: PyTorch 구현, Autograd의 작동 원리, requires_grad, 선형 회귀 코드 실습.
- 00 AI 초등수학 가이드북
- History of algebra - Wikipedia, 1월 2, 2026에 액세스, https://en.wikipedia.org/wiki/History_of_algebra
- Chapter 2 THE FATHER OF ALGEBRA - National Academies of Sciences, Engineering, and Medicine, 1월 2, 2026에 액세스, https://www.nationalacademies.org/read/11540/chapter/4
- Earliest Uses of Symbols for Variables - MacTutor History of Mathematics, 1월 2, 2026에 액세스, https://mathshistory.st-andrews.ac.uk/Miller/mathsym/variables/
- François Viète - Wikipedia, 1월 2, 2026에 액세스, https://en.wikipedia.org/wiki/Fran%C3%A7ois_Vi%C3%A8te
- François Viète's revolution in algebra - Research Outreach, 1월 2, 2026에 액세스, https://researchoutreach.org/articles/francois-viete-modern-algebra/
- Earliest Uses of Symbols for Variables, 1월 2, 2026에 액세스, https://jeff560.tripod.com/variables.html
- THE TRANSITION FROM ARITHMETIC TO ALGEBRA: TO REASON, EXPLAIN, ARGUE, GENERALIZE AND JUSTIFY - DiVA portal, 1월 2, 2026에 액세스, https://www.diva-portal.org/smash/get/diva2:1005151/FULLTEXT01.pdf
- The Use of Variables in a Patterning Activity: Counting Dots - ERIC, 1월 2, 2026에 액세스, https://files.eric.ed.gov/fulltext/EJ1183848.pdf
- Visual templates in pattern generalization activity - Math Ed Seminar, 1월 2, 2026에 액세스, http://mathedseminar.pbworks.com/w/file/fetch/57726618/RiveraVisualTemplates.pdf
- Pattern Generalization Processing of Elementary Students: Cognitive Factors Affecting the Development of Exact Mathematical Structures, 1월 2, 2026에 액세스, https://www.ejmste.com/download/pattern-generalization-processing-of-elementary-students-cognitive-factors-affecting-the-5536.pdf
- Three Components of Algebraic Thinking: Generalization, Equality, Unknown Quantities - EdTech Leaders Online, 1월 2, 2026에 액세스, http://courses.edtechleaders.org/documents/elemalgebra/rubin_diffalgebra.pdf
- Overfitting, Generalization, & the Bias-Variance Tradeoff | Exxact Blog, 1월 2, 2026에 액세스, https://www.exxactcorp.com/blog/deep-learning/overfitting-generalization-the-bias-variance-tradeoff
- Demystifying Machine Learning: Understanding Underfitting, Overfitting, Bias, Variance, and the… - Shyam Patel, 1월 2, 2026에 액세스, https://shyampatel1320.medium.com/demystifying-machine-learning-understanding-underfitting-overfitting-bias-variance-and-the-585cfa83af42
- What is the difference with variables and parameters - Supervised ML - DeepLearning.AI, 1월 2, 2026에 액세스, https://community.deeplearning.ai/t/what-is-the-difference-with-variables-and-parameters/311418
- What exactly are parameters? : r/learnmachinelearning - Reddit, 1월 2, 2026에 액세스, https://www.reddit.com/r/learnmachinelearning/comments/1dz7w1y/what_exactly_are_parameters/
- Linear regression in Machine Learning: A mathematical guide | by Chamuditha Kekulawala | Medium, 1월 2, 2026에 액세스, https://medium.com/@ckekula/a-mathematical-guide-to-training-machine-learning-models-part-1-f07106a72841
- Overfitting and underfitting in machine learning - SuperAnnotate, 1월 2, 2026에 액세스, https://www.superannotate.com/blog/overfitting-and-underfitting-in-machine-learning
- Underfitting vs. Overfitting in Machine Learning: A Complete 2025 Guide - Aya Data, 1월 2, 2026에 액세스, https://www.ayadata.ai/a-guide-to-overfitting-and-underfitting-in-machine-learning/
- Linear regression | Machine Learning - Google for Developers, 1월 2, 2026에 액세스, https://developers.google.com/machine-learning/crash-course/linear-regression
- 6 Linear Regression – Interpretable Machine Learning, 1월 2, 2026에 액세스, https://christophm.github.io/interpretable-ml-book/limo.html
- Linear Regression, Clearly Explained!!! - YouTube, 1월 2, 2026에 액세스, https://www.youtube.com/watch?v=nk2CQITm_eo
- An Introduction to Linear Regression For Machine Learning (With Examples) - Wandb, 1월 2, 2026에 액세스, https://wandb.ai/sauravmaheshkar/linear-regression-sklearn/reports/An-Introduction-to-Linear-Regression-For-Machine-Learning-With-Examples---VmlldzoxMDQyMzg3
- Understanding requires_grad, retain_grad, Leaf, and Non-leaf Tensors, 1월 2, 2026에 액세스, https://docs.pytorch.org/tutorials/beginner/understanding_leaf_vs_nonleaf_tutorial.html
- Learning PyTorch with Examples — PyTorch Tutorials 2.9.0+cu128 documentation, 1월 2, 2026에 액세스, https://docs.pytorch.org/tutorials/beginner/pytorch_with_examples.html
- torch.Tensor.requires_grad_ — PyTorch 2.9 documentation, 1월 2, 2026에 액세스, https://docs.pytorch.org/docs/stable/generated/torch.Tensor.requires_grad_.html
- Ch4: What does .requires_grad() do exactly? - Fast.ai Forums, 1월 2, 2026에 액세스, https://forums.fast.ai/t/ch4-what-does-requires-grad-do-exactly/110012
- Training a Linear Regression Model in PyTorch - MachineLearningMastery.com, 1월 2, 2026에 액세스, https://machinelearningmastery.com/training-a-linear-regression-model-in-pytorch/
- Linear Regression Implementation from Scratch - pytorch - D2L Discussion, 1월 2, 2026에 액세스, https://discuss.d2l.ai/t/linear-regression-implementation-from-scratch/43?page=3
- From Arithmetic to Algebra, Part 1: Algebra as Generalized Arithmetic - Berkeley Math, 1월 2, 2026에 액세스, https://math.berkeley.edu/~wu/Arithmetic-to-Algebra2019.pdf
- How Mathematics Works Behind Any AI / ML Model | by Shivam Jaiswal - Medium, 1월 2, 2026에 액세스, https://medium.com/@shivamjaisw9/how-mathematics-works-behind-any-ai-ml-model-41cd9f6ac2f9
- Tensors and autograd — PyTorch Tutorials 2.9.0+cu128 documentation, 1월 2, 2026에 액세스, https://docs.pytorch.org/tutorials/beginner/examples_autograd/polynomial_autograd.html
- How to Train and Deploy a Linear Regression Model Using PyTorch - Docker, 1월 2, 2026에 액세스, https://www.docker.com/blog/how-to-train-and-deploy-a-linear-regression-model-using-pytorch-part-1/
- Loss requires grad false - PyTorch Forums, 1월 2, 2026에 액세스, https://discuss.pytorch.org/t/loss-requires-grad-false/64075