자동화 된 머신 러닝 또는 AutoML 설명

머신 러닝 (클래식 머신 러닝과 딥 러닝 모두) 사용에 대한 두 가지 가장 큰 장벽은 기술과 컴퓨팅 리소스입니다. 두 번째 문제는 가속화 된 하드웨어 (예 : 고급 GPU가있는 컴퓨터)를 구매하거나 클라우드에서 컴퓨팅 리소스 (예 : GPU가 연결된 인스턴스, TPU 및 FPGA).

반면에 기술 문제를 해결하는 것은 더 어렵습니다. 데이터 과학자는 종종 많은 급여를받으며 여전히 채용하기 어려울 수 있습니다. Google은 자체 TensorFlow 프레임 워크에서 많은 직원을 교육 할 수 있었지만 대부분의 회사는 기계 학습 및 딥 러닝 모델을 직접 구축 할 수있는 숙련 된 인력을 거의 보유하지 않고 다른 사람들에게 방법을 가르치는 것보다 훨씬 적습니다.

AutoML이란?

자동화 된 머신 러닝 (AutoML)은 숙련 된 데이터 과학자가 머신 러닝 및 딥 러닝 모델을 구축 할 필요성을 줄이거 나 없애는 것을 목표로합니다. 대신 AutoML 시스템을 사용하면 라벨이 지정된 학습 데이터를 입력으로 제공하고 최적화 된 모델을 출력으로받을 수 있습니다.

이에 대해 여러 가지 방법이 있습니다. 한 가지 접근 방식은 소프트웨어가 데이터에 대한 모든 종류의 모델을 교육하고 가장 잘 작동하는 모델을 선택하는 것입니다. 이것의 개선은 다른 모델을 결합하는 하나 이상의 앙상블 모델을 구축하는 것입니다. 때때로 (항상은 아님) 더 나은 결과를 제공합니다.

두 번째 기술은 최상의 모델의 하이퍼 파라미터 (아래 설명 됨)를 최적화하여 더 나은 모델을 훈련시키는 것입니다. 기능 엔지니어링 (아래에 설명되어 있음)은 모든 모델 학습에 중요한 추가 기능입니다. 딥 러닝 기술을 해제하는 한 가지 방법은 전이 학습을 사용하여 기본적으로 특정 데이터에 대해 잘 훈련 된 일반 모델을 사용자 지정하는 것입니다.

하이퍼 파라미터 최적화 란 무엇입니까?

모든 기계 학습 모델에는 모델의 각 변수 또는 기능에 대한 가중치를 의미하는 매개 변수가 있습니다. 이는 일반적으로 오류의 역전 파와 확률 적 경사 하강 법과 같은 최적화 프로그램의 제어하에 반복에 의해 결정됩니다.

대부분의 기계 학습 모델에는 훈련 루프 외부에 설정된 하이퍼 파라미터도 있습니다. 여기에는 학습률, 드롭 아웃 률 및 Random Forest의 트리 수와 같은 모델 별 매개 변수가 포함되는 경우가 많습니다.

하이퍼 파라미터 튜닝 또는 하이퍼 파라미터 최적화 (HPO)는 모델의 하나 이상의 하이퍼 파라미터를 스위핑하거나 검색하여 가장 잘 훈련 된 모델을 생성하는 집합을 찾는 자동 방법입니다. 스위프 (외부 루프)의 각 하이퍼 파라미터 값 세트에 대해 모델을 다시 훈련해야하므로 (내부 루프) 시간이 많이 걸릴 수 있습니다. 여러 모델을 병렬로 훈련하면 더 많은 하드웨어를 사용하는 대신 필요한 시간을 줄일 수 있습니다.

기능 엔지니어링이란 무엇입니까?

기능 현상의 개별 측정 가능한 특성 또는 특성이 관찰되고있다. "특징"의 개념은 선형 회귀와 같은 통계 기법에 사용되는 설명 변수의 개념과 관련이 있습니다. 특징 벡터는 숫자 벡터에 단일 행에 대한 모든 기능을 결합합니다. 특성 엔지니어링 은 모델 학습 프로세스에 대한 입력을 위해 최상의 변수 세트와 최상의 데이터 인코딩 및 정규화를 찾는 프로세스입니다.

기능을 선택하는 기술의 일부 는 문제를 설명 하는 최소한의 독립 변수 집합을 선택하는 것 입니다. 두 변수가 상관 관계가 높은 경우 단일 기능으로 결합하거나 하나를 삭제해야합니다. 때때로 사람들은 주성분 분석 (PCA)을 수행하여 상관 변수를 선형 비 상관 변수 세트로 변환합니다.

기계 분류에 범주 형 데이터를 사용하려면 텍스트 레이블을 다른 형식으로 인코딩해야합니다. 두 가지 일반적인 인코딩이 있습니다.

하나는 레이블 인코딩으로 각 텍스트 레이블 값이 숫자로 대체됨을 의미합니다. 다른 하나원-핫 인코딩 입니다. 즉, 각 텍스트 레이블 값이 이진 값 (1 또는 0)이있는 열로 변환됩니다. 대부분의 기계 학습 프레임 워크에는 변환을 수행하는 기능이 있습니다. 일반적으로 레이블 인코딩이 기계 학습 알고리즘을 혼동하여 인코딩 된 열이 정렬되었다고 생각할 수 있으므로 원-핫 인코딩이 선호됩니다.

기계 회귀에 숫자 데이터를 사용하려면 일반적으로 데이터를 정규화해야합니다. 그렇지 않으면 범위가 더 큰 숫자가 특징 벡터 사이의 유클리드 거리를 지배하는 경향이있을 수 있으며, 다른 필드를 희생시키면서 그 효과가 확대 될 수 있으며, 가장 가파른 하강 최적화는 수렴하기 어려울 수 있습니다. 최소-최대 정규화, 평균 정규화, 표준화 및 단위 길이에 대한 확장을 포함하여 기계 학습을 위해 데이터를 정규화하고 표준화하는 방법에는 여러 가지가 있습니다. 이 프로세스를 종종 기능 확장 이라고 합니다 .

사람들이 새로운 특징을 구성하거나 특징 벡터의 차원을 줄이는 데 사용하는 일부 변환은 간단합니다. 예를 들어, 빼기 Year of Birth에서 Year of Death당신은 구성 Age at Death수명과 사망률 분석을위한 주요 독립 변수이다. 다른 경우에는 기능 구성 이 그렇게 명확하지 않을 수 있습니다.

전이 학습이란 무엇입니까?

전이 학습을 커스텀 머신 러닝이라고도하며, AutoML (대부분 Google)이라고도합니다. Google Cloud AutoML은 데이터에서 모델을 학습 할 때 처음부터 시작하지 않고 자동 딥 전송 학습 (다른 데이터에 대해 학습 된 기존 심층 신경망에서 시작 함을 의미) 및 신경 아키텍처 검색 (추가 데이터의 올바른 조합을 찾는 것을 의미 함)을 구현합니다. 언어 쌍 번역, 자연어 분류 및 이미지 분류를위한 네트워크 계층).

이는 일반적으로 AutoML에서 의미하는 것과는 다른 프로세스이며 많은 사용 사례를 다루지 않습니다. 반면에 지원되는 영역에서 맞춤형 딥 러닝 모델이 필요한 경우 전이 학습은 종종 우수한 모델을 생성합니다.

AutoML 구현

시도해 볼 수있는 AutoML 구현이 많이 있습니다. 일부는 유료 서비스이고 일부는 무료 소스 코드입니다. 아래 목록은 완전하거나 최종적인 것이 아닙니다.

AutoML 서비스

3 대 클라우드 서비스에는 모두 일종의 AutoML이 있습니다. Amazon SageMaker는 하이퍼 파라미터 조정을 수행하지만 자동으로 여러 모델을 시도하거나 기능 엔지니어링을 수행하지는 않습니다. Azure Machine Learning에는 기능과 알고리즘을 훑어 보는 AutoML과 일반적으로 AutoML에서 선택한 최상의 알고리즘에서 실행하는 초 매개 변수 조정이 있습니다. 앞서 설명한대로 Google Cloud AutoML은 언어 쌍 번역, 자연어 분류, 이미지 분류를위한 딥 트랜스퍼 러닝입니다.

많은 소규모 회사에서도 AutoML 서비스를 제공합니다. 예를 들어 AutoML을 발명했다고 주장하는 DataRobot은 시장에서 강력한 평판을 얻고 있습니다. dotData는 시장 점유율이 적고 UI가 평범하지만 강력한 기능 엔지니어링 기능을 갖추고 있으며 많은 엔터프라이즈 사용 사례를 다룹니다. 2017 년에 검토 한 H2O.ai Driverless AI는 데이터 과학자가 Kaggle 마스터와 같은 모델을 만들어 기능 엔지니어링, 알고리즘 스윕 및 하이퍼 파라미터 최적화를 통합 방식으로 수행하는 데 도움이 될 수 있습니다.

AutoML 프레임 워크

AdaNet은 최소한의 전문가 개입으로 고품질 모델을 자동으로 학습하기위한 경량 TensorFlow 기반 프레임 워크입니다. Auto-Keras는 Texas A & M에서 개발 한 자동화 된 기계 학습을위한 오픈 소스 소프트웨어 라이브러리로, 딥 러닝 모델의 아키텍처 및 하이퍼 파라미터를 자동으로 검색하는 기능을 제공합니다. NNI (Neural Network Intelligence)는 사용자가 기계 학습 모델 (예 : 하이퍼 파라미터), 신경망 아키텍처 또는 복잡한 시스템의 매개 변수를 효율적이고 자동으로 설계하고 조정할 수 있도록 도와주는 Microsoft의 도구 키트입니다.

GitHub에서 추가 AutoML 프로젝트와 AutoML에 대한 최신 문서 목록을 확인할 수 있습니다.