ML Life Cycle

AAiss·2024년 8월 12일

AI Basics

목록 보기
7/12

서론

머신러닝(ML)은 데이터로부터 패턴을 학습하여 예측이나 결정을 내리는 기술로, 다양한 산업 분야에서 혁신을 이끌고 있다.

하지만 머신러닝 프로젝트가 성공적으로 진행되기 위해서는 체계적인 접근이 필요하다다.

ML Life Cycle은 이러한 과정을 단계별로 정리한 것으로, 각 단계는 프로젝트의 성공에 필수적인 요소이다.

본 포스팅에서는 머신러닝의 기본 개념과 함께 ML Life Cycle의 각 단계를 자세히 살펴보며, 효과적인 머신러닝 프로젝트를 위한 실질적인 가이드를 제공하고자 한다.


머신러닝

  • 어떠한 작업 T에 대하여
  • 경험 E와 함께
  • 성능 P를 향상시킨다

제대로 정의된 학습 과제는 <P, T, E>에 의해 주어진다.


예시

이미지 분류

  • 작업(T): 주어진 이미지가 고양이인지 개인지 분류하는 작업
  • 경험(E): 다양한 고양이와 개 이미지들로 이루어진 학습 데이터셋
  • 성능(P): 이미지 분류 정확도

스팸메일 필터링

  • 작업(T): 이메일이 스팸인지 아닌지 분류하는 작업
  • 경험(E): 라벨링 된 스팸 및 정상 메일 데이터셋
  • 성능(P): 이메일 분류 정확도

학습 종류

  • 지도 학습(SupervisedLearning)
    • 학습 데이터 + 원하는 출력(레이블)세트로 제공

  • 비지도 학습(UnsupervisedLearning)
    • 학습 데이터(원하는 출력 없음)만이 주어짐

  • 강화 학습(ReinforcementLearning)
    • 일련의 행동에 따른 보상

출처: https://blog.westerndigital.com/wp-content/uploads/2018/05/supervised-learning-diagram.jpg


지도 학습

  • (데이터 xx, 레이블 yy) 형태로 학습
  • (x1,y1),(x2,y2),...,(xn,yn)(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)일 때, 주어진 xx에 대해 yy를 예측하는 함수 f(x)f(x)를 학습

  • yy가 실수값 → 회귀(Regression)
  • yy가 범주형 → 분류(Classification)
  • 주로 회귀 문제에 사용

비지도 학습

  • 라벨이 없는 데이터 xx를 이용하여 학습
  • x1,x2,...,xnx_1, x_2, ..., x_n일 때, 주어진 xx에 숨겨진 구조를 출력

  • 주로 클러스터링 문제에 사용

ML Life Cycle

머신 러닝 모델을 개발, 배포, 유지보수하는 일련의 단계들을 정의하는 프로세스

출처: https://appinventiv.com/blog/machine-learning-app-project-estimate/


1. 계획하기(Planning)

  • ML애플리케이션의 범위, 성공 지표 및 실현 가능성을 평가하는 작업 포함
  • 비즈니스와 머신러닝을 사용하여 현재 프로세스를 개선하는 방법의 이해
  • 비용-편익 분석과 여러 단계로 솔루션을 출시할 방법의 이해
  • 비즈니스, 머신 러닝 모델(정확도, F1 점수, AUC), 경제성(핵심 성과 지표)에 대한 명확하고 측정 가능한 성공 지표 정의
  • 타당성 보고서 작성

2. 데이터 준비(DataPreparation)

  • 데이터 수집 및 라벨링
  • 데이터 정리(Cleaning)
  • 데이터 처리
  • 데이터 관리

3. 모델 엔지니어링(ModelEngineering)

  • 광범위한 조사를 통해 효과적인 모델 아키텍처 구축
  • 모델 메트릭 정의
  • 학습 및 검증 데이터 셋으로 모델 학습,검증
  • 실험, 메타데이터, 기능, 코드 변경 및 머신 러닝 파이프라인을 추적
  • 모델 압축 및 앙상블 수행
  • 도메인 지식 전문가를 통하여 결과 해석

4. 모델 평가(ModelEvaluation)

  • 테스트 데이터 셋으로 모델 테스트, 전문가를 참여시켜 예측오류 파악
  • AI솔루션 구축을 위한 산업적, 윤리적, 법적 프레임워크를 준수하는지 확인
  • 무작위 및 실제 데이터에 대한 견고성(robustness) 테스트
  • 결과를 계획된 성공 지표와 비교하여 모델 배포 여부 결정

5. 모델 배포 (ModelDeployment)

  • 일반적으로 클라우드 및 로컬 서버, 웹 브라우저, 소프트웨어 패키지 등에 배포
  • API, 웹 앱, 플러그인 또는 대시보드를 사용하여 접근

6. 모니터링 및 유지,관리 (MonitoringandMaintenance)

  • 모델 지표, 하드웨어 및 소프트웨어 성능, 고객 만족도를 모니터링
  • 데이터 처리 및 모델 학습 기술을 개선하고, 새로운 소프트웨어와 하드웨어를 업데이트하기 위해 전체 머신 러닝 수명 주기를 개선해야 하는 경우도 있음

결론

ML Life Cycle은 머신러닝 프로젝트의 성공적인 수행을 위한 필수적인 로드맵이다.

계획하기, 데이터 준비, 모델 엔지니어링, 모델 평가, 모델 배포, 그리고 모니터링 및 유지, 관리의 각 단계는 서로 연결되어 있으며, 각 단계에서의 철저한 관리가 프로젝트의 결과에 큰 영향을 미친다.


0개의 댓글