참고자료
[1] https://ruder.io/optimizing-gradient-descent/index.html#gradientdescentvariants
[2] https://light-tree.tistory.com/133
경사 하강법이란 최적의 예측 모델을 만들기 위해서 실제 값과 예측값과의 에러가 최소가 되도록 조정해 나가는 방법이다. 즉, 비용함수(Cost Function)을 이용하여 예측 모델이 최소가 되도록 파라미터를 학습과정에서 변경해 나가는 것이다.
배치 경사 하강법(Batch Gradient Decent)은 전체 데이터 셋에 대한 에러를 구한뒤 기울기를 한번만 계산하여 모델의 파라미터를 업데이트 하는 방법을 말한다.
여기서 한번의 의미는 일반적으로 생각하는 배치(batch)단위가 아닌 전체 데이터 셋이라는 점이다.
즉, 전체 데이터 셋에 대한 손실을 계산하고 그래디언트(Gradient)의 반대 방향으로 매개 변수를 개선하여 얼마나 큰 업데이트를 수행 할지를 학습 속도(Learning-Rate)를 이용하여 진행한다.
<BGD의 장점>
-
전체 학습데이터에 대해 한번의 업데이트가 이루어지기 때문에 전체적인 연산횟수가 적다.
-
전체 데이터에 대해 그래디언트를 계산하여 진행하기 때문에, 최적으로의 수렴이 안정적으로 진행된다.
<BGD의 단점>
-
한 스텝에 모든 학습데이터를 사용하기 때문에 학습이 오래 걸린다.
-
지역 최적화(Local optimal) 상태가 되면 빠져나오기 힘들다.
-
모델 파라미터의 업데이트가 이루어 지기 전까지 모든 학습데이터에 대해 저장해야 하기 때문에, 많은 메모리가 필요하다.
'Image processing > Deep-learning' 카테고리의 다른 글
[Deep Learning] 입력 데이터에서 데이터 정규화를 하는 이유 (0) | 2020.01.07 |
---|---|
[Pytorch] 선형 레이어와 비선형 레이어 (0) | 2019.12.26 |
[Deep Learning] 확률적 경사 하강법(Stochastic Gradient Descent) (0) | 2019.12.10 |
[Pytorch] 딥러닝 신경망에서 사용되는 기본 구조 (0) | 2019.11.12 |
[Pytorch] 차원에 따른 Tensor (0) | 2019.03.24 |