본문 바로가기
AI

GCP로 AI공부하기[3] - 모델디자인 정적학습? 동적학습?

by 오늘의개발부 2019. 7. 5.
반응형

만약 내가 이메일이 스팸인지 아닌지를 예측하는 머신러닝 시스템을 설계하는 업무를 맡았다고 가정하자. 이전글에서 작성한 게시글(https://12teamtoday.tistory.com/8)대로 데이터 수집절차를 진행할 것이다. 수많은 비스팸 이메일과 스팸 이메일을 모을 것이다. 그리고 해당 이메일이 올바르게 수집된 이메일이 맞는지 검증하고, 비스팸이메일과 스팸이메일의 Feature를 뽑기위해 부단히 노력할 것이다. 뽑아낸 Feature를 기반으로 전처리한 데이터를 수일에 걸쳐 모델에 학습시키고 90%정도의 정확도를 이뤄냈다고 가정해보자. 그리고 해당 모델을 배포하여 실제 업무에 들어가자 놀랍게도 스팸메일을 적절히 잘 걸러냈다. 스팸메일 발송자는 가만히 있을까? 새로운 스팸메일 템플릿을 만들어 발송하여 우리가 만든 모델의 헛점을 파고들 것이다. 그럴 때 우리는 모델을 다시 학습시킬 필요성을 느낀다. 이 때 우리가 채택할 수 있는 방법론은 정적학습과 동적학습이 있다.


정적학습

정적학습은 우리가 일반적으로 머신러닝 설계라고 생각했을 때 떠오르는 과정과 흡사하다.

모델의 배포전, 오프라인 테스트 환경에서 데이터를 분석하고, 이에 대한 모델을 만들어서 학습시킨다. 모델이 한번 뱊되고 나면, 일단락이다. 만약 새로운 모델을 배포한다면, 오프라인에서 다시 분석 후 새로운 버전의 모델을 학습시켜서 배포한다.

  • 오프라인에서 한번만 학습한다.

  • 모델을 생성하고 테스트하는 과정이 쉽다.

  • 최근의 상황을 반영하지 못할 가능성이 높다.


동적학습

동적학습은 모델이 배포된 이후에도 이어서 학습한다.

현장에서 얻어지는 데이터를 시시각각으로 취득하여, 약간의 검증과정을 거친 뒤 현재 배포되어 있는 모델의 학습 데이터로 활용한다.

  • 시간이 지남에 따라서, 추가 학습데이터를 취득한다.

  • 엔지니어링의 난이도가 높다. 지속적으로 검증해야한다.

  • 주기적으로 업데이트된 버전으로 동기화되어 변화에 대응할 수 있다.


배포환경이나 비용측면 등의 이슈가 없다면 보통 동적학습을 채택하는 경우가 많을 것이다. 다만 동적학습을 채택하기로 정했다고해서 바로 적용하기보다는 정적학습방법을 우선적으로 적용하는 것이 바람직할 수 있다. 정적학습이 구축이 쉽고 모델 사용의 가능성을 빠르게 판단해볼 수 있기때문에.

 

GCP를 사용하여 동적학습 서비스 구축하기

 


반응형