sgd6 Optimization 심화 : SGD (3) 모바일 앱 환경에서는 latex 수식이 깨져 나타나므로 가급적 웹 환경에서 봐주시길 바랍니다. 다음과 같은 Finite sum 꼴의 optimization problem을 정의하자. $\min f(x) := \sum_{i=1}^n f_i(x)$ 여기서 $i$는 data index를 의미한다. 먼저 L-smooth의 descent lemma에서 시작하자. 함수 $f$가 L-smooth함은 다음을 의미한다. $\lVert \nabla f(x) - \nabla f(y) \rVert \le L \lVert x - y \rVert$ 모든 $x, y$에 대해서 $f$의 Gradient가 L-Lipshitz continuous할 때 우리는 함수 $f$가 L-smooth하다고 한다. 그리고 함수 $f$가 2번 미분 가.. 2023. 8. 26. Optimization 심화: SGD (2) 모바일 앱 환경에서는 latex 수식이 깨져 나타나므로 가급적 웹 환경에서 봐주시길 바랍니다. 오늘은 stochastic gradient의 noise에 대한 개념에 대해 살펴보고자 한다. 먼저 $f(x)$가 L-smooth하고 convex할 때 가지는 성질에 대해 알고 넘어가자. $\frac{1}{2L} \lVert \nabla f(y) - \nabla f(x) \rVert^2 \le f(y) - f(x) - \langle \nabla f(x), y - x \rangle$ $\frac{1}{L} \lVert \nabla f(x) - \nabla f(y) \rVert^2 \le \langle \nabla f(y) - \nabla f(x), y - x \rangle$ 이 중 아래의 식을 Co-coercivi.. 2023. 8. 20. Optimization 심화 1 : SGD (1) 모바일 환경에서는 latex이 깨져 나타나므로, 가급적 웹 환경에서 봐주시길 바랍니다. 오늘부터는 Optimization에 대한 조금 더 깊이 있게 들어가보고자 한다. 그 첫 번째 주제로 SGD를 선택하였다. SGD에 대한 기본적인 내용의 글은 다음의 링크들을 참고하면 된다. https://kyteris0624.tistory.com/22 Deep dive into optimization : Gradient descent (2) "모바일 앱 환경에서는 latex이 깨져 나타나므로, 가급적 웹으로 봐주시길 바랍니다." 지난 포스팅에서는 Gradient descent 알고리즘이 어떻게 나오게 되었는지를 설명하였다. $t+1$번째 iteration (step)에 kyteris0624.tistory.com htt.. 2023. 8. 14. Deep dive into optimization: Gradient descent (3) - Updated "모바일 앱 환경에서는 latex이 깨져서 나타나므로, 가급적 웹으로 봐주시길 바랍니다." 지난 포스팅에서는 gradient descent, stochastic gradient descent, Mini-batch gradient descent에 대해서 이야기를 진행하였고, 오늘은 이 알고리즘이 실제로 optimal point로 수렴하는지, 그리고 그 속도는 어떻게 되는지를 수식으로 살펴보고자 한다. 먼저 Gradient descent부터 시작하자. Objective function $f$가 convex하고 $\beta$-smooth하다고 가정하자.그리고 $(x_t)_{t \ge 0}$이 Gradient descent iteration에 의해 생성되는 sequence라고 하고 step-size는 $0 \l.. 2023. 3. 23. Deep dive into optimization : Gradient descent - Updated "모바일 앱 환경에서는 latex이 깨져 나타나므로, 가급적 웹으로 봐주시길 바랍니다." 지난 포스팅에서는 Gradient descent 알고리즘이 어떻게 나오게 되었는지를 설명하였다.$t+1$번째 iteration (step)에서의 파라미터 $w_{t+1}$는 다음과 같이 업데이트가 진행된다.$w_{t+1} = w_t - \eta \nabla f(w_t)$ 이때 $\nabla f(w_t) := \frac{1}{n} \sum_{i=1}^n \nabla f_i(w_t)$이므로, 모든 training data를 활용해서 Loss 값 $f(w_t)$를 계산하고 이를 backpropagation 알고리즘을 통해 $\nabla f(w_t)$를 구하는 것이 gradient descent이다. 하지만 이 방법은 현.. 2023. 3. 20. 이전 1 2 다음