https://link.coupang.com/a/rGMRQ
경사하강법(gradient descent)을 통해 결과를 내기 위해서 여러번의 최적화 과정을 거쳐야 하는 알고리즘을 iterative 하다고 한다.
아래 그림과 같이 반복해서 많은 양의 데이터 학습을 진행할 때, 보통 한번에 최적화된 값을 찾기는 힘듭니다.
그렇기에 머신러닝에서 최적화(optimization)를 하기 위해 여러번의 학습 과정을 거칩니다.
또한 한번에 모든 양의 데이터를 넣지 않고 데이터를 나눠서 학습시키는데 이때 등장하는 개념이 batch size , epoch , iteration 입니다.
1. 에폭(epoch)
: One Epoch is when an ENTIRE dataset is passed forward and backward through the neural network only ONCE
(한 번의 epoch는 인공 신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을 거친 것을 말함. 즉, 전체 데이터 셋에 대해 한 번 학습을 완료한 상태)
역전파 알고리즘(backpropagation algorithm)은 입력부터 출력까지의 각 계층 weight 계산을 해주는 순방향 패스와, 거슬러 올라가며 다시 한번 계산하여 기존 weight를 수정하는 역방향 패스로 나뉩니다. 이 때 1 epoch은 순방향 + 역방향 한번을 포함한 의미입니다.
+ 적절한 epoch을 설정해야 underfitting 과 overfitting을 방지할 수 있습니다. epoch이 너무 크다면 overfitting 이, 너무 작다면 underfitting이 발생할 수 있습니다.
2. 배치사이즈(batch size)
: Total number of training examples present in a single batch.
(batch size는 한 번의 batch마다 주는 데이터 샘플의 size.)
이 때, batch(보통 mini-batch라고 부름) 는 나눠진 데이터 셋을 의미합니다.
예를 들어, 700개의 이미지로 이뤄진 데이터셋이있는데, 우리가 7번에 걸쳐서 학습시킨다면 7개의 배치를 만들어서 학습시킵니다.
배치 사이즈는 700개를 7번의 배치로 나눠서 학습시키므로 100개가 됩니다.
3. 반복(Iteration)
: The number of passes to complete one epoch.
(iteration는 epoch을 나누어서 실행하는 횟수)
즉, iteration은 1 epoch을 마치는데 필요한 미니배치 갯수를 의미합니다. 다른 말로는 1epoch을 마치는데 필요한 파라미터 업데이트 횟수를 의미하기도 합니다.
정리
만약 10,000개의 데이터셋을 학습시킨다고 치자. (여기서 학습은 순방향 역방향 둘 다 포함)
메모리 한계 및 성능을 고려하여 나눠서 학습을 시킬 겁니다.
이 때, 한 턴에 1,000개씩 10번 , 5턴을 학습시킨다고 하면, batch_size = 1,000 / iteration = 10 /epoch = 5입니다.
P.S) 미니 배치 사이즈를 조절하는 것이 모델에 어떠한 영향을 미치는 지에 대해 여러가지 논문들이 있다.
각 모델이나 상황별로 다르겠지만, 일반적으로 미니 배치 사이즈를 크게하면 peak-acc 값을 높일 수 있지만 , 미니배치 사이즈를 작게 가져가는 것이 전반적인 정확도의 안정성을 높일 수 있다.
참고자료
https://link.coupang.com/a/rGMRQ
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'머신러닝 & 딥러닝 공부 > 호기심 기록' 카테고리의 다른 글
옵티마이저 비교 (AdamW , RAdam , AdamP) 및 간단 사용법 (0) | 2021.08.28 |
---|---|
[딥러닝] 왜 CNN의 Input_shape 은 4D일까? (0) | 2021.04.23 |
[Librosa] 음성인식 기초 및 음악분류 & 추천 알고리즘 (13) | 2021.04.15 |
[BeautyGAN] 화장해주는 인공지능 구현 (4) | 2021.03.31 |
나를 위한 딥러닝 용어정리 (0) | 2021.01.19 |