본문 바로가기

경사하강법

[Deep Learning] 신경망 기초 4; 확률적 경사하강법(SGD; Stochastic Gradient Descent) & Optimizer 무작위로 뽑은 하나의 관측값 마다 기울기를 계산하고 바로 가중치를 업데이트 한다. 기존에 사용한 경사하강법은 배치(batch)방법인데, 모든 관측치를 가지고 기울기를 다 계산한 다음에 가중치를 업데이트했었다. 그와 다르게 SGD는 관측치 마다 가중치를 업데이트 하기 때문에 학습이 빠르게 진행되는 장점이 있다. 데이터 샘플이 많아질 수록 SGD가 빠르게 학습이 된다. 단점: 학습 과정 중 손실함수 값이 변동이 심하다. 완화 하는 방법으로 배치방법과 SGD를 합친 Mini-batch 경사하강법을 사용할 수 있다. 경사하강법의 변형들 경사하강법 알고리즘들은 다음과 같습니다. 1) Stochastic Gradient Descent(SGD) 2) SGD의 변형된 알고리즘들(Momentum, RMSProp, Ada.. 더보기
[수학] 경사하강법 (Gradient Descent) 미분을 사용하는 최적화 알고리즘의 대표적인 예시 경사하강법 (Gradient Descent)은 위에서 거론 됐던 오차 함수인 error (𝜀) 을 최소화 하는 𝑎,𝑏 를 찾을 수 있는 최적화 알고리즘 중의 하나. 최적의 a,b를 찾기 위해선 미분계수가 0인 곳을 찾으면 된다. 하지만 현실적으로 우리가 앞으로 다루게 될 문제에선 파라미터의 갯수는 수없이 많을 것이고 하나의 minimum/maximum만이 존재하지 않는 상황에 직면한다. 경사하강법은 임의의 a, b를 선택한 후 (random initialization)에 기울기 (gradient)를 계산해서 기울기 값이 낮아지는 방향으로 진행. 기울기는 항상 손실 함수 값이 가장 크게 증가하는 방향으로 진행합니다. 그렇기 때문에 경사하강법 알고리즘은 기울기.. 더보기