배치 학습과 온라인 학습


배치 학습(Batch Learning)

배치 학습에서는 시스템이 점진적으로 학습할 수 없습니다. 가용한 데이터를 모두 사용해 훈련시켜야 합니다.

이러한 방식은 시간과 자원을 많이 소모하여 일반적으로 오프라인에서 가동됩니다.

먼저 시스템을 훈련시키고 제품 시스템에 적용하면 더 이상의 학습 없이 실행됩니다.

즉, 학습한 것을 적용할 뿐입니다. 이를 오프라인 학습(Offline Learning)이라고 합니다.


배치 학습 시스템이 새로운 데이터에 대해 학습하려면 전체 데이터를 사용하여 시스템의 새로운 버전을 처음부터 다시 훈련해야 합니다.

이후 이전 시스템을 중지시키고 새로운 시스템으로 교체합니다.


이러한 방식은 간단하고 잘 작동하지만 전체 데이터 셋을 사용해 훈련하는데 몇 시간이 소요될 수 있습니다.

또한, 전체 데이터 셋을 사용해 훈련하기 때문에 시스템 자원을 많이 소모합니다. 자원이 제한된 시스템이 스스로 학습해야 할 때 많은 양의 훈련 데이터를 나르고 학습을 위해 자원을 사용하는 경우 문제를 발생시킬 수 있습니다.



온라인 학습(Online Learning)

온라인 학습에서는 데이터를 순차적으로 한 개씩 또는 미니배치(Mini-Batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킵니다.

매 학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습할 수 있습니다.


온라인 학습은 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하는 시스템에 적합합니다.

컴퓨팅 자원이 제한된 경우에도 적합하다고 할 수 있습니다. 학습이 끝난 데이터는 더 이상 필요하지 않으므로 버리면 됩니다.


온라인 학습 시스템에서 중요한 파라미터 중 하나는 변화하는 데이터에 얼마나 빠르게 적응할 것인지 입니다.

이를 학습률(Learning Rate)이라고 합니다. 학습률을 높게 하면 시스템이 데이터에 빠르게 적응하지만 예전 데이터를 금방 잊어버리게 됩니다.

반대로 학습률이 낮으면 시스템의 관성이 더 커져서 더 느리게 학습됩니다. 하지만 새로운 데이터에 있는 잡음이나 대표성 없는 데이터 포인트에 덜 민감해집니다.


온라인 학습의 가장 큰 문제점은 시스템에 나쁜 데이터가 주입되었을 때 시스템 성능이 점진적으로 감소할 수 있다는 것입니다.

이러한 위험을 줄이기 위해서는 시스템을 면밀히 모니터링하고 성능 감소사 감지되면 즉각적으로 학습을 중지시키는 대처가 필요합니다.



Reference

  • 오렐리앙 제롱, '핸즈온 머신러닝', 한빛미디어, 2018



+ Recent posts