Reference
https://iai.postech.ac.kr/teaching/machine-learning
https://iai.postech.ac.kr/teaching/deep-learning
위 링크의 강의 내용에 기반하여 중요하거나 이해가 어려웠던 부분들을 정리하여 작성하였고,
모든 강의 슬라이드의 인용은 저작권자의 허가를 받았습니다.
또한, 모든 내용은 아래 Notion에서 더 편하게 확인하실 수 있습니다.
>>노션 링크<<
Gradient Descent
그러나 매번 편미분을 통해 gradient = 0인 지점을 찾는 것은 매번 analytical solution이 존재하는 것은 아니므로, iterative한 방식을 사용한다.
⇒ gradient descent
1-dimension의 예시에서 볼 때, gradient>0이면 왼쪽으로, gradient<0이면 오른쪽으로 이동하며 min값을 찾는 것을 확인할 수 있음.
이러한 방식으로, 특정한 learning rate $\alpha$를 지정하고, 특정 지점의 gradient에 따라 갱신해 나가며 minimum point를 탐색.
이 때, learning rate $\alpha$가 너무 작다면, converge하기까지 너무 오래 걸리며,
너무 크다면, overshooting이 일어날 수 있다. 적당한 값을 설정해야 함.
이 때, Gradient Descent를 통해 Convex function에 대해서는 local min = global min이므로, optimal solution을 항상 찾을 수 있지만,
Non-convex function에서는 여러 local min이 존재하여 한 번의 시도로 optimal solution이 찾아지지 않음.
⇒ random한 init값을 설정하여 여러 번 시도함으로써 해결할 수 있다.
고차원에서도 동일함.
이 때는 1차원에서와 달리 기울기가 아닌, Gradient 개념이 활용되면 된다.
이러한 Gradient = 해당 point에서 기울기가 가장 가파른 방향 을 뜻하기 때문에, 그렇게 진행할 수 있음.