본문으로 바로가기

에포크와 배치(Epoch and Batch)

category AI/딥러닝 기초 2019. 10. 12. 18:08
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.





[에포크와 배치]


모든 훈련 데이터를 1회 학습하는 것을 1에포크(epoch)라고 함.

훈련 데이터의 샘플은 여러개로 묶여서 학습 되는데 이 샘플의 묶음을 배치(batch)라고 함.

1 epoch 에 이용되는 훈련 데이터는 여러 개의 batch로 분할됨.



배치 사이즈(batch size)는 하나의 batch에 포함되는 샘플의 수.

가중치와 편향을 수정하는 간격이라고도 함.

배치 사이즈가 너무 크면 학습 속도가 느려지고, 너무 작으면 각 실행값의 편차가 생겨 전체 결과값이 불안정해질 수 있음.

따라서 배치 사이즈는 학습 효율에 큰 영향을 주기 때문에 중요함.




[배치 사이즈에 따른 학습의 종류]



1. 배치 학습 


배치 사이즈 == 전체 훈련 데이터의 수


1 epoch (전체 데이터를 한번다보고)마다 가중치와 편향을 수정.

일반적으로 안정된 학습이 진행되고 다른 두 종류의 학습에 비해 속도는 빠르지만 국소 최적해에 빠지기 쉬움.



[배치 학습에서의 오차]

N은 훈련 데이터의 수, Ei는 개별 데이터의 오차.



[가중치의 기울기]

개별 데이터마다 가중치 기울기를 계산하고 그 합계를 구하면 됨.




2. 온라인 학습(on-line)


배치 사이즈 == 1


개별 샘플마다 가중치와 편향을 수정.

안정성이 떨어지지만 국소 최적해에 빠지는 것을 방지할 수 있음.




3. 미니 배치 학습(mini batch)


배치 사이즈 == 최적의 수


훈련데이터를 작은 그룹(batch)로 분할하고 그룹마다 가중치와 편향을 수정.

무작위로 배치를 선택함. --> 상대적으로 국소 최적해에 잘 빠지지 않음.



여기서 n은 전체 훈련데이터 수인 N 보다 작거나 같음.


일반적으로 n은 100을 많이 사용함.








'AI > 딥러닝 기초' 카테고리의 다른 글

최적화 알고리즘(Optimizer)  (0) 2019.10.12
은닉층 기울기 구하기  (0) 2019.10.12
출력층 기울기 구하기  (0) 2019.10.12
경사 하강법(Gradient Descent)  (0) 2019.10.12
손실함수(Loss function)  (1) 2019.10.11