Mini Batch Gradient Descent

Mini Batch Gradient Descent를 알아보겠습니다.


Mini Batch Gradient Descent는 Gradient Descent의 한 종류입니다.

우리가 일반적으로 사용하는 Gradient Descent는 Batch Gradient Descent라고 부르기도 합니다.
Batch Gradient Descent는 가지고 있는 모든 데이터를 한 번에 학습시키는 것을 말합니다.
10,000 개의 자료가 있다면, 10,000 개를 전부 입력 데이터로 넣는 것이죠.

Mini Batch Gradient Descent는 일부분씩 나눠서 넣는 것입니다.
10,000 개의 자료가 있다면, 24 개씩 넣는 것처럼 전체 데이터를 작게 나눠서 넣은 후, 작은 부분들의 Gradient Descent를 진행하는 것입니다. 이렇게 하면 좋은 점은, 전체 데이터를 집어넣고 학습하는데 걸리는 시간보다 짧다는 것입니다.

Mini Batch에 사용하는 크기는 2의 배수로 많이 사용합니다. 컴퓨터 메모리가 2의 배수이기 때문이죠.
24, 32, 64, 128, 256, 512. 1024 등...

CPU와 GPU의 메모리에 알맞은 크기가 아니라면 속도는 느려질 것입니다.
그래서 적절한 크기를 찾는 게 좋습니다.


끝.

카테고리: Machine learning

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python OpenCV 빈 화면 만들기

tensorflow tf.random.uniform()

Android Notification with Full Screen

KiCad 시작하기 2 (PCB 만들기)

Android Minimum touch target size

Python bs4.SoupStrainer()

KiCad 시작하기 4 (기존 회로도 수정 및 추가)

음악 총보(Score), 파트보(Part)

tensorflow tf.expand_dims()