표기법

이 부록은 책 전체에서 쓰는 수학 기호와 코드 표기를 한곳에 모은다. 장마다 이 표기를 따르며, 어떤 장이 다른 표기를 써야 할 때는 그 장 첫머리의 지역 표기 상자에 차이만 적는다.

학습 목표

  • 책 전체의 수학·코드 표기 규칙을 한곳에서 확인한다
  • 분야마다 다른 기호가 충돌할 때 이 책이 어떤 쪽을 따르는지 안다

수와 집합

표기 뜻
R,Rd,Rm×n\mathbb{R}, \mathbb{R}^d, \mathbb{R}^{m \times n} 실수, dd차원 실수 벡터, m×nm \times n 실수 행렬
N,Z\mathbb{N}, \mathbb{Z} 자연수, 정수
{1,…,N}\{1, \dots, N\} 또는 [N][N] 1부터 NN까지의 정수
A,X\mathcal{A}, \mathcal{X} 집합·공간 (필기체 대문자)
∣A∣\lvert \mathcal{A} \rvert 집합의 원소 수
a∈Aa \in \mathcal{A}, A⊆B\mathcal{A} \subseteq \mathcal{B} 원소, 부분집합
:=:= 정의
≈\approx 근사적으로 같다
∝\propto 비례한다 (정규화 상수를 생략)

스칼라·벡터·행렬·텐서

표기 뜻
x,α,λx, \alpha, \lambda 스칼라 (이탤릭 소문자, 그리스 문자)
x∈Rd\mathbf{x} \in \mathbb{R}^d 벡터. 열벡터가 기본이다
xix_i 벡터 x\mathbf{x}의 ii번째 성분
A∈Rm×n\mathbf{A} \in \mathbb{R}^{m \times n} 행렬 (굵은 대문자)
AijA_{ij} 행렬 A\mathbf{A}의 (i,j)(i, j) 성분
A⊤\mathbf{A}^\top 전치
A−1\mathbf{A}^{-1}, A+\mathbf{A}^{+} 역행렬, pseudoinverse
I\mathbf{I}, In\mathbf{I}_n 단위행렬
0\mathbf{0}, 1\mathbf{1} 영벡터, 모든 성분이 1인 벡터
diag⁡(v)\operatorname{diag}(\mathbf{v}) 대각 성분이 v\mathbf{v}인 대각행렬
tr⁡(A)\operatorname{tr}(\mathbf{A}), det⁡(A)\det(\mathbf{A}), rank⁡(A)\operatorname{rank}(\mathbf{A}) 대각합, 행렬식, 계수
⟨x,y⟩=x⊤y\langle \mathbf{x}, \mathbf{y} \rangle = \mathbf{x}^\top \mathbf{y} 내적
∥x∥2\lVert \mathbf{x} \rVert_2, ∥x∥1\lVert \mathbf{x} \rVert_1, ∥A∥F\lVert \mathbf{A} \rVert_F L2 노름, L1 노름, Frobenius 노름. 아래첨자가 없으면 L2
x⊙y\mathbf{x} \odot \mathbf{y} 성분별 곱 (Hadamard)
X\mathsf{X} 3차원 이상의 텐서 (산세리프 대문자). 코드에서는 shape 주석으로 대신한다

함수와 미분

표기 뜻
f:X→Yf: \mathcal{X} \to \mathcal{Y} 정의역과 공역
f∘gf \circ g 합성 f(g(⋅))f(g(\cdot))
dfdx\frac{df}{dx}, f′(x)f'(x) 일변수 미분
∂f∂xi\frac{\partial f}{\partial x_i} 편미분
∇xf∈Rd\nabla_{\mathbf{x}} f \in \mathbb{R}^d gradient. f:Rd→Rf: \mathbb{R}^d \to \mathbb{R}에 대해 열벡터
Jf∈Rm×n\mathbf{J}_f \in \mathbb{R}^{m \times n} Jacobian. f:Rn→Rmf: \mathbb{R}^n \to \mathbb{R}^m에 대해 (출력 차원 × 입력 차원)
∇2f\nabla^2 f, H\mathbf{H} Hessian
x˙\dot{x}, x¨\ddot{x} 시간에 대한 1계·2계 도함수 (물리 예제)
∂tu\partial_t u, ∂xxu\partial_{xx} u 편미분의 축약 (PDE 예제). PINN 문헌을 따르는 장은 utu_t, uxxu_{xx}처럼 아래첨자로도 쓴다
O(⋅)O(\cdot) 점근 차수. 계산 복잡도(O(N2)O(N^2))와 오차 차수(O(h2)O(h^2))에 함께 쓴다

Jacobian과 gradient의 관계는 ∇xf=Jf⊤\nabla_{\mathbf{x}} f = \mathbf{J}_f^\top이다(m=1m = 1일 때). 이 책은 Jacobian을 numerator layout(출력 차원 × 입력 차원)으로 쓰고, 스칼라의 gradient는 미분하는 변수와 같은 shape(벡터면 열벡터, 행렬이면 같은 크기의 행렬)으로 쓴다. 두 규약을 섞은 이 조합이 머신러닝에서 가장 실용적이다(8.2). numerator layout을 스칼라 미분에도 그대로 적용해 gradient를 행벡터로 쓰는 교재나, Jacobian을 (입력 × 출력)으로 쓰는 denominator layout 교재도 있으므로, 공식을 옮겨 올 때 전치에 주의한다.

확률과 통계

표기 뜻
X,YX, Y 확률변수 (대문자)
x,yx, y 확률변수가 취한 값 (소문자)
p(x)p(x) 확률질량함수 또는 확률밀도함수. 문맥으로 구분한다
p(x,y)p(x, y), p(y∣x)p(y \mid x) 결합분포, 조건부분포
pθ(y∣x)p_\theta(y \mid x) 파라미터 θ\theta를 가진 모델의 조건부분포
P(A)P(A), Pr⁡[A]\Pr[A] 사건 AA의 확률
X∼pX \sim p XX가 분포 pp를 따른다
E[X]\mathbb{E}[X], Ex∼p[f(x)]\mathbb{E}_{x \sim p}[f(x)] 기댓값. 어떤 분포에 대한 기댓값인지 아래첨자로 밝힌다
Var⁡[X]\operatorname{Var}[X], Cov⁡[X,Y]\operatorname{Cov}[X, Y] 분산, 공분산
N(μ,Σ)\mathcal{N}(\boldsymbol{\mu}, \boldsymbol{\Sigma}) 평균 μ\boldsymbol{\mu}, 공분산 Σ\boldsymbol{\Sigma}인 정규분포
Ber⁡(π)\operatorname{Ber}(\pi), Cat⁡(π)\operatorname{Cat}(\boldsymbol{\pi}), Unif⁡(a,b)\operatorname{Unif}(a, b) Bernoulli, categorical, 균등분포
θ^\hat{\theta} θ\theta의 추정값
θ⋆\theta^\star 최적값
1[⋅]\mathbb{1}[\cdot] 지시함수 (조건이 참이면 1)
ε\varepsilon, ε\boldsymbol{\varepsilon} 잡음. 관측 잡음 y=f(x)+εy = f(\mathbf{x}) + \varepsilon, 표준 정규 잡음 ε∼N(0,I)\boldsymbol{\varepsilon} \sim \mathcal{N}(\mathbf{0}, \mathbf{I})
ϵ\epsilon 작은 양의 상수 (Adam 분모의 안정화 상수, ϵ\epsilon-greedy, 허용 오차)
Φ\Phi, zqz_{q} 표준정규분포의 누적분포함수, qq 분위수 (예: z0.975≈1.96z_{0.975} \approx 1.96)
KL(p ∥ q)\mathrm{KL}(p \,\Vert\, q) KL divergence. DKL(p ∥ q)D_{\mathrm{KL}}(p \,\Vert\, q)로 쓰는 문헌도 같은 뜻이다
H(p)H(p), H(p,q)H(p, q) 엔트로피, 교차엔트로피

학습 문제

표기 뜻
D={(xi,yi)}i=1N\mathcal{D} = \{(\mathbf{x}_i, y_i)\}_{i=1}^N 데이터셋. NN은 샘플 수
x\mathbf{x}, yy 입력, 출력(정답). 출력이 벡터면 y\mathbf{y}
y^=fθ(x)\hat{y} = f_\theta(\mathbf{x}) 모델의 점 예측
θ\theta 학습되는 파라미터 전체
W,b\mathbf{W}, \mathbf{b} 한 층의 가중치 행렬과 bias
z\mathbf{z} 잠재변수
ℓ(y^,y)\ell(\hat{y}, y) 샘플 하나의 손실
L(θ)L(\theta) 전체 손실(목적함수)
η\eta 학습률
Dtrain,Dval,Dtest\mathcal{D}_{\text{train}}, \mathcal{D}_{\text{val}}, \mathcal{D}_{\text{test}} 학습·검증·시험 데이터
λ\lambda 정규화 계수 (선형대수 장에서는 고윳값)
h\mathbf{h} 은닉 표현(hidden state). 층 ℓ\ell의 것은 hℓ\mathbf{h}_\ell
σ(⋅)\sigma(\cdot) 활성화 함수 일반 또는 sigmoid. 인자 없이 σ\sigma만 쓰면 표준편차
Q,K,V\mathbf{Q}, \mathbf{K}, \mathbf{V} attention의 query·key·value 행렬 (18.4장)
k(x,x′)k(\mathbf{x}, \mathbf{x}^\prime), K\mathbf{K} 커널 함수, 커널(Gram) 행렬 Kij=k(xi,xj)K_{ij} = k(\mathbf{x}_i, \mathbf{x}_j)
qϕ(z∣x)q_\phi(\mathbf{z} \mid \mathbf{x}) 파라미터 ϕ\phi를 가진 근사 사후분포(변분 분포, encoder)
ELBO\mathrm{ELBO} evidence lower bound, log⁡p(x)\log p(\mathbf{x})의 하한

생성 모델과 강화학습

표기 뜻
∇xlog⁡pt(x)\nabla_{\mathbf{x}} \log p_t(\mathbf{x}) score. 잡음 수준 tt에서 데이터 분포의 로그 밀도 gradient
βt\beta_t, αˉt=∏s≤t(1−βs)\bar{\alpha}_t = \prod_{s \le t}(1 - \beta_s) 확산 모델의 잡음 스케줄과 누적 신호 비율 (19.5장)
vθ(x,t)v_\theta(\mathbf{x}, t) flow matching이 학습하는 속도장 (19.6장)
s,a,rs, a, r 강화학습의 상태, 행동, 보상
π(a∣s)\pi(a \mid s), πθ\pi_\theta 정책, 파라미터 θ\theta를 가진 정책
γ\gamma 할인율
GtG_t 시각 tt부터의 할인 누적 보상(return)
Vπ(s)V^\pi(s), Qπ(s,a)Q^\pi(s, a) 정책 π\pi의 상태 가치함수, 행동 가치함수

시간 방향. 생성 모델의 시간 tt는 장마다 방향이 다르다. 19.5장의 확산 모델은 t=0t = 0이 데이터이고 tt가 커질수록 잡음이 늘어난다. 19.6장의 flow matching은 t=0t = 0이 잡음, t=1t = 1이 데이터다. 두 장의 식을 비교할 때는 t↔1−tt \leftrightarrow 1 - t로 바꿔 읽는다. 논문을 옮겨 올 때도 어느 관례인지 먼저 확인한다.

시간과 동역학

표기 뜻
tt 연속 시간
kk 이산 시간 단계 (예: xk=x(kΔt)\mathbf{x}_k = \mathbf{x}(k \Delta t))
Δt\Delta t, hh 시간 간격, 수치해법의 step 크기
s(t)\mathbf{s}(t) 동역학 시스템의 상태 (ML의 입력 x\mathbf{x}와 구분할 때)
u(t)\mathbf{u}(t) 제어 입력
u(x,t)u(x, t) PDE의 해(장, field). 공간 좌표 xx와 시간 tt의 함수

분야 간 충돌. 제어·동역학 교재는 상태를 x\mathbf{x}로 쓰고, ML 교재는 입력을 x\mathbf{x}로 쓴다. 이 책은 ML 표기를 기본으로 하고, 동역학이 중심인 장은 상태를 s\mathbf{s}로 쓰거나 지역 표기 상자에서 x\mathbf{x}를 상태로 다시 정의한다.

공통 예제의 기호

예제 식 기호
실 1. 감쇠 진동자 x¨+2ζω0x˙+ω02x=0\ddot{x} + 2\zeta\omega_0\dot{x} + \omega_0^2 x = 0 x(t)x(t) 위치, ζ\zeta 감쇠비, ω0\omega_0 고유진동수
실 2. 열 방정식 ∂tu=κ ∂xxu\partial_t u = \kappa\,\partial_{xx} u u(x,t)u(x, t) 온도, κ\kappa 열확산계수 (9.7장·24.2장은 수치해석 관례대로 α\alpha, 코드에서는 alpha로 쓴다)
실 3. 배터리 사이클 데이터 — QkQ_k 사이클 kk의 방전 용량, SOHk=Qk/Q0\mathrm{SOH}_k = Q_k / Q_0

같은 기호, 다른 뜻

기호의 수는 한정되어 있어 분야마다 같은 글자를 다른 뜻으로 쓴다. 이 책도 각 분야의 관례를 따르므로 아래 기호는 장에 따라 뜻이 다르다. 그 장의 정의를 먼저 확인한다.

기호 뜻 (대표 장)
Q\mathbf{Q} 직교행렬(QR, 고윳값 분해, 7.4·7.5장), attention의 query(18.4장), 과정 잡음 공분산·LQR 상태 비용 가중치(24.6·20.3장)
QQ 강화학습의 행동 가치함수 Q(s,a)Q(s, a)(20.2장), 배터리 방전 용량 QkQ_k(30부)
K\mathbf{K} 커널 행렬(13.7·16.3장), attention의 key(18.4장), Kalman gain(24.6장)
P\mathbf{P} 사영 행렬(7.4장), Markov 연쇄의 전이행렬(11.7장), 상태 추정 공분산·Riccati 방정식의 해(24.6·20.3장)
F\mathbf{F} Fisher 정보 행렬, 선형 상태 전이 행렬(24.6장), 비선형 방정식계의 잔차 함수(9.4장), 힘(24.8장)
κ\kappa 조건수(9.2장), 열확산계수(실 2)
α\alpha 유의수준(12.4장), 확산 모델의 신호 비율 αt\alpha_t(19.5장), 9.7장의 확산계수
σ\sigma 표준편차, 특잇값 σi\sigma_i(7.6장), 활성화 함수 σ(⋅)\sigma(\cdot)
λ\lambda 고윳값(7.5장), 정규화 계수, Poisson·지수분포의 rate
π\pi 원주율, Bernoulli·categorical의 확률 파라미터, 강화학습의 정책

코드 표기

텐서 연산 옆에는 shape 주석을 단다.

h = encoder(x)        # (B, T, D)
attn = q @ k.mT       # (B, H, T, T)
축 약어 뜻
B batch
T 시간 또는 시퀀스 길이
C 채널
D 특징 차원
H attention head 수
N 샘플 수

물리량을 담는 변수에는 단위 접미사를 붙인다.

접미사 단위 예
_s 초 time_s
_v 볼트 voltage_v
_a 암페어 current_a
_ah 암페어시 capacity_ah
_c 섭씨 temp_c
_ohm 옴 r0_ohm
_m, _kg 미터, 킬로그램 length_m, mass_kg