본문으로 바로가기
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