[에포크와 배치]
모든 훈련 데이터를 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 |