시나리오 선택 및 데이터 준비

완료됨

이 단원에서는 Model Builder에서의 학습을 위한 시나리오 선택, 학습 환경 선택 및 데이터 준비에 대해 알아봅니다.

학습 프로세스 시작

학습 프로세스를 시작하려면 새 기계 학습 모델(ML.NET) 항목을 기존 또는 새 .NET 애플리케이션에 추가해야 합니다.

이식성은 클래스 라이브러리가 제공하는 이점 중 하나입니다. 클래스 라이브러리를 통해 콘솔, 데스크톱, 웹 및 다른 유형의 .NET 애플리케이션에서 클래스 라이브러리의 일부인 모델을 쉽게 참조할 수 있습니다. 클래스 라이브러리에 기계 학습 모델(ML.NET) 항목을 추가하는 것이 좋습니다.

기계 학습 모델(ML.NET) 항목은 .mbconfig 파일 확장명을 사용하여 프로젝트에 파일을 추가합니다. .mbconfig 확장명을 사용하는 파일은 JSON으로 작성된 Model Builder 구성 파일입니다. 이 파일을 사용하여 다음을 수행할 수 있습니다.

  • 모델의 이름을 입력합니다.
  • 소스 제어를 통해 팀의 다른 사용자와 협업합니다.
  • 상태를 유지합니다. 학습 프로세스의 어느 지점에서든 Model Builder를 닫아야 하는 경우 상태가 저장되고 중단한 위치에서 다시 시작할 수 있습니다.

시나리오 선택

기계 학습 모델을 학습시키는 첫 번째 단계는 예측하려는 내용에 따라 가장 적합한 시나리오 및 기계 학습 작업을 결정하는 것입니다.

시나리오란?

시나리오는 데이터를 사용하여 해결하려는 문제를 설명합니다. 일반적인 시나리오에는 이전 단원에 나열된 시나리오가 포함됩니다.

  • 데이터 분류: 토픽별로 뉴스 기사 구성
  • 숫자 값 예측: 주택 가격 예측
  • 유사한 특성을 가진 항목 그룹화: 고객 세분화
  • 이미지 분류: 콘텐츠에 따라 이미지에 태그 지정
  • 항목 추천: 영화 추천
  • 이미지에서 개체 감지: 교차로에서 보행자와 자전거 감지

이런 시나리오는 기계 학습 작업에 매핑됩니다. 기계 학습 작업은 문제 또는 묻는 질문과 사용 가능한 데이터를 기반으로 수행되는 예측 또는 추론의 유형입니다.

기계 학습 작업은 다음 두 가지 범주로 분류됩니다.

  • 감독됨
  • 자율

두 범주의 주요 차이점은 레이블, 즉 예측하려는 값이 알려져 있는지 여부입니다.

감독된 작업의 경우 레이블이 알려져 있습니다. 감독된 기계 학습 작업의 예는 다음과 같습니다.

  • 분류
    • 이진(2개의 범주)
    • 다중 클래스(2개 이상의 범주)
    • 이미지
  • 회귀

감독되지 않은 작업의 경우 레이블이 알려져 있지 않습니다. 감독되지 않은 기계 학습 작업의 예는 다음과 같습니다.

  • Clustering
  • 변칙 탐지

Model Builder에서 지원되는 시나리오

Model Builder는 기계 학습 작업에 매핑되는 다음 시나리오를 지원합니다.

시나리오 기계 학습 작업 사용 사례
데이터 분류 이진 및 다중 클래스 분류 토픽별로 기사 구성
값 예측 선형 회귀 주택의 특성을 기반으로 주택 가격 예측
이미지 분류 이미지 분류(딥 러닝) 이미지 콘텐츠를 기반으로 동물 종별로 이미지 구성
권장 권장 비슷한 사용자의 선호를 기반으로 영화 추천
개체 감지 개체 감지(딥 러닝) 이미지의 물리적 손상 식별

예측 유지 관리를 위한 시나리오 선택

어떤 데이터인지에 따라 다양한 작업을 통해 예측 유지 관리 문제를 모델링할 수 있습니다. 이 사용 사례의 경우 레이블이 머신의 손상 여부를 설명하는 이진 값 0 또는 1이므로 데이터 분류 시나리오가 적합합니다.

환경 선택

데이터 분류를 선택했으므로 이제 기계 학습 모델을 학습시키려는 환경을 선택해야 합니다. 환경은 기계 학습 모델을 학습시키는 데 사용할 컴퓨팅 리소스를 설명합니다.

Model Builder에서 지원되는 환경

Model Builder는 다음과 같은 환경 옵션을 지원합니다.

시나리오 로컬 CPU 로컬 GPU Azure GPU
데이터 분류 ✔️
값 예측 ✔️
이미지 분류 ✔️ ✔️ ✔️
권장 ✔️
개체 감지 ✔️

사용 사례에 따라 로컬 또는 Azure 환경을 선택할 수 있는 다양한 이유가 있습니다.

로컬 환경

로컬 컴퓨팅 환경을 고려할 수 있는 이유는 다음과 같습니다.

  • 컴퓨터의 리소스를 사용하므로 로컬로 학습시키는 데는 비용이 들지 않습니다.
  • 데이터가 컴퓨터 또는 데이터 센터를 벗어나면 안 됩니다.

Azure 환경

이미지 분류 및 개체 검색과 같은 시나리오는 리소스를 많이 사용합니다. GPU를 사용하면 학습 프로세스의 속도가 빨라질 수 있습니다. 충분한 CPU 또는 RAM이 있는 컴퓨터나 GPU가 없는 경우 학습 프로세스를 Azure로 오프로드하면 시스템의 부하를 줄일 수 있습니다.

데이터 로드 및 준비

시나리오 및 학습 환경을 선택하고 나면 이제 데이터를 로드하고 준비해야 합니다.

데이터는 기계 학습 모델을 빌드하는 데 가장 중요한 구성 요소입니다. Model Builder로 데이터를 로드하는 프로세스는 다음 세 단계로 구성됩니다.

  1. 데이터 원본 형식 선택
  2. 데이터 위치를 업데이트합니다.
  3. 열 용도 선택

데이터 원본 형식 선택

시나리오에 따라 Model Builder는 다음 원본에서 데이터 로드를 지원합니다.

  • 구분된 파일(쉼표, 세미콜론, 탭)
  • 로컬 및 원격 SQL Server 데이터베이스
  • 이미지(.jpg.png)

데이터의 위치 제공

데이터 원본 형식을 선택한 후에는 데이터 세트가 저장되는 위치를 제공해야 합니다. 이 위치는 디렉터리, 파일 경로 또는 데이터베이스 연결 문자열일 수 있으며, 선택한 시나리오 및 데이터 원본 형식에 따라 달라집니다.

Model Builder에서 데이터 원본을 선택하면 데이터를 구문 분석하여 다음을 식별하는 데 가장 적합한 작업을 수행합니다.

  • 헤더 및 열 이름
  • 열 구분 기호
  • 열 데이터 형식
  • 열 용도
  • 소수 구분 기호

데이터가 로드되면 Model Builder는 데이터 세트에 있는 일부 요소의 미리 보기를 표시합니다.

열 용도 선택

선택한 시나리오에 따라 특정 열의 용도를 정의해야 합니다. 데이터 분류 및 값 예측과 같은 시나리오에서는 예측하려는 열(레이블)을 선택해야 합니다.

기본적으로 레이블이 아닌 다른 모든 열은 기능으로 사용됩니다. 기능은 레이블을 예측하기 위한 입력으로 사용되는 열입니다.

고급 데이터 옵션

Model Builder는 데이터를 로드하는 방법을 사용자 지정하기 위해 고급 데이터 옵션을 제공합니다. 이러한 옵션을 사용하여 열 및 데이터 세트 서식 지정과 관련된 설정을 사용자 지정할 수 있습니다.

열에 대해 다음 설정을 선택할 수 있습니다.

  • 용도 - 열이 특성이어야 하나요, 아니면 레이블이거나 무시되어야 하나요? 하나의 열만 레이블로 선택할 수 있습니다.
  • 데이터 형식 - 값이 단정밀도 부동 소수점 값인가요, 문자열 또는 부울인가요?
  • 범주형 - 열이 범주형 값(예: 낮음, 중간, 높음)을 나타내나요?

데이터 서식 지정을 위해 데이터에 열 헤더, 열 구분 기호(쉼표, 세미콜론, 탭) 및 소수 구분 기호 유형(마침표 또는 쉼표)이 포함되는지 여부를 선택할 수 있습니다.

예측 유지 관리 데이터 세트 이해

이 모듈에서 사용되는 데이터 세트는 AI4I 2020 Predictive Maintenance Dataset입니다. 이 합성 데이터 세트는 업계에서 볼 수 있는 실제 예측 유지 관리 데이터를 반영합니다. 이 데이터 세트는 10,000개의 데이터 포인트와 14개의 열로 구성됩니다. 이 데이터 세트의 출처는 다음과 같습니다.

산업용 인공 지능에 관한 3차 국제 컨퍼런스(AI4I 2020), 2020(출판)에서 Stephan Matzka가 발표한 "예측 유지 관리 애플리케이션을 위한 설명 가능한 인공 지능", UCI 기계 학습 리포지토리 - Dua, D. 및 Graff, C.(2019)에서 호스트됨. UCI Machine Learning 리포지토리 http://archive.ics.uci.edu/ml. Irvine, CA: University of California, School of Information and Computer Science.

다음은 해당 데이터의 미리 보기입니다.

UDI Product ID 유형 대기 온도[K] 프로세스 온도[K] 회전 속도[rpm] 토크[Nm] 도구 마모[min] 머신 오류 TWF HDF PWF OSF RNF
1 M14860 M 298.1 308.6 1551 42.8 0 0 0 0 0 0 0
162 L47341 L 298.3 308.1 1412 52.3 218 1 0 0 0 1 0

열은 다음과 같이 정의됩니다.

  • UDI: 행의 인덱스입니다.
  • 제품 ID: 제품 유형 범주 및 변형별 일련 번호를 포함하는 제품 식별자입니다.
  • 유형: 제품 품질 범주입니다. 값은 L(낮음, 모든 제품의 50%), M(중간, 30%) 또는 H(높음, 20%)입니다.
  • 대기 온도[K], 공정 온도[K], 회전 속도[rpm], 토크[Nm], 도구 마모[min]: 센서에서 수집된 값입니다.
  • 머신 오류: 머신에 오류가 발생했는지 여부를 나타내는 이진 레이블(0 또는 1)입니다.
  • TWF, HDF, PWF, OSF, RNF: 독립적 머신 오류 모드입니다. 값 1은 해당 오류 모드가 발생했음을 나타냅니다.

이 시나리오에서는 데이터 세트의 열을 모두 사용하지는 않는데, 예측 정보가 없거나 중복 정보를 포함한 열이 있기 때문입니다.

머신에 오류가 발생할지 여부를 예측하려 하므로 머신 오류 열이 레이블입니다. Model Builder에서는 제품 ID, 유형 및 다양한 센서 열의 데이터를 특성으로 사용할 수 있습니다.

오류 모드는 오류의 근본 원인을 진단하는 데 유용하지만 이 사용 사례에는 유용하지 않습니다. 머신에 오류가 발생했는지 여부만 알면 되기 때문입니다. 또한 머신 오류 열에 이미 유사한 정보가 캡처되어 있습니다. 따라서 이러한 열을 무시할 수 있습니다.

다음 단원으로 진행하여 시나리오, 환경 및 데이터 준비에 대한 지식을 확인합니다.