https://fastcampus.co.kr/data_online_aideep
혁펜하임의 AI DEEP DIVE (Online.) | 패스트캠퍼스
카이스트 박사, 삼성전자 연구원 출신 인플루언서 혁펜하임과 함께하는 AI 딥러닝 강의! 필수 기초 수학 이론과 인공지능 핵심 이론을 넘어 모델 실습 리뷰까지 확장된 커리큘럼으로 기초 학습
fastcampus.co.kr
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의 방향이 해당 지점에서 가장 가파른 방향을 향한다