ML Project 흐름

DONGJIN IM·2022년 3월 9일
0

AI 실전 활용 관련

목록 보기
6/7
post-thumbnail

문제 정의 중요성

  • 문제 정의 : 특정 현상을 파악하고, 현상의 이유가 되는 문제(Problem)을 정의하는 과정
  • 문제를 "명확히" 정의해야 풀기도 쉬워짐
  • 해결해야 하는 문제는 무엇이고 문제를 해결할 방법과 해결이 가져다 주는 이익을 생각하는 과정
    • 문제 본질을 파악하는 과정

ML Project 흐름

1. 현상 파악

  • 현재 상황 파악

2. 구체적인 문제 정의

  • 앞선 현상을 구체적이고 명확한 요어로 정리해보기
  • 가지고 있는 Data를 확인해보거나 필요한 Data를 수집하여 현재 상황에 대한 이유를 파악
    • 문제를 일으키는 원인과 해결 방안 고민
  • 룰 베이스 : 설명을 늘리는 방식. 당장의 문제를 해결할 수 있는 방버
  • 추천 : 알고리즘 개발
  • 문제를 쪼개서 파악
    해결 방식 중 데이터로 해결할 수 있는 방법 고민
    점진적으로 수행

3. 프로젝트 설계

  • 문제 정의를 확실히 하고, 프로젝트 설계를 최대한 구체적으로 하는 것이 좋음
  • 머신러닝 문제 타당성 확인
    • 제품, 회사의 비즈니스에 어떤 가치를 줄 수 있는지 고려
  • 머신러닝이 사용되면 좋은 경우
    • 학습할 수 있는 패턴이 존재하는 경우(학습을 위한 목적 함수를 만들 수 있어야 함)
    • 패턴이 복잡해야함(데이터가 존재하거나, 수집 가능해야 함),
  • 목표 설정
    • Goal : 프로젝트의 일반 목적, 큰 목적
      • Objectives를 통해 최종적으로 얻고 싶은 목적
    • Objectives : 목적을 달성하기 위한 세부 단계의 목표. 구체적인 목적
  • Data 종류
    • Label을 가진 Data : 바로 사용
    • 유사 Label을 가진 데이터 : 선호도나 내가 원하는 정보를 예측하는 데 도움이 주는 Data
    • Label이 없는 데이터: Labeling을 고민하거나 Label이 없는 상태에서 학습하는 방법 찾기
  • 데이터셋을 만든느 일은 반복적이고 어려운 작업
    • Self supervised Learning등을 사용해서 유사 Label을 만들어 사용하기도 함
  • Multiple Objective Optimization
  • 제약 조건
    • 일정, 예산, 인원, privacy, 기술 및 윤리적 제약 등
  • 모델이 좋아졌다고 판단할 수 있는 BaseLine 필요
  • Voila, Streamlit, Gradio 등을 활용하여 프로토타입을 생성
  • Metric Evaluatoin : 앞선 문제를 해결할 경우 (현재 상황의 문제 중) 어떤 지표가 좋아질지를 고민

  • Docker, MLFlow, Linux에 대해서도 설명해 주셨지만 내가 생각할 때는 이 부분은 많이 중요한 것 같다. 솔직히 1시간 강의에 모든 내용을 담기에는 어려운 부분이라고 생각한다
  • 따로 파트를 파서 공부를 수행하자!
profile
개념부터 확실히!

0개의 댓글