https://fastcampus.co.kr/data_online_aideep
1. Taylor Series 전개
Multivariate Scalar Function $L(\textbf{w})$를 $\textbf{w} = \textbf{w}_{k}$에서 1차항까지만 Taylor Series 전개하자
- $\textbf{w}_{k} = \left [ \textbf{w}_{k, 1}, \textbf{w}_{k, 2}, \cdots \right ]$
- $\textbf{w}_{k}$은 특정 위치에서의 Vector이다
$L(\textbf{w}) = c_{0} + c_{1,1}(\textbf{w}_{1}- \textbf{w}_{k,1}) + c_{1,2}(\textbf{w}_{2}- \textbf{w}_{k,2}) + \cdots$
$=c_{0} + \left [ \textbf{w}_{1} - \textbf{w}_{k, 1} , \textbf{w}_{2} - \textbf{w}_{k, 2}, \cdots \right ] \cdot \begin{bmatrix}
c_{1,1} \\ c_{1,2}
\\ \cdots
\end{bmatrix}$
이때, $c_{1, n} = \left.\begin{matrix} \frac{\partial L}{\partial \textbf{w}_{n} }
\end{matrix}\right|_{\textbf{w}_{n} = \textbf{w}_{n, k}}$ 가 성립하므로
$ \simeq c_{0} + (\textbf{w} - \textbf{w}_{k}) \left.\begin{matrix}
\frac{\partial L}{\partial \textbf{w}^{T}}\end{matrix}\right|_{\textbf{w} = \textbf{w}_{k}}$ 이 된다
즉, 두 Vector의 내적 형태로 표현이 된다
$(\textbf{w} - \textbf{w}_{k})$와 $\left.\begin{matrix}
\frac{\partial L}{\partial \textbf{w}}\end{matrix}\right|_{\textbf{w} = \textbf{w}_{k}}$ 의 내적이다
2. Gradient가 해당 지점에서 Steepest Ascent인 이유 - 1
FLOW
Gradient의 방향으로 $\Delta$를 업데이트해야 함수값이 최대로 증가한다 ->
즉 Gradient의 방향이 해당 지점에서 가장 가파른 방향을 향한다
- Gradient는 '주체' 가 아니라 '대상'의 의미로 생각한다
- Graident '가' 가 아니라 Gradient '의'로 생각
$L(\textbf{w}) \simeq L(\textbf{w}_{k}) + (\textbf{w} - \textbf{w}_{k}) \left.\begin{matrix}
\frac{\partial L}{\partial \textbf{w}^{T}}\end{matrix}\right|_{\textbf{w} = \textbf{w}_{k}}$ 이므로
여기서 $\textbf{w}_{k}$에서 조금 update한 $\textbf{w}_{k+1} = \textbf{w}_{k} + \Delta$을 대입하자
$L(\textbf{w}_{k+1}) \simeq L(\textbf{w}_{k}) + \Delta \left.\begin{matrix}
\frac{\partial L}{\partial \textbf{w}^{T}}\end{matrix}\right|_{\textbf{w} = \textbf{w}_{k}}$ 인데,
$\Delta$ 또한 Vector 이므로
$L(\textbf{w}_{k+1}) - L(\textbf{w}_{k}) \simeq \Delta \left.\begin{matrix}
\frac{\partial L}{\partial \textbf{w}^{T}}\end{matrix}\right|_{\textbf{w} = \textbf{w}_{k}}$이며
우변은 $\Delta$ Vector 와 Gradient와의 내적이다
Gradient의 방향만 확인하기 위해 편의상 $\Delta$의 크기를 1로 고정시키면,
$L(\textbf{w}_{k+1}) - L(\textbf{w}_{k})$가 최대가 될 때는 $\Delta$를 Gradient 방향으로 업데이트 할 때이다
Gradient의 방향으로 $\Delta$를 업데이트해야 함수값이 최대로 증가한다 ->
즉 Gradient의 방향이 해당 지점에서 가장 가파른 방향을 향한다
3. Gradient가 해당 지점에서 Steepest Ascent인 이유 - 2
필자는 2번 방법이 더 쉽게 이해가 됐다
임의의 Multivariate scalar function V에 대하여
$dV = \frac{\partial V}{\partial x} dx + \frac{\partial V}{\partial y} dy + \frac{\partial V}{\partial z} dz$
$= d\textbf{l} \cdot \frac{\partial V}{\partial \mathbf{l}} = d\textbf{l} \frac{\partial V}{\partial \textbf{l}^{T}}$
이때, Gradient는 Scalar이므로 Gradient $ \textbf{G}$를 다음과 같이 정의하자
$ \textbf{G} = \frac{\partial V}{\partial \mathbf{l}} $ 라 하면
$dV = \textbf{G} \cdot d\textbf{l} = \left|\textbf{G} \right| \left| d\textbf{l}\right|cos\theta$ 다음과 같이 정리할 수 있다
$\frac{\mathrm{d} V}{\mathrm{d} l} = \left| \textbf{G} \right| cos\theta$ 가 되므로
$\left.\begin{matrix}
\frac{\mathrm{d} V}{\mathrm{d} l}\end{matrix}\right|_{max} = \frac{\mathrm{d} V}{\mathrm{d} n} = G$이 된다
즉, $\theta = 0$일 때 Gradient가 정의되는데 이때 $d\textbf{l}, \textbf{G}$ 두 Vector가 같은 방향일 때 $\frac{\mathrm{d} V}{\mathrm{d} l}$가 최대이다
Gradient $\textbf{G}$의 방향으로 $d\textbf{l}$를 업데이트해야 함수값이 최대로 증가한다 ->
즉 Gradient의 방향이 해당 지점에서 가장 가파른 방향을 향한다