questionet

batch, mini_batch와 epoch 본문

Learning questions/헷갈리는 것들

batch, mini_batch와 epoch

orthanc 2021. 2. 2. 00:48

딥러닝에서의 배치
모델의 가중치를 한번 업데이트 시킬 때 사용되는 샘플들의 묶음

딥러닝에서의 에포크
학습의 횟수

예를 들어,
1 총 1000개의 훈련샘플이 있고 배치 사이즈가 20이면
   20개 샘플 단위마다 모델의 가중치를 한번씩 업데이트
   따라서 총 50번 가중치가 업데이트 된다 

2 이제 배치 사이즈는 그대로 두고 에포크를 10으로 하면 
  가중치 50번 업데이트를 10번 반복
  바꿔 말하면, 각 데이터 샘플이 총 10번씩 사용
  결과적으로 가중치가 총 500번 업데이트 된다.

3 에포크가 20이고 배치사이즈가 1이면
   1000개를 하나의 단위로 보니까
   가중치는 총 20번 업데이트 된다.

뭔가 설명이 좀 구리다. 보충이 필요하다

배치와 관련된 문제
배치사이즈가 너무 크면 한번에 처리해야할 양이 많아져서
학습속도가 느려지고 메모리 부족문제가 생길 수도 있다.
이 때는 배치 사이즈를 조금 줄여서 훈련셋을 더 많은 배치로 나눠서 훈련시키는 게 좋다. 
이렇게 하면 시간이 더 걸린다.

반대로 배치사이즈가 너무 작으면 너무 적은 샘플을 참고해서 가중치가 자주 업데이트돼
비교적 불안정하게? 훈련이 된다

풀배치, 미니배치, BGD, SGD, 데이터 샘플링 개념 설명 추가할 것

Comments