일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- matplot
- 에이블러
- 빅데이터분석기사
- 프로그래머스
- 에이블스쿨
- dx
- ggplot2
- 한국전자통신연구원
- r
- httr
- 소셜네트워크분석
- KT 에이블스쿨
- 다변량분석
- 시계열
- 빅분기
- SQL
- 지도학습
- 기계학습
- 시각화
- python
- cnn
- 딥러닝
- 웹크롤링
- Ai
- Eda
- kt aivle school
- hadoop
- 에트리 인턴
- KT AIVLE
- 머신러닝
- SQLD
- 서평
- arima
- 하계인턴
- 가나다영
- kaggle
- ETRI
- 하둡
- ML
- 한국전자통신연구원 인턴
- Today
- Total
소품집
[DL] 배치(batch)와 에포크(epoch), 반복(iteration) 본문
이번 포스팅은 배치(batch)와 에포크(epoch), 반복(iteration)의 차이를 학습하겠습니다. 딥러닝을 하기 위해 모델을 학습할 때 부여하는 각각의 파라메터에 반복하는 횟수입니다.
batch size
batch size란 전체 트레이닝 데이터 셋을 여러 작은 그룹으로 나누었을 때 batch size는 하나의 소그룹에 속하는 데이터 수를 의미합니다.
만약 배치 사이즈가 너무 크면 한 번에 처리해야할 양이 그만큼 증가하기 때문에 학습 속도가 느려지고, 메모리 부족 문제를 겪을 수도 있습니다. 반대로 배치 사이즈가 너무 작으면 적은 샘플을 참조해서 가중치 업데이트가 빈번하게 일어나기 때문에, 비교적 불안정하게 훈련될 수도 있습니다.
따라서 배치 사이즈를 적절하게 부여하여 효율적인 학습을 해야합니다.
epoch
딥러닝에서는 epoch은 전체 트레이닝 셋이 신경망을 통과한 횟수입니다. 예를 들어 1-epoch는 전체 트레인이 셋이 하나의 신경망에 적용되어 순전파와 역전파를 통해 신경망을 한 번 통과했다는 것을 의미합니다.
iteration
마지막으로 iteration은 1-epoch을 마치는데 필요한 미니배치 개수를 말한다. 다른 말로, 1-epoch를 마치는데 필요한 파라미터 업데이트 횟수입니다. 예를 들어, 700개의 데이터를 100개씩 7개의 미니배치로 나누었을 때, 1-epoch를 위해서는 7-iteration이 필요하며 토탈 7번의 파라미터 업데이트가 일어납니다.
예시
총 1000개의 훈련 샘플이 있는데, 배치 사이즈가 20이라면 20개의 샘플 단위마다 모델의 가중치를 한 번씩 업데이트가 일어납니다. 따라서 총 50번의 가중치가 업데이트 됩니다.
이때 에포크가 10이면, 가중치를 50번 업데이트 하는 것을 10번 반복한다는 뜻이고, 총 10*50 = 500번의 가중치 업데이트!
출처
https://losskatsu.github.io/machine-learning/epoch-batch/#1-사전적-의미
'AI' 카테고리의 다른 글
[DL] CNN, Convolution Neural Network 요약 (0) | 2021.10.01 |
---|---|
[DL] CNN Convolution(padding, stride) (0) | 2021.09.30 |
[DL] 퍼셉트론, 인공 신경망 기본 (0) | 2021.09.28 |
[Kaggle] 영업사원 통장 입금 내역 시각화 (0) | 2021.02.03 |
[python] pandas 패키지 모음 (0) | 2020.10.16 |