본문 바로가기

경사하강법3

라인서치 (Line Search) 방법 제약조건이 없는 최적화 문제 \[ \min_{\mathbf{x}}⁡ f(\mathbf{x}) \tag{1} \] 는 보통 초기 추측값 \(\mathbf{x}^{(0)}\) 에서 시작하여 이터레이션(iteration)을 통하여 일련의 중간 단계의 해 \(\mathbf{x}^{(k)}\) 를 구하며 점진적으로 최적해에 접근하는 방법을 취한다. 이터레이션의 다음 단계의 해 \(\mathbf{x}^{(k+1)}\) 는 현 단계 해 \(\mathbf{x}^{(k)}\) 에서 일정 스텝(step) \(\Delta \mathbf{x}^{(k)}\) 으로 일정한 스텝사이즈 \(\eta^{(k)}\) 만큼 이동시켜 구하게 된다. \[ \mathbf{x}^{(k+1)} = \mathbf{x}^{(k)} + \eta^{(k.. 2022. 4. 21.
SGD에서 데이터를 무작위로 추출해야 하는 이유 배치(batch) 경사하강법은 학습 데이터 전체를 사용해서 손실함수(loss function)의 그래디언트(gradient)를 계산하고 신경망 파라미터를 업데이트한다. 반면에 확률적 경사하강법(SGD, stochastic gradient descent)은 전체 데이터에 비해 훨씬 적은 수의 데이터를 무작위로 추출하고 그 데이터만으로 손실함수의 그래디언트를 계산한 후 신경망 파라미터를 업데이트한다. 확률적(stochastic)이라는 용어는 데이터를 무작위로 추출한다는 뜻에서 나온 말이다. 그러면 왜 데이터를 무작위로 추출해야 할까. 대부분 신경망 학습 알고리즘은 손실함수를 정하는 것으로 시작한다. 손실함수를 \( \mathcal{L}(\mathbf{\theta} \ ; (\mathbf{x}^{(i )}, .. 2021. 1. 4.
경사하강법 제약조건이 없는 일반적인 최적화 문제는 다음과 같다. \[ p^* = \min_{\mathbf{x}} f(\mathbf{x}) \] 또는, \[ \mathbf{x}^* = \arg \min_{\mathbf{x}} f(\mathbf{x}) \] 여기서 \( \mathbf{x} \in R^n \) 은 최적화 변수이고, \( f(\mathbf{x}) \)은 목적함수(objective function)이다. 대부분 신경망 학습 알고리즘은 손실함수(loss function)를 정하거나 최적화를 위한 목적함수를 만드는 것으로 시작한다. 경사하강법(gradient descent) 또는 경사상승법(gradient ascent)은 목적함수를 최소화(minimization)하거나 최대화(maximization)하기 위해 .. 2020. 9. 30.