알고리즘 선택 - Amazon SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

알고리즘 선택

머신 러닝은 일종의 유도 추론이 필요한 경험적 작업을 수행하는 데 도움이 될 수 있습니다. 이 작업에는 데이터를 사용하여 일반화 가능한 추론을 만들기 위해 알고리즘을 훈련시키기 때문에 유도가 포함됩니다. 즉, 알고리즘은 통계적으로 신뢰할 수 있는 예측 또는 의사 결정을 내리거나 학습에 사용되지 않은 새 데이터에 적용될 때 다른 작업을 완료할 수 있음을 의미합니다.

작업에 가장 적합한 알고리즘을 선택할 수 있도록 이러한 작업을 다양한 추상화 수준으로 분류합니다. 최고 수준의 추상화에서 머신 러닝은 데이터 세트의 텍스트와 같이 형상이나 덜 구조화된 항목 간의 패턴이나 관계를 찾으려고 시도합니다. 패턴 인식 기술은 각기 다른 머신 러닝 패러다임으로 분류될 수 있으며, 각각의 패러다임은 특정 문제 유형을 해결합니다. 현재 다양한 문제 유형을 해결하는 데 사용되는 머신 러닝에는 세 가지 기본 패러다임이 있습니다.

각 학습 패러다임이 해결할 수 있는 문제 유형은 보유하고 있거나 수집할 수 있는 데이터 유형에서 수행하려는 추론 (또는 예측, 결정 또는 기타 작업) 을 고려하여 식별됩니다. 머신 러닝 패러다임은 알고리즘 방법을 사용하여 다양한 문제 유형을 해결합니다. 알고리즘은 이러한 문제를 해결하기 위한 방법을 제공합니다.

그러나 신경망과 같은 많은 알고리즘은 서로 다른 학습 패러다임과 다양한 유형의 문제에 배포할 수 있습니다. 여러 알고리즘이 특정 문제 유형을 해결할 수도 있습니다. 일부 알고리즘은 일반적으로 적용 가능하며 다른 알고리즘은 특정 유형의 목표와 데이터에 대해 매우 구체적입니다. 따라서 머신 러닝 알고리즘과 문제 유형 간의 매핑은 다대다 입니다. 또한 알고리즘에 사용할 수 있는 다양한 구현 옵션이 있습니다.

다음 섹션에서는 다양한 문제 유형에 적합한 구현 옵션, 기계 학습 패러다임 및 알고리즘에 대한 지침을 제공합니다.

알고리즘 구현 선택

알고리즘을 선택한 후에는 어떤 알고리즘을 사용할지 결정해야 합니다. 아마존 SageMaker 에서는 향상된 노력이 필요한 세 가지 구현 옵션을 지원합니다.

  • 사전 교육된 모델최소한의 노력이 필요하며 모델을 배포할 준비가 되어 있거나 다음을 사용하여 미세 조정 및 배포할 수 있습니다. SageMaker 점프스타트.

  • 내장 알고리즘데이터 세트가 크고 모델을 교육 및 배포하는 데 상당한 리소스가 필요한 경우 더 많은 노력과 확장이 필요합니다.

  • 작동하는 기본 제공 솔루션이 없으면 다음을 사용하는 솔루션을 개발해 보십시오.머신 및 딥 러닝 프레임워크를 위한 사전 제작 이미지Scikit-Learn, TensorFlow, PyTorch, MXNet 또는 체인어와 같은 지원되는 프레임워크에 사용할 수 있습니다.

  • 사용자 정의 패키지를 실행하거나 지원되는 프레임 워크의 일부가 아니거나 PyPi를 통해 사용할 수있는 코드를 사용해야하는 경우 빌드해야합니다.나만의 맞춤형 도커 이미지필요한 패키지 또는 소프트웨어를 설치하도록 구성되어 있습니다. 또한 사용자 지정 이미지는 Amazon 엘라스틱 컨테이너 레지스트리와 같은 온라인 리포지토리로 푸시되어야 합니다.

알고리즘 구현 지침
구현 코드 필요 사전 코딩된 알고리즘 타사 패키지 Support 사용자 지정 코드 Support 노력 수준
기본 제공 아니요 아니요 아니요 낮음
Scikit-learn PyPi 전용 중간
Spark ML PyPi 전용 중간
XG부스트 (오픈 소스) PyPi 전용 중간
TensorFlow 아니요 PyPi 전용 중간-높음
PyTorch 아니요 PyPi 전용 중간-높음
MXNet 아니요 PyPi 전용 중간-높음
Chainer 아니요 PyPi 전용 중간-높음
사용자 지정 이미지 아니요 예, 모든 소스에서 높음

기본 제공 알고리즘 사용

문제 및 데이터 유형에 맞는 알고리즘을 선택할 때 가장 쉬운 방법은 Amazon SageMaker의 기본 제공 알고리즘 중 하나를 사용하는 것입니다. 이러한 내장 알고리즘에는 두 가지 주요 이점이 있습니다.

  • 내장 알고리즘은 실험을 시작하기 위해 코딩이 필요하지 않습니다. 데이터, 하이퍼파라미터 및 컴퓨팅 리소스만 제공해야 합니다. 이를 통해 결과 및 코드 변경 사항을 추적하는 오버헤드를 줄여 실험을 더 빠르게 실행할 수 있습니다.

  • 내장 알고리즘은 여러 컴퓨팅 인스턴스에서 병렬화와 함께 제공되며 모든 적용 가능한 알고리즘에 대해 GPU를 즉시 지원합니다 (일부 알고리즘은 내재된 제한으로 인해 포함되지 않을 수 있습니다). 모델을 훈련시킬 데이터가 많으면 대부분의 기본 제공 알고리즘이 수요에 맞게 쉽게 확장할 수 있습니다. 이미 사전 훈련된 모델이 있더라도 에서 결과를 사용하는 것이 더 쉬울 수 있습니다. SageMaker 지원되는 프레임워크에서 스크립트 모드를 사용하여 포팅하는 것보다 이미 알고 있는 하이퍼 파라미터를 입력합니다.

SageMaker가 제공하는 내장 알고리즘에 대한 자세한 내용은 단원을 참조하십시오.Amazon 사용 SageMaker 내장 알고리즘 또는 사전 훈련된 모델.

docker 레지스트리 경로, 데이터 형식, 권장되는 EC2 인스턴스 유형에 대한 중요한 정보 CloudWatch SageMaker가 제공하는 모든 내장 알고리즘에 공통되는 로그는 다음을 참조하십시오.기본 제공 알고리즘에 대한 공통 정보.

지원되는 프레임워크에서 스크립트 모드 사용

모델에 사용하려는 알고리즘이 기본 제공 선택 항목에서 지원되지 않고 자체 솔루션을 코딩하는 데 익숙하다면 Amazon SageMaker 지원 프레임워크를 사용하는 것이 좋습니다. 텍스트 파일에 사용자 정의 코드 (스크립트) 를 작성하기 때문에 “스크립트 모드”라고 합니다..py익스텐션 위 표에서 알 수 있듯이 SageMaker 에서는 대부분의 인기 있는 머신 러닝 프레임워크를 지원합니다. 이러한 프레임워크에는 해당 프레임워크와 Pandas 및 NumPy와 같은 추가 Python 패키지가 미리 로드되어 있으므로 알고리즘을 훈련하기 위한 코드를 직접 작성할 수 있습니다. 이 프레임워크를 통해 호스팅되는 Python 패키지를 설치할 수도 있습니다. PyPi 훈련 코드와 함께 requirements.txt 파일을 포함하거나 자체 코드 디렉토리를 포함합니다. R은 에서 기본적으로 지원됩니다. SageMaker 노트북 커널. scikit-learn과 Spark ML과 같은 일부 프레임 워크에는 쉽게 사용할 수있는 사전 코딩 된 알고리즘이 있지만 다른 프레임 워크는 다음과 같습니다. TensorFlow PyTorch는 알고리즘을 직접 구현하도록 요구할 수 있습니다. 지원되는 프레임워크 이미지를 사용할 때의 유일한 제한은 호스팅되지 않은 소프트웨어 패키지를 가져올 수 없다는 것입니다. PyPi 또는 프레임워크의 이미지에 아직 포함되어 있지 않습니다.

SageMaker가 지원하는 프레임워크에 대한 자세한 내용은 단원을 참조하십시오.Amazon SageMaker 에서 Machine Learning 프레임워크, Python 및 R 사용.

사용자 지정 Docker 이미지 사용

Amazon SageMaker의 기본 제공 알고리즘 및 지원되는 프레임워크는 대부분의 사용 사례를 다루어야 하지만, 지원되는 프레임워크에 포함되지 않은 패키지의 알고리즘을 사용해야 하는 경우가 있습니다. 또한 배포해야 하는 곳에 사전 훈련된 모델을 선택하거나 유지해야 할 수도 있습니다. SageMaker 에서는 Docker 이미지를 사용하여 모든 모델의 교육 및 서비스를 호스팅하므로 필요한 패키지 또는 소프트웨어가 지원되는 프레임워크에 포함되어 있지 않은 경우 사용자 정의 Docker 이미지를 제공할 수 있습니다. 이것은 자신의 Python 패키지 또는 Stan 또는 Julia와 같은 언어로 코딩된 알고리즘일 수 있습니다. 이러한 이미지의 경우 Dockerfile에서 알고리즘 훈련과 모델 제공을 적절히 구성해야 합니다. 이를 위해서는 Docker에 대한 중간 지식이 필요하며 자체 기계 학습 알고리즘을 작성하는 것이 편하지 않는 한 권장되지 않습니다. 모델을 올바르게 교육하고 제공할 수 있으려면 먼저 Docker 이미지를 ECR (Amazon 엘라스틱 컨테이너 레지스트리) 과 같은 온라인 저장소에 업로드해야 합니다.

SageMaker의 사용자 지정 도커 이미지에 대한 자세한 내용은 단원을 참조하십시오.세이지메이커에서 도커 컨테이너 사용.

기본 머신 러닝 패러다임의 문제 유형

다음 세 단원에서는 머신 러닝을 위한 세 가지 기본 패러다임에 의해 해결되는 주요 문제 유형에 대해 설명합니다. 의 기본 제공 알고리즘 목록은 다음과 같습니다. SageMaker 에서는 이러한 문제 유형을 해결하기 위해 다음을 참조하십시오.Amazon 사용 SageMaker 내장 알고리즘 또는 사전 훈련된 모델.

지도 학습

데이터 세트가 목표 값 (출력) 을 포함하는 기능 또는 속성 (입력) 으로 구성된 경우 지도 학습 문제가 있는 것입니다. 목표 값이 범주형 (수학적으로 불연속형) 인 경우분류 문제. 바이너리와 다중 클래스 분류를 구별하는 것은 표준 관행입니다.

  • 이진 분류는 개인의 속성에 따라 미리 정의되고 상호 배타적인 두 클래스 중 하나에 개인을 할당하는 감독 학습의 한 유형입니다. 올바르게 레이블이 지정된 객체가 있는 속성을 제공하는 예제를 사용하여 모델이 훈련되므로 지도가 가능합니다. 진단 테스트의 결과에 기반하여 개인이 질병을 갖고 있는지 여부에 대한 의학적 진단은 이진 분류의 예입니다.

  • 멀티클래스 분류는 개인의 속성에 따라 여러 클래스 중 하나에 개인을 할당하는 감독 학습의 한 유형입니다. 올바르게 레이블이 지정된 객체가 있는 속성을 제공하는 예제를 사용하여 모델이 훈련되므로 지도가 가능합니다. 예를 들어 텍스트 문서와 가장 관련성이 높은 주제를 예측합니다. 문서는 종교, 정치 또는 금융에 대한 것으로 분류되거나 미리 정의되는 여러 주제 클래스 중 하나에 대한 것으로 분류될 수 있습니다.

예측하려는 목표값이 수학적으로 연속적이면회귀 분석문제. 회귀는 상관 관계가 있는 하나 이상의 다른 변수 또는 속성을 기반으로 종속 대상 변수의 값을 추정합니다. 예를 들어 욕실 및 침실 수 및 주택 및 정원의 평방 피트와 같은 특징을 사용하여 주택 가격을 예측합니다. 회귀 분석을 통해 이들 특징 중 하나 이상을 입력으로 사용하는 모델을 만들고 주택 가격을 예측할 수 있습니다.

SageMaker에서 제공하는 기본 제공 지도 학습 알고리즘에 대한 자세한 내용은 단원을 참조하십시오.지도 학습.

감독되지 않은 학습

데이터 세트가 레이블이나 목표 값 (출력) 을 포함하지 않는 기능 또는 속성 (입력) 으로 구성된 경우 비지도 학습 문제가 있는 것입니다. 이러한 유형의 문제에서는 입력 데이터에서 발견된 패턴을 기반으로 출력을 예측해야 합니다. 비지도 학습 문제의 목표는 데이터 내의 그룹화와 같은 패턴을 발견하는 것입니다. 비지도 학습을 적용할 수 있는 다양한 작업이나 문제 유형이 있습니다. 주요 구성 요소 및 클러스터 분석은 데이터 전처리를 위해 일반적으로 배포되는 두 가지 주요 방법입니다. 다음은 비지도 학습을 통해 해결할 수 있는 문제 유형의 간단한 목록입니다.

  • 차원 감소일반적으로 모델 구성에 사용할 가장 관련성이 높은 피쳐를 결정하는 데 사용되는 데이터 탐색 단계의 일부입니다. 이 아이디어는 높은 차원의 인구 밀도가 낮은 공간에서 원본 데이터의 가장 중요한 속성을 유지하는 낮은 차원 공간으로 데이터를 변환하는 것입니다. 이는 통계 분석이 문제가 되는 인구 밀도가 낮은 고차원 데이터로 인해 발생할 수 있는 차원의 저주에 대한 완화를 제공합니다. 또한 데이터를 이해하는 데에도 사용할 수 있으며, 고차원 데이터를 시각화할 수 있는 더 낮은 차원성으로 줄일 수 있습니다.

  • 클러스터 분석은 객체 또는 사례를 클러스터라는 그룹으로 분류하는 데 사용되는 기술 클래스입니다. 데이터 내 별도의 그룹화를 찾으려 합니다. 이 경우 그룹의 멤버는 가급적 다른 멤버와 유사하고 다른 그룹의 멤버와는 가급적 다릅니다. 알고리즘에서 유사성을 결정하는 데 사용할 피처 또는 속성을 정의하고, 유사성을 측정할 거리 함수를 선택하고, 분석에 사용할 군집 수를 지정합니다.

  • 이상 탐지는 데이터 집합에서 희귀 항목, 사건 또는 관측치를 식별하여 의심이 발생하는 나머지 데이터와 크게 다르기 때문입니다. 예를 들어 은행 사기 또는 의료 오류를 탐지하기 위해 변칙 항목 식별을 사용할 수 있습니다. 이상 현상은 이상치, 참신함, 소음, 편차 및 예외라고도 합니다.

  • Density 추정는 관측된 데이터를 기반으로 관찰할 수 없는 기본 확률 밀도 함수의 추정치를 구성합니다. 밀도 추정치를 자연스럽게 사용하는 것은 데이터 탐색을 위한 것입니다. 밀도 추정치는 데이터에서 왜도 및 다형성과 같은 특징을 발견할 수 있습니다. 가장 기본적인 형태의 밀도 추정은 다시 계산된 히스토그램입니다.

SageMaker는 이러한 비지도 학습 작업에 대해 사용할 수 있도록 여러 내장 기계 학습 알고리즘을 제공합니다. SageMaker에서 제공하는 내장 비지도 알고리즘에 대한 자세한 내용은 단원을 참조하십시오.비지도 학습.

강화 학습

강화 학습은 환경과의 상호 작용을 기반으로 하는 학습의 한 유형입니다. 이러한 유형의 학습은 다음을 통해 행동을 학습해야 하는 상담원이 사용합니다. trial-and-error 행동의 결과로 에이전트가 받는 장기 보상을 극대화하는 것이 목표인 동적 환경과의 상호 작용 보상은 알려진 보상을 가진 악용 행동으로 불확실한 보상을 가진 탐색 행동을 거래함으로써 최대화됩니다.

강화 학습을 위한 SageMaker의 프레임워크, 툴킷 및 환경에 대한 자세한 내용은 단원을 참조하십시오.Amazon SageMaker SageMaker에서 강화 학습 사용.