Image processing/Deep-learning

[Deep Learning] 배치 경사 하강법(Batch Gradient Decent)

유니디니 2019. 12. 10. 11:42
728x90
반응형

참고자료 

[1] https://ruder.io/optimizing-gradient-descent/index.html#gradientdescentvariants

 

An overview of gradient descent optimization algorithms

Gradient descent is the preferred way to optimize neural networks and many other machine learning algorithms but is often used as a black box. This post explores how many of the most popular gradient-based optimization algorithms such as Momentum, Adagrad,

ruder.io

[2] https://light-tree.tistory.com/133

 

딥러닝 용어정리, MGD(Mini-batch gradient descent), SGD(stochastic gradient descent)의 차이

제가 공부한 내용을 정리한 글입니다. 제가 나중에 다시 볼려고 작성한 글이다보니 편의상 반말로 작성했습니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. MGD(Mini-batch gradient descent), SGD(st..

light-tree.tistory.com

 

경사 하강법이란 최적의 예측 모델을 만들기 위해서 실제 값과 예측값과의 에러가 최소가 되도록 조정해 나가는 방법이다. 즉, 비용함수(Cost Function)을 이용하여 예측 모델이 최소가 되도록 파라미터를 학습과정에서 변경해 나가는 것이다. 

 

배치 경사 하강법(Batch Gradient Decent)은 전체 데이터 셋에 대한 에러를 구한뒤 기울기를 한번만 계산하여 모델의 파라미터를 업데이트 하는 방법을 말한다. 

 

여기서 한번의 의미는 일반적으로 생각하는 배치(batch)단위가 아닌 전체 데이터 셋이라는 점이다.

 

즉, 전체 데이터 셋에 대한 손실을 계산하고 그래디언트(Gradient)의 반대 방향으로 매개 변수를 개선하여 얼마나 큰 업데이트를 수행 할지를 학습 속도(Learning-Rate)를 이용하여 진행한다. 

 

<BGD의 장점>

  • 전체 학습데이터에 대해 한번의 업데이트가 이루어지기 때문에 전체적인 연산횟수가 적다. 

  • 전체 데이터에 대해 그래디언트를 계산하여 진행하기 때문에, 최적으로의 수렴이 안정적으로 진행된다. 

 

<BGD의 단점>

  • 한 스텝에 모든 학습데이터를 사용하기 때문에 학습이 오래 걸린다. 

  • 지역 최적화(Local optimal) 상태가 되면 빠져나오기 힘들다. 

  • 모델 파라미터의 업데이트가 이루어 지기 전까지 모든 학습데이터에 대해 저장해야 하기 때문에, 많은 메모리가 필요하다.  

반응형