2장. 편미분과 그래디언트

다변수 미적분 · 1부. 다변수 미분

기본 · 약 15분 · 연습문제 5 · 그림 1

요약

편미분, 고계 편미분과 혼합 편미분의 대칭, 방향도함수, 그래디언트와 그 기하학적 뜻, 등위선과의 수직

산비탈에 서서 “여기서 가장 가파르게 올라가는 방향은 어디일까?”를 묻는다고 합시다. 동쪽으로 한 걸음, 북쪽으로 한 걸음 갈 때의 기울기를 각각 재면(편미분) 모든 방향의 기울기와 가장 가파른 방향을 알 수 있습니다. 그 방향을 가리키는 벡터가 그래디언트이고, 머신러닝의 학습(경사하강법)은 그 반대 방향으로 계속 걸어 내려가는 것입니다.

2.1 편미분

다른 변수를 모두 상수로 묶어 두고 한 변수로만 미분합니다.

정의 2.1 (편미분). f(x,y)f(x, y)의 xx에 대한 편미분(partial derivative)은

∂f∂x(a,b)=lim⁡h→0f(a+h,b)−f(a,b)h\frac{\partial f}{\partial x}(a, b) = \lim_{h \to 0}\frac{f(a + h, b) - f(a, b)}{h}

입니다. fxf_x로도 씁니다. yy에 대한 편미분도 같습니다.

기호 ∂\partial는 “편(partial)”이라는 뜻의 둥근 d로 “라운드 디” 또는 “파셜”이라 읽습니다. 계산은 미적분학 4장의 규칙을 그대로 쓰되, 다른 변수를 상수로 봅니다.

예제 2.2. f(x,y)=x3y2+sin⁡(xy)f(x, y) = x^3y^2 + \sin(xy).

fx=3x2y2+ycos⁡(xy),fy=2x3y+xcos⁡(xy).f_x = 3x^2y^2 + y\cos(xy), \qquad f_y = 2x^3y + x\cos(xy).

그래프로 보면 fx(a,b)f_x(a, b)는 곡면을 평면 y=by = b로 자른 곡선의 기울기, 곧 “xx축 방향의 경사”입니다.

2.2 고계 편미분

편미분을 다시 편미분할 수 있습니다: fxx=∂2f∂x2f_{xx} = \frac{\partial^2 f}{\partial x^2}, fxy=∂∂y(∂f∂x)f_{xy} = \frac{\partial}{\partial y}\left(\frac{\partial f}{\partial x}\right) 등.

정리 2.3 (클레로). fxyf_{xy}와 fyxf_{yx}가 연속이면 fxy=fyxf_{xy} = f_{yx}입니다.

예제 2.4. 예제 2.2에서 fxy=6x2y+cos⁡(xy)−xysin⁡(xy)=fyxf_{xy} = 6x^2y + \cos(xy) - xy\sin(xy) = f_{yx}. 미분하는 순서를 바꿔도 같습니다. 4장의 헤세 행렬이 대칭인 이유입니다.

2.3 방향도함수

정의 2.5 (방향도함수). 단위벡터 u\mathbf{u} 방향의 방향도함수(directional derivative)는

Duf(a)=lim⁡h→0f(a+hu)−f(a)h.D_{\mathbf{u}}f(\mathbf{a}) = \lim_{h\to0}\frac{f(\mathbf{a} + h\mathbf{u}) - f(\mathbf{a})}{h}.

u=(1,0)\mathbf{u} = (1, 0)이면 fxf_x, u=(0,1)\mathbf{u} = (0, 1)이면 fyf_y입니다. 다른 방향의 기울기는 편미분 두 개로 계산됩니다.

정리 2.6. ff가 미분 가능하면(3장) Duf=fxu1+fyu2D_{\mathbf{u}}f = f_x u_1 + f_y u_2.

2.4 그래디언트

정의 2.7 (그래디언트). 편미분을 모은 벡터 ∇f=(∂f∂x1,…,∂f∂xn)\nabla f = \left(\dfrac{\partial f}{\partial x_1}, \dots, \dfrac{\partial f}{\partial x_n}\right)를 ff의 그래디언트(gradient)라 합니다.

∇\nabla는 “나블라(nabla)” 또는 “델”이라 읽습니다. 정리 2.6은 내적으로 Duf=∇f⋅uD_{\mathbf{u}}f = \nabla f\cdot\mathbf{u}라 쓸 수 있습니다.

정리 2.8 (가장 가파른 방향). ∇f(a)≠0\nabla f(\mathbf{a}) \ne \mathbf{0}이면

  1. DufD_{\mathbf{u}}f가 가장 큰 방향은 ∇f\nabla f의 방향이고, 그 최댓값은 ∥∇f∥\|\nabla f\|입니다.
  2. 가장 작은(가장 가파르게 내려가는) 방향은 −∇f-\nabla f입니다.
  3. ∇f\nabla f에 수직인 방향으로는 기울기가 0입니다.

증명. Duf=∇f⋅u=∥∇f∥∥u∥cos⁡θ=∥∇f∥cos⁡θD_{\mathbf{u}}f = \nabla f\cdot\mathbf{u} = \|\nabla f\|\|\mathbf{u}\|\cos\theta = \|\nabla f\|\cos\theta이고, cos⁡θ\cos\theta는 θ=0\theta = 0에서 1(최대), π\pi에서 −1-1(최소), π/2\pi/2에서 0입니다. □

함수와 학습률을 바꾸면 화살표(그래디언트)와 빨간 경로(그래디언트 반대로 걷기)가 바뀝니다. 그림을 누르면 그곳에서 출발합니다

이 위젯은 JavaScript가 필요합니다

예제 2.9. f(x,y)=x2+3y2f(x, y) = x^2 + 3y^2, 점 (1,1)(1, 1). ∇f=(2x,6y)=(2,6)\nabla f = (2x, 6y) = (2, 6). 가장 가파르게 오르는 방향은 (2,6)/∥(2,6)∥=(1,3)/10(2, 6)/\|(2, 6)\| = (1, 3)/\sqrt{10}이고 그 기울기는 40=210\sqrt{40} = 2\sqrt{10}입니다. 방향 (1,0)(1, 0)으로는 기울기 2, 방향 (3,−1)/10(3, -1)/\sqrt{10}으로는 6−610=0\frac{6 - 6}{\sqrt{10}} = 0입니다.

2.5 그래디언트와 등위선

정리 2.10. ∇f(a)\nabla f(\mathbf{a})는 a\mathbf{a}를 지나는 등위선(등위면)에 수직입니다.

증명. 등위선 위의 곡선 r(t)\mathbf{r}(t)에서 f(r(t))=cf(\mathbf{r}(t)) = c이고, 미분하면(3장의 연쇄법칙) ∇f⋅r′(t)=0\nabla f\cdot\mathbf{r}'(t) = 0입니다. r′\mathbf{r}'은 등위선의 접선 방향이므로 ∇f\nabla f는 그에 수직입니다. □

등고선 지도에서 물이 흐르는 방향(가장 가파른 내리막)이 등고선에 수직인 이유입니다. 곡면 F(x,y,z)=cF(x, y, z) = c의 법선벡터가 ∇F\nabla F라는 것도 이 정리이고, 이것으로 접평면을 구합니다.

예제 2.11. 구 x2+y2+z2=9x^2 + y^2 + z^2 = 9 위의 점 (1,2,2)(1, 2, 2)에서 접평면: ∇F=(2,4,4)\nabla F = (2, 4, 4)이므로 2(x−1)+4(y−2)+4(z−2)=02(x - 1) + 4(y - 2) + 4(z - 2) = 0, 곧 x+2y+2z=9x + 2y + 2z = 9입니다.

2.6 이 장의 요약

  • 편미분 ∂f/∂x\partial f/\partial x: 다른 변수를 상수로 두고 미분합니다.
  • ∇f\nabla f = 편미분의 벡터. 가장 가파르게 오르는 방향, 크기는 그 기울기.
  • Duf=∇f⋅uD_{\mathbf{u}}f = \nabla f\cdot\mathbf{u}. ∇f\nabla f는 등위선에 수직입니다.

쓰이는 곳. 머신러닝 논문의 ∇θL\nabla_\theta L은 손실을 파라미터로 편미분한 벡터이고, 학습은 θ←θ−η∇θL\theta \leftarrow \theta - \eta\nabla_\theta L(경사하강법, 5장)입니다. 물리에서는 퍼텐셜의 그래디언트가 힘(F=−∇U\mathbf{F} = -\nabla U)이고 전기장(E=−∇V\mathbf{E} = -\nabla V)입니다. 이미지 처리의 경계 검출도 밝기의 그래디언트를 씁니다.

문제

2.1 [계산] · 확인 문제

f(x,y)=x2y+exyf(x, y) = x^2y + e^{xy}의 점 (1,0)(1, 0)에서의 값을 씁니다.

값 답
fx(1,0)f_x(1, 0) [?]
fy(1,0)f_y(1, 0) [?]
fxy(1,0)f_{xy}(1, 0) [?]
정답
0
2
3
풀이

fx=2xy+yexyf_x = 2xy + ye^{xy}이므로 fx(1,0)=0f_x(1, 0) = 0. fy=x2+xexyf_y = x^2 + xe^{xy}이므로 fy(1,0)=1+1=2f_y(1, 0) = 1 + 1 = 2. fxy=∂∂y(2xy+yexy)=2x+exy+xyexyf_{xy} = \frac{\partial}{\partial y}(2xy + ye^{xy}) = 2x + e^{xy} + xye^{xy}이므로 fxy(1,0)=2+1+0=3f_{xy}(1, 0) = 2 + 1 + 0 = 3.

2.2 [계산] · 확인 문제

f(x,y)=x2+xy+y2f(x, y) = x^2 + xy + y^2의 점 (1,1)(1, 1)에서, 방향 u=(3/5,4/5)\mathbf{u} = (3/5, 4/5)로의 방향도함수는?

정답
21/5
풀이

∇f=(2x+y,x+2y)=(3,3)\nabla f = (2x + y, x + 2y) = (3, 3)이므로 Duf=3⋅35+3⋅45=215D_{\mathbf{u}}f = 3\cdot\frac35 + 3\cdot\frac45 = \frac{21}5입니다.

2.3 [계산] · 확인 문제

f(x,y,z)=xyzf(x, y, z) = xyz의 점 (1,2,3)(1, 2, 3)에서 가장 가파르게 증가하는 방향의 기울기(그 최댓값)는?

정답
7
풀이

∇f=(yz,xz,xy)=(6,3,2)\nabla f = (yz, xz, xy) = (6, 3, 2)이고 ∥∇f∥=36+9+4=7\|\nabla f\| = \sqrt{36 + 9 + 4} = 7입니다.

2.4 [계산]

곡면 z=x2+y2z = x^2 + y^2 위의 점 (1,1,2)(1, 1, 2)에서의 접평면을 z=ax+by+cz = ax + by + c로 쓸 때 cc는?

힌트 1

F(x,y,z)=x2+y2−z=0F(x, y, z) = x^2 + y^2 - z = 0으로 보고 ∇F\nabla F를 법선벡터로 씁니다.

정답
-2
풀이

∇F=(2x,2y,−1)=(2,2,−1)\nabla F = (2x, 2y, -1) = (2, 2, -1)이므로 2(x−1)+2(y−1)−(z−2)=02(x - 1) + 2(y - 1) - (z - 2) = 0, 곧 z=2x+2y−2z = 2x + 2y - 2입니다.

2.5 [증명]

정리 2.8을 써서, 점 a\mathbf{a}에서 ∇f(a)=0\nabla f(\mathbf{a}) = \mathbf{0}이 아니면 a\mathbf{a}는 ff의 극대점도 극소점도 아님을 보입니다.

풀이

∇f≠0\nabla f \ne \mathbf{0}이면 방향 u=∇f/∥∇f∥\mathbf{u} = \nabla f/\|\nabla f\|로의 방향도함수가 ∥∇f∥>0\|\nabla f\| > 0입니다. 그러므로 그 방향으로 조금 가면 ff가 커지고(극대가 아님), 반대 방향 −u-\mathbf{u}로 조금 가면 작아집니다(극소가 아님). 따라서 극값이 되려면 ∇f=0\nabla f = \mathbf{0}이어야 합니다(미분 가능할 때).