넓이 xy, 부피 πr2h, 온도 T(x,y,z), 신경망의 손실 L(w1,…,wn)처럼 세상의 양은 대부분 여러 값에 함께 따라 달라집니다. 이 장에서는 변수가 여럿인 함수를 그림(그래프와 등위선)으로 보는 법과, 미적분학 1·2장의 극한과 연속을 여러 변수로 넓히는 법을 다룹니다. 한 변수와 달리 “어느 방향에서 다가가느냐”가 문제가 된다는 것이 핵심입니다.
1.1 다변수 함수
정의 1.1 (다변수 함수).Rn의 부분집합 D의 각 점 x=(x1,…,xn)에 실수 하나를 대응시키는 함수 f:D→R를 n변수 함수(function of several variables)라 합니다.
Rn은 실수 n개의 목록 전체입니다(선형대수 2장). 점을 굵은 글씨 x로 쓰는 것은 “수 하나가 아니라 목록”이라는 표시입니다.
예:
f(x,y)=x2+y2: 원점에서의 거리의 제곱.
f(x,y)=1−x2−y2: 정의역은 x2+y2≤1(원판).
평균제곱오차 L(a,b)=n1∑i=1n(yi−axi−b)2: 직선 y=ax+b가 데이터에 얼마나 안 맞는지를 두 변수 a,b의 함수로 본 것.
값이 벡터인 함수 f:Rn→Rm도 있습니다. 성분마다 n변수 함수 m개를 모아 놓은 것입니다. 예: 신경망의 한 층 x↦σ(Wx+b).
1.2 그래프와 등위선
정의 1.2 (그래프). 2변수 함수 f의 그래프는 {(x,y,f(x,y))}로, 3차원 공간의 곡면입니다.
정의 1.3 (등위선). 상수 c에 대해 {(x,y)∣f(x,y)=c}를 f의 등위선(level curve, contour)이라 합니다. 변수가 셋이면 등위면입니다.
지도의 등고선이 바로 등위선입니다. 높이가 같은 곳을 이은 선이고, 등고선이 촘촘하면 경사가 급합니다.
함수
등위선 f=c
모양
x2+y2
x2+y2=c
원점이 중심인 원 (c>0)
x2+3y2
x2+3y2=c
가로로 긴 타원
x2−y2
x2−y2=c
쌍곡선 (c=0이면 두 직선 y=±x)
ax+by
ax+by=c
평행한 직선들
머신러닝 논문의 “손실 지형(loss landscape)” 그림은 손실 함수의 등위선입니다. 길쭉한 타원 모양이면 경사하강법이 지그재그로 느리게 내려간다는 것을 5장에서 봅니다.
1.3 ℝⁿ의 거리
정의 1.4 (거리). 두 점 x,a∈Rn 사이의 거리는 ∥x−a∥=(x1−a1)2+⋯+(xn−an)2입니다.
피타고라스 정리를 n차원으로 늘인 것이고, 선형대수 2장의 노름(길이)과 같습니다. 이것으로 “가까움”을 잴 수 있습니다: ∥x−a∥<δ는 a를 중심으로 하는 반지름 δ인 공(평면에서는 원판)의 안입니다.
1.4 극한
정의 1.5 (극한).x→alimf(x)=L이란, 모든 ε>0에 대해 어떤 δ>0이 있어 0<∥x−a∥<δ이면 ∣f(x)−L∣<ε이라는 뜻입니다.
미적분학 1장의 정의에서 ∣x−a∣를 ∥x−a∥로 바꾼 것뿐입니다. 그런데 한 변수에서는 왼쪽·오른쪽 두 방향에서만 다가갔지만, 평면에서는 모든 방향, 모든 곡선을 따라 다가가도 같은 값으로 가야 합니다.
예제 1.6 (극한이 없는 경우).f(x,y)=x2+y2xy ((x,y)=(0,0)). x축을 따라(y=0) 다가가면 값이 0, 직선 y=x를 따라 다가가면 2x2x2=21입니다. 다가가는 길에 따라 값이 다르므로 극한은 없습니다.
예제 1.7 (모든 직선은 같아도 극한이 없는 경우).f(x,y)=x4+y2x2y. 직선 y=mx를 따라가면 x4+m2x2mx3=x2+m2mx→0입니다. 그러나 포물선 y=x2을 따라가면 2x4x4=21입니다. 직선만 확인해서는 극한이 있다고 말할 수 없습니다.