🖼 Computer Vision/CNN
CNN - SGD, Mini-Batch GD
U-chan Seon
2022. 1. 19. 15:51

📌 이 글은 권철민님의 딥러닝 CNN 완벽 가이드를 바탕으로 정리한 내용입니다.
목차
- SGD와 Mini-Batch GD
- SGD와 Mini-Batch GD의 비교
SGD(Stochastic Gradient Descent) 와 Mini-Batch GD
Gradient Descent는 전체 학습데이터를 기반으로 Gradient Descent를 계산한다.
하지만 입력 데이터가 크고 레이어의 갯수가 많을수록 GD를 계산하는데에 많은 자원이 소모된다. 즉 시간이 오래 걸린다.
Weight가 굉장히 많기 때문에 CPU로는 무리이다. 적은 weight는 상관없는데 일반적인 케이스는 그렇지 않다.
이를 극복하기 위한 여러가지 방법이 있는데, 그 중에서 많은 데이터 중 한 건만 가지고 weight 값을 업데이트 하는 방법인 SGD 가 있다.
또 정확도가 그래도 떨어지는 감이 있어서 임의로 특정 크기만큼 계산하는 방법도 있다. Mini-Batch GD 이다.
일반적으로 Mini-Batch GD 가 쓰인다.

SGD 와 Mini-Batch GD 비교
SGD 지그재그 방식으로 하면 범위가 높아지고 수렴이 어렵다
Mini-Batch는 지그재그 현상이 작기 때문에 수렴하는데 수월하게 찾아갈 수 있다.
Mini-Batch가 어떻게 Batch 크기만큼 나눠서 GD를 계산하는지 보자.
전체 학습 데이터에서 100건을 가져와서 iteration 반복하는 식으로 계산한다.