AI/Naver_Boostcamp AI Tech

머신러닝 라이프사이클: 인공지능 프로젝트의 전체 과정 이해하기

john8538 2024. 8. 12. 20:17

목차

    01) 머신러닝이란?


    Tom Mitchell(1998)의 정의에 따르면, 머신러닝은 "경험 E로부터 학습하여 작업 T에 대한 성능 P를 향상시키는 시스템"입니다. 즉, 데이터(경험)를 통해 특정 작업의 성능을 스스로 개선하는 알고리즘을 연구하는 학문이라고 할 수 있습니다.

     

    1.1 머신러닝의 적용사례

    현재 머신러닝은 다양한 분야에서 활용이 되는데요,

    • 컴퓨터 비전
    • 문자 인식
    • MLP
    • 음성 인식 등에 사용이 됩니다.

    1.2 머신러닝의 종류

    크게 3가지 유형으로 나뉩니다.

    1. 지도학습 : 레이블이 존재하는 데이터(정답)로 학습
    2. 비지도 학습 : 레이블이 없는 데이터로 패턴을 찾음
    3. 강화학습 : 행동에 대한 보상을 통해 학습

    02) 머신러닝 라이프 사이클

    머신러닝 라이프사이클은 머신러닝 모델을 개발, 배포, 유지보수하는 일련의 단계들을 정의하는 프로세스입니다. 일반적으로 생각하는 것보다 더 복잡하고 다양한 단계를 포함합니다.

    https://facerain.github.io/improve-dl-performance/

    2.1 머신러닝 라이프 사이클의 구성

    • 계획하기 (Planning)
    • 데이터 준비 (Data Preparation)
    • 모델 엔지니어링 (Model Engineering)
    • 모델 평가 (Model Evaluation)
    • 모델 배포 (Model Deployment)
    • 모니터링 및 유지 관리 (Monitoring and Maintenance)

    주로 위와 같은 단계로 이루어지며 각 한 단계씩 살펴보겠습니다.

     

    계획하기

    • ML 애플리케이션의 범위, 성공 지표, 실현 가능성 평가
    • 비즈니스 프로세스 개선 방법 이해
    • 비용-편익 분석
    • 명확하고 측정 가능한 성공 지표 정의
    • 타당성 보고서 작성

    데이터 준비

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

    모델 엔지니어링

    • 효과적인 모델 아키텍처 구축
    • 모델 메트릭 정의
    • 모델 학습 및 검증
    • 실험 및 메타데이터 추적
    • 모델 압축 및 앙상블
    • 도메인 전문가와 결과 해석

    모델 평가

    • 테스트 데이터셋으로 모델 테스트
    • 산업적, 윤리적, 법적 프레임워크 준수 확인
    • 견고성(robustness) 테스트
    • 계획된 성공 지표와 결과 비교

    모델 배포

    • 현재 시스템에 머신러닝 모델 배포
    • 다양한 플랫폼 (클라우드, 로컬 서버, 웹 브라우저 등)에 배포 가능
    • API, 웹 앱, 플러그인, 대시보드 등을 통해 접근 가능

    모니터링 및 유지 관리

    • 지속적인 시스템 모니터링 및 개선
    • 모델 지표, 하드웨어 및 소프트웨어 성능, 고객 만족도 모니터링
    • 필요시 전체 머신러닝 수명 주기 개선

     

    마치며

    머신러닝 프로젝트는 단순히 모델을 만들고 배포하는 것 이상의 복잡한 과정을 포함합니다. 머신러닝 라이프사이클을 이해하고 각 단계를 체계적으로 수행함으로써, 더 효과적이고 지속 가능한 AI 솔루션을 개발할 수 있습니다. 앞으로 Linear Regression과 NN Classifier에 대해 더 자세히 알아볼 예정이니 기대해 주세요!