Main Content

실험 관리자

실험을 계획 및 실행하며 딥러닝 신경망을 훈련시키고 비교합니다.

R2020a 이후

설명

실험 관리자 앱을 사용하여 다양한 훈련 조건하에서 신경망을 훈련시키는 딥러닝 실험을 만들고 결과를 비교할 수 있습니다. 예를 들어, 실험 관리자를 사용하여 다음을 수행할 수 있습니다.

  • 일련의 하이퍼파라미터 값을 스윕하거나 베이즈 최적화를 사용하여 최적의 훈련 옵션을 찾습니다. 베이즈 최적화를 사용하려면 Statistics and Machine Learning Toolbox™가 필요합니다.

  • 내장 함수 trainnet을 사용하거나 사용자 지정 훈련 함수를 정의합니다.

  • 여러 데이터 세트를 사용한 결과를 비교하거나 여러 심층 신경망 아키텍처를 테스트합니다.

사전 구성된 템플릿으로 시작하면 실험을 빠르게 설정할 수 있습니다. 실험 템플릿은 영상 분류, 영상 회귀, 시퀀스 분류, 오디오 분류, 신호 처리, 의미론적 분할, 사용자 지정 훈련 루프를 포함한 다양한 워크플로를 지원합니다.

실험 브라우저 패널에는 프로젝트에 포함된 실험과 결과의 계층 구조가 표시됩니다. 실험 이름 옆에 있는 아이콘은 실험 유형을 나타냅니다.

  • Blue Erlenmeyer flask icontrainnet 훈련 함수를 사용하는 기본 제공 훈련 실험

  • Purple beaker icon — 사용자 지정 훈련 함수를 사용하는 사용자 지정 훈련 실험

  • Orange round-bottom flask icon — 사용자가 작성한 실험 함수를 사용하는 범용 실험

이 페이지에는 Deep Learning Toolbox™에서 기본 제공되는 훈련 실험 및 사용자 지정 훈련 실험에 대한 정보가 포함되어 있습니다. 앱 사용에 대한 일반적인 내용은 실험 관리자 항목을 참조하십시오. 실험 관리자분류 학습기회귀 학습기 앱과 함께 사용하는 방법에 대한 자세한 내용은 실험 관리자 (Statistics and Machine Learning Toolbox) 항목을 참조하십시오.

필요한 제품

  • Deep Learning Toolbox - 딥러닝을 위한 기본 제공 훈련 실험 또는 사용자 지정 훈련 실험을 실행하고 이러한 실험에 대한 혼동행렬을 보려는 경우 사용합니다.

  • Statistics and Machine Learning Toolbox - 머신러닝을 위한 사용자 지정 훈련 실험과 베이즈 최적화를 사용하는 실험을 실행하려는 경우 사용합니다.

  • Parallel Computing Toolbox™ - 클러스터, 클라우드, 또는 복수의 GPU에서 여러 개의 시행을 실행하거나 하나의 시행만 실행하려는 경우 사용합니다. 자세한 내용은 Run Experiments in Parallel 항목을 참조하십시오.

  • MATLAB® Parallel Server™ - 실험을 원격 클러스터의 일괄 처리 작업으로 넘기려는 경우 사용합니다. 자세한 내용은 Offload Experiments as Batch Jobs to a Cluster 항목을 참조하십시오.

Experiment Manager app

실험 관리자 앱 열기

  • MATLAB 툴스트립: 탭의 MATLAB에서 실험 관리자 아이콘을 클릭합니다.

  • MATLAB 명령 프롬프트: experimentManager를 입력합니다.

앱 사용에 대한 일반적인 내용은 실험 관리자 항목을 참조하십시오.

예제

모두 확장

사전 구성된 실험 템플릿을 사용하여 실험을 빠르게 설정할 수 있습니다.

실험 관리자 앱을 엽니다. 대화 상자에서 새 프로젝트를 만들거나 문서 예제를 열 수 있습니다. 새로 만들기에서 빈 프로젝트를 선택합니다.

다음 대화 상자에서 빈 실험 템플릿을 열거나 AI 워크플로를 지원하는 사전 구성된 실험 템플릿을 열 수 있습니다. 예를 들어 영상 분류 실험에서 사전 구성된 템플릿 하이퍼파라미터 스윕을 사용한 영상 분류를 선택합니다.

Experiment Manager dialog box with blank experiment templates and preconfigured experiment templates

새 프로젝트의 이름과 위치를 지정합니다. 실험 관리자가 프로젝트에서 새 실험을 엽니다.

이 실험은 trainnet 훈련 함수를 사용하는 기본 제공 훈련 실험으로, Blue Erlenmeyer flask 아이콘으로 표시됩니다.

실험 정의 탭에 실험을 정의하는 설명, 하이퍼파라미터, 설정 함수, 훈련 후 메트릭(사용자 지정), 지원 파일이 표시됩니다. 이들 파라미터를 수정하여 실험을 빠르게 설정한 다음 실험을 실행할 수 있습니다.

실험 파라미터를 구성한 후 실험을 실행하고 결과를 비교하는 방법에 대한 자세한 내용은 실험 관리자 항목을 참조하십시오.

Experiment definition tab for the experiment created using the preconfigured image classification template

trainnet 함수와 완전 하이퍼파라미터 스윕을 사용하여 훈련시키는 실험을 설정합니다. 기본 제공 훈련 실험은 영상, 시퀀스, 시계열 또는 특징 분류 및 회귀와 같은 워크플로를 지원합니다.

실험 관리자 앱을 엽니다. 대화 상자에서 새 프로젝트를 만들거나 문서 예제를 열 수 있습니다. 새로 만들기에서 빈 프로젝트를 선택합니다.

다음 대화 상자에서 빈 실험 템플릿을 열거나 AI 워크플로를 지원하는 사전 구성된 실험 템플릿을 열 수 있습니다. 빈 실험에서 빈 템플릿 기본 제공 훈련(trainnet)을 선택합니다.

이 실험은 trainnet 훈련 함수를 사용하는 기본 제공 훈련 실험으로, Blue Erlenmeyer flask 아이콘으로 표시됩니다.

실험 정의 탭에 실험을 정의하는 설명, 하이퍼파라미터, 설정 함수, 훈련 후 메트릭(사용자 지정), 지원 파일이 표시됩니다. 빈 실험 템플릿으로 시작할 때는 이들 파라미터를 사용자가 직접 구성해야 합니다. 일부 파라미터가 사전 구성된 템플릿을 사용하고 싶으면 실험 관리자 대화 상자에서 사전 구성된 기본 제공 훈련 템플릿 중 하나를 선택하십시오.

Experiment definition tab showing the default configuration for a built-in training experiment

실험 파라미터를 구성합니다.

  • 설명 — 실험에 대한 설명을 입력합니다.

  • 하이퍼파라미터 — 하이퍼파라미터 값의 모든 조합을 사용하려면 전략을 완전 스윕으로 지정합니다. 그런 다음 실험에 사용할 하이퍼파라미터를 정의합니다.

    예를 들어 Evaluate Deep Learning Experiments by Using Metric Functions의 경우 전략은 완전 스윕이고 하이퍼파라미터는 InitialLearnRateMomentum입니다.

    Hyperparameters section showing the exhaustive sweep execution strategy and two sets of hyperparameter names and values

  • 설정 함수설정 함수 시그니처 중 하나를 사용하여 훈련 데이터, 신경망 아키텍처, 손실 함수, 훈련 옵션을 구성합니다. 설정 함수 입력값은 하이퍼파라미터 테이블의 필드로 구성된 구조체입니다. 출력값은 trainnet 함수의 입력값과 일치해야 합니다.

    예를 들어 Evaluate Deep Learning Experiments by Using Metric Functions의 경우, 설정 함수는 하이퍼파라미터로 구성된 구조체에 액세스하여 훈련 함수에 입력값을 반환합니다. 설정 함수는 ClassificationExperiment_setup.mlx라는 파일에 정의되어 있습니다.

    Setup function section showing the function name ClassificationExperiment_setup

  • 훈련 후 메트릭(사용자 지정) — 각 시행 후 메트릭을 계산하여 결과값 테이블에 표시합니다. 사용자 지정 메트릭 함수를 만들려면 훈련 후 메트릭(사용자 지정) 섹션에서 추가 버튼을 클릭합니다. 그런 다음 테이블에서 메트릭을 선택하고 편집을 클릭하여 MATLAB 편집기에서 함수를 열고 수정합니다. 실험에 가장 적합한 하이퍼파라미터 조합을 결정하려면 결과값 테이블에서 이 메트릭 값을 검사합니다.

    예를 들어 Evaluate Deep Learning Experiments by Using Metric Functions의 경우 훈련 후 메트릭(사용자 지정)은 OnesAsSevensSevensAsOnes 함수에 의해 지정됩니다. 함수는 OnesAsSevens.mlxSevensAsOnes.mlx라는 파일에 정의되어 있습니다. 결과값 테이블에 이 메트릭이 표시됩니다.

    Experiment definition tab showing the configuration for a built-in image classification experiment using Bayesian optimization

실험 파라미터를 구성한 후 실험을 실행하고 결과를 비교하는 방법에 대한 자세한 내용은 실험 관리자 항목을 참조하십시오.

trainnet 함수와 베이즈 최적화를 사용하여 훈련시키는 실험을 설정합니다. 기본 제공 훈련 실험은 영상, 시퀀스, 시계열 또는 특징 분류 및 회귀와 같은 워크플로를 지원합니다.

실험 관리자 앱을 엽니다. 대화 상자에서 새 프로젝트를 만들거나 문서 예제를 열 수 있습니다. 새로 만들기에서 빈 프로젝트를 선택합니다.

다음 대화 상자에서 빈 실험 템플릿을 열거나 AI 워크플로를 지원하는 사전 구성된 실험 템플릿을 열 수 있습니다. 빈 실험에서 빈 템플릿 기본 제공 훈련(trainnet)을 선택합니다.

이 실험은 trainnet 훈련 함수를 사용하는 기본 제공 훈련 실험으로, Blue Erlenmeyer flask 아이콘으로 표시됩니다.

실험 정의 탭에 실험을 정의하는 설명, 하이퍼파라미터, 설정 함수, 훈련 후 메트릭(사용자 지정), 지원 파일이 표시됩니다. 빈 실험 템플릿으로 시작할 때는 이들 파라미터를 사용자가 직접 구성해야 합니다. 일부 파라미터가 사전 구성된 템플릿을 사용하고 싶으면 실험 관리자 대화 상자에서 사전 구성된 기본 제공 훈련 템플릿 중 하나를 선택하십시오.

Experiment definition tab showing the default configuration for a built-in training experiment

실험 파라미터를 구성합니다.

  • 설명 — 실험에 대한 설명을 입력합니다.

  • 하이퍼파라미터 — 전략을 베이즈 최적화(Statistics and Machine Learning Toolbox)로 지정합니다. 하이퍼파라미터를 하한과 상한을 지정하는 요소를 2개 가진 벡터로 지정하거나, 가능한 하이퍼파라미터 값들을 나열하는 string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정합니다. 실험은 지정된 메트릭을 최적화하고 실험에 가장 적합한 하이퍼파라미터 조합을 자동으로 결정합니다. 그런 다음 최대 시간, 최대 시행 횟수, 베이즈 최적화의 고급 옵션을 지정합니다.

    예를 들어 Tune Experiment Hyperparameters by Using Bayesian Optimization의 경우 전략은 베이즈 최적화입니다. 하이퍼파라미터 이름은 SectionDepth, InitialLearnRate, Momentum, L2Regularization입니다. 최대 시행 횟수는 30입니다.

    Hyperparameters section showing the Bayesian optimization execution strategy and four sets of hyperparameter names, ranges, types, and transform

  • 설정 함수설정 함수 시그니처 중 하나를 사용하여 훈련 데이터, 신경망 아키텍처, 손실 함수, 훈련 옵션을 구성합니다. 설정 함수 입력값은 하이퍼파라미터 테이블의 필드로 구성된 구조체입니다. 출력값은 trainnet 함수의 입력값과 일치해야 합니다.

    예를 들어 Tune Experiment Hyperparameters by Using Bayesian Optimization의 경우, 설정 함수는 하이퍼파라미터로 구성된 구조체에 액세스하여 훈련 함수에 입력값을 반환합니다. 설정 함수는 BayesOptExperiment_setup.mlx라는 파일에 정의되어 있습니다.

    Setup function section showing the function name BayesOptExperiment_setup.mlx

  • 훈련 후 메트릭(사용자 지정) — 최적화 방향과 표준 훈련 또는 검증 메트릭(예: 정확도, RMSE 또는 손실)을 선택하거나 테이블에서 사용자 지정 메트릭을 선택합니다. 메트릭 함수의 출력값은 숫자형, 논리형 또는 string형 스칼라여야 합니다.

    예를 들어 Tune Experiment Hyperparameters by Using Bayesian Optimization의 경우 훈련 후 메트릭(사용자 지정)은 ErrorRate 함수에 의해 지정됩니다. 이 함수는 ErrorRate.mlx라는 파일에 정의되어 있습니다. 실험은 이 메트릭을 최소화합니다.

    Experiment definition tab showing the configuration for a built-in image classification experiment using Bayesian optimization

실험 파라미터를 구성한 후 실험을 실행하고 결과를 비교하는 방법에 대한 자세한 내용은 실험 관리자 항목을 참조하십시오.

사용자 지정 훈련 함수를 사용하여 훈련시킨 후 사용자 지정 시각화를 만드는 실험을 설정합니다.

사용자 지정 훈련 실험은 trainnet 이외의 훈련 함수가 필요한 워크플로를 지원합니다. 그러한 워크플로에는 다음이 포함됩니다.

  • 계층 그래프로 정의되지 않는 신경망의 훈련

  • 사용자 지정 학습률 조정 계획을 사용하여 신경망 훈련

  • 사용자 지정 함수를 사용하여 신경망의 학습 가능한 파라미터 업데이트

  • 생성적 적대 신경망(GAN) 훈련

  • 트윈 신경망 훈련

실험 관리자 앱을 엽니다. 대화 상자에서 새 프로젝트를 만들거나 문서 예제를 열 수 있습니다. 새로 만들기에서 빈 프로젝트를 선택합니다.

다음 대화 상자에서 빈 실험 템플릿을 열거나 AI 워크플로를 지원하는 사전 구성된 실험 템플릿을 열 수 있습니다. 빈 실험에서 빈 템플릿 사용자 지정 훈련을 선택합니다.

이 실험은 사용자 지정 훈련 함수를 사용하는 사용자 지정 훈련 실험으로, Purple beaker 아이콘으로 표시됩니다.

실험 정의 탭에 실험을 정의하는 설명, 하이퍼파라미터, 훈련 함수, 지원 파일이 표시됩니다. 빈 실험 템플릿으로 시작할 때는 이들 파라미터를 사용자가 직접 구성해야 합니다. 일부 파라미터가 사전 구성된 템플릿을 사용하고 싶으면 실험 관리자 대화 상자에서 사전 구성된 사용자 지정 훈련 템플릿 중 하나를 선택하십시오.

Experiment definition tab showing the default configuration for a custom training experiment

실험 파라미터를 구성합니다.

  • 설명 — 실험에 대한 설명을 입력합니다.

  • 하이퍼파라미터 — 전략을 완전 스윕 또는 베이즈 최적화(Statistics and Machine Learning Toolbox)로 지정한 다음 실험에 사용할 하이퍼파라미터를 정의합니다. 완전 스윕은 하이퍼파라미터 값의 모든 조합을 사용하는 반면, 베이즈 최적화는 지정된 메트릭을 최적화하고 실험에 가장 적합한 하이퍼파라미터 조합을 자동으로 결정합니다.

    예를 들어 Run a Custom Training Experiment for Image Comparison의 경우 전략은 완전 스윕이고 하이퍼파라미터는 WeightsInitializerBiasInitializer입니다.

    Hyperparameters section showing the exhaustive sweep execution strategy and two sets of hyperparameter names and values

  • 훈련 함수 — 훈련 데이터, 신경망 아키텍처, 훈련 절차 및 사용자 지정 시각화를 구성합니다. 실험 관리자가 이 함수의 출력값을 저장하기 때문에, 훈련이 끝나면 사용자는 이를 MATLAB 작업 공간으로 내보낼 수 있습니다. 훈련 함수 입력값은 하이퍼파라미터 테이블의 필드로 구성된 구조체와 experiments.Monitor 객체입니다. 이 객체를 사용하여 훈련 진행 상황을 추적하고, 결과값 테이블의 정보 필드를 업데이트하며, 훈련에 사용된 메트릭의 값을 기록하고, 플롯을 생성할 수 있습니다.

    예를 들어 Run a Custom Training Experiment for Image Comparison의 경우, 훈련 함수는 하이퍼파라미터로 구성된 구조체에 액세스하여 훈련된 신경망을 포함하는 구조체를 반환합니다. 훈련 함수는 사용자 지정 훈련 루프를 구현하여 트윈 신경망을 훈련시킵니다. 이 함수는 프로젝트의 ImageComparisonExperiment_training.mlx라는 파일에 정의되어 있습니다.

    Training function section showing the function name ImageComparisionExperiment_training

    또한 훈련 함수는 훈련이 완료되면 시각화 Test Images를 생성하여 훈련 영상 쌍을 표시합니다.

    Comparison of Test Images plot showing 10 images and their comparison results

실험 파라미터를 구성한 후 실험을 실행하고 결과를 비교하는 방법에 대한 자세한 내용은 실험 관리자 항목을 참조하십시오.

Parallel Computing Toolbox 또는 MATLAB Parallel Server가 있는 경우 일부 실험의 실행 시간을 줄일 수 있습니다.

기본적으로 실험 관리자는 한 번에 하나의 시행을 실행합니다. Parallel Computing Toolbox가 있는 경우에는 동시에 여러 시행을 실행하거나 클러스터, 클라우드, 여러 GPU에서 단일 시행을 실행할 수 있습니다. MATLAB Parallel Server를 사용하고 있다면 실험을 원격 클러스터의 일괄 처리 작업으로 넘길 수도 있습니다. 이렇게 하면 하던 작업을 계속하거나 실험이 실행되는 중에 MATLAB 세션을 닫을 수 있습니다.

실험 관리자 툴스트립의 실행 섹션에서 모드 목록을 사용하여 실행 모드를 지정합니다. 순차적 일괄 처리 또는 동시 일괄 처리 실행 모드를 선택하는 경우 툴스트립의 클러스터 목록 및 풀 크기 필드를 사용하여 클러스터와 풀 크기를 지정하십시오.

자세한 내용은 Run Experiments in Parallel 또는 Offload Experiments as Batch Jobs to a Cluster 항목을 참조하십시오.

관련 예제

세부 정보

모두 확장

  • 신경망을 시각화하고 구축하려면 심층 신경망 디자이너 앱을 사용합니다.

  • 실험의 크기를 줄이려면 더 이상 관련이 없는 시행의 결과와 시각화를 폐기합니다. 결과값 테이블의 동작 열에서 시행의 폐기 버튼 을 클릭합니다.

  • 설정 함수에서 점 표기법을 사용하여 하이퍼파라미터 값에 액세스합니다. 자세한 내용은 구조체형 배열 항목을 참조하십시오.

  • 배치 정규화 계층을 포함하는 신경망의 경우 BatchNormalizationStatistics 훈련 옵션이 population이면 실험 관리자는 최종 검증 메트릭 값을 표시합니다. 이 값은 종종 이 훈련 중에 계산된 검증 메트릭과 다릅니다. 이러한 값의 차이는 신경망이 훈련을 종료한 후에 수행한 추가 연산의 결과입니다. 자세한 내용은 배치 정규화 계층 항목을 참조하십시오.

버전 내역

R2020a에 개발됨

모두 확장