본문 바로가기
Archive/ML & DL

[ML] 배치 학습 vs 온라인 학습

by 다람이도토리 2021. 6. 3.

참고(1) : https://gooopy.tistory.com/123
참고(2) : https://stickie.tistory.com/44

배치학습

배치학습이란, 시스템이 점진적으로 학습하지 않고, 가용한 데이터를 모두 사용해 훈련하는 학습법이다.
즉, 시스템을 훈련시키고 그런 다음 제품 시스템에 적용하면 더 이상의 학습 없이 실행된다. 즉 학습한 것을 단지 적용만 하는 것으로, 오프라인 학습(Offline Learning)이라고도 한다.

배치학습의 경우, 새로운 데이터에 대해 학습하기 위해서는 전체 데이터를 사용하여 시스템의 새 버전을 다시 처음부터 훈련해야 한다.

 

온라인학습

반면, 온라인 학습의 경우에는 데이터를 순차적으로 1개씩 혹은 미니배치라고 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다. 매 학습 단계가 빠르고 비용이 적게 든다. 시스템은 데이터가 도착하는 즉시 학습이 가능하다.

이 학습법의 경우, 빠른 변화에 스스로 적응해야 하는 시스템에 적합하다.

주의사항! 전체 프로세스 자체는 오프라인으로 실행된다. 실시간 시스템에서 수행되는 것은 아니다. 따라서 온라인 학습 대신, 점진적 학습이라고 사용하기도 한다.

온라인 학습에서 중요한 파라미터 중 하나는, 데이터에 얼마나 빠르게 적응할 것인지이고, 이는 학습률이라고 한다.

- 학습률이 높을 때 : 시스템은 데이터에 빠르게 적응하나, 예전 데이터에대한 학습을 금방 잊게 된다.
- 학습률이 낮을 때 : 시스템은 느리게 학습되나, 새로운 데이터의 노이즈 등에 덜 민감해진다.

 

Mini batch

딥러닝 등에서도 자주 사용되는 미니 배치란, 전체 데이터를 더 작은 단위로 나누어서 해당 단위로 학습한다.

미니 배치에 대한 비용을 계산 후, 다음 미니배치를 계산하고 이를 마지막 미니배치까지 반복하여, 전체 데이터에 대한 학습을 1회 하는 것을 <1에포크가 끝났다> 라고 한다.

 

'Archive > ML & DL' 카테고리의 다른 글

[DL] Multi Layer Perceptron, Back Propagation 감잡기  (0) 2021.06.22
[DL] Pytorch Tutorial  (0) 2021.06.21
[DL] Single Layer Perceptron  (0) 2021.06.21
[ML/DL] 경사하강법  (0) 2021.06.09
[DS] Numpy and Pytorch 기본연산  (0) 2021.05.03