hyperdrive 패키지
하이퍼 매개 변수 튜닝을 지원하는 모듈 및 클래스가 포함되어 있습니다.
하이퍼 매개 변수는 학습 프로세스를 안내하는 모델 학습을 위해 선택하는 조정 가능한 매개 변수입니다. HyperDrive 패키지는 이러한 매개 변수 선택을 자동화하는 데 도움이 됩니다. 예를 들어 매개 변수 검색 공간을 불연속 또는 연속으로 정의하고 검색 공간에 대한 샘플링 메서드를 임의, 그리드 또는 베이지언으로 정의할 수 있습니다. 또한 하이퍼 매개 변수 튜닝 실험에서 최적화할 기본 메트릭과 해당 메트릭의 최소화 또는 최대화 여부를 지정할 수 있습니다. 또한 성능이 저조한 실험 실행이 취소되고 새로운 실험 실행이 시작되는 조기 종료 정책을 정의할 수 있습니다. HyperDrive에 대해 재사용 가능한 기계 학습 워크플로를 정의하려면 hyper_drive_step을 사용하여 Pipeline을 만듭니다.
모듈
error_definition |
HyperDrive SDK의 오류 코드 정의입니다. |
error_strings |
HyperDrive SDK 전체에서 사용되는 오류 문자열 컬렉션입니다. |
exceptions |
HyperDrive에서 throw된 예외입니다. |
parameter_expressions |
하이퍼 매개 변수 검색 공간을 설명하기 위해 HyperDrive에서 사용할 수 있는 함수를 정의합니다. 이러한 함수는 다양한 형식의 하이퍼 매개 변수 분포를 지정하는 데 사용됩니다. 분포는 하이퍼 매개 변수 스윕에 대한 샘플링을 구성할 때 정의됩니다. 예를 들어, RandomParameterSampling 클래스를 사용할 때 불연속 값 집합 또는 연속 값 분포에서 샘플링하도록 선택할 수 있습니다. 이 경우 choice 함수를 사용하여 이산 값 집합을 생성하고 uniform 함수를 사용하여 연속 값 분포를 생성할 수 있습니다. 이러한 함수를 사용하는 예는 자습서 https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters를 참조하세요. |
클래스
BanditPolicy |
slack 기준과 평가를 위한 빈도 및 지연 간격을 기반으로 조기 종료 정책을 정의합니다. slack 요소, slack_amount 및 평가 간격을 사용하여 BanditPolicy를 초기화합니다. |
BayesianParameterSampling |
하이퍼 매개 변수 검색 공간에 대한 베이지언 샘플링을 정의합니다. 베이지언 샘플링은 이전 샘플의 성능을 기반으로 하이퍼 매개 변수의 다음 샘플을 지능적으로 선택하여 새 샘플이 보고된 기본 메트릭을 개선하도록 합니다. BayesianParameterSampling을 초기화합니다. |
EarlyTerminationPolicy |
모든 조기 종료 정책에 대한 추상 기본 클래스입니다. 조기 종료 정책을 초기화합니다. |
GridParameterSampling |
하이퍼 매개 변수 검색 공간에 대한 그리드 샘플링을 정의합니다. GridParameterSampling을 초기화합니다. |
HyperDriveConfig |
HyperDrive 실행을 정의하는 구성입니다. HyperDrive 구성에는 하이퍼 매개 변수 공간 샘플링, 종료 정책, 기본 메트릭, 구성에서 다시 시작, 예측 도구 및 실험을 실행할 컴퓨팅 대상에 대한 정보가 포함되어 있습니다. HyperDriveConfig를 초기화합니다. |
HyperDriveRun |
HyperDriveRun에는 제출된 HyperDrive 실험의 세부 정보가 포함되어 있습니다. 이 클래스는 HyperDrive 실행 및 생성된 각 자식 실행에 대한 실행 세부 정보를 관리, 확인 및 검색하는 데 사용할 수 있습니다. HyperDrive 실행을 초기화합니다. |
HyperDriveRunConfig |
HyperDrive 실행을 정의하는 구성입니다. 구성에는 매개 변수 공간 샘플링, 종료 정책, 기본 메트릭, 예측 도구 및 실험 실행을 실행할 컴퓨팅 대상에 대한 정보가 포함되어 있습니다. HyperDriveConfig를 초기화합니다. |
HyperParameterSampling |
모든 하이퍼 매개 변수 샘플링 알고리즘에 대한 추상 기본 클래스입니다. 이 클래스는 하이퍼 매개 변수 공간, 샘플링 메서드, 파생된 샘플링 클래스(BayesianParameterSampling, GridParameterSampling, RandomParameterSampling)에 대한 추가 속성을 캡슐화합니다. HyperParameterSampling을 초기화합니다. |
MedianStoppingPolicy |
모든 실행의 기본 메트릭의 실행 평균을 기반으로 조기 종료 정책을 정의합니다. MedianStoppingPolicy를 초기화합니다. |
NoTerminationPolicy |
조기 종료 정책이 적용되지 않도록 지정합니다. 각 실행은 완료될 때까지 진행됩니다. NoTerminationPolicy를 초기화합니다. |
RandomParameterSampling |
하이퍼 매개 변수 검색 공간에 대한 임의 샘플링을 정의합니다. RandomParameterSampling을 초기화합니다. |
TruncationSelectionPolicy |
각 평가 간격에서 지정된 비율의 실행을 취소하는 조기 종료 정책을 정의합니다. TruncationSelectionPolicy를 초기화합니다. |
열거형
PrimaryMetricGoal |
하이퍼 매개 변수 튜닝을 위해 지원되는 메트릭 목표를 정의합니다. 메트릭 목표는 메트릭에 대한 더 높은 값이 더 좋은지 나쁜지 여부를 결정하는 데 사용됩니다. 메트릭 목표는 기본 메트릭을 기반으로 실행을 비교할 때 사용됩니다. 예를 들어 정확도를 최대화하거나 오류를 최소화할 수 있습니다. 기본 메트릭 이름과 목표는 HyperDrive 실행을 구성할 때 HyperDriveConfig 클래스에 지정됩니다. |
함수
choice
샘플링할 개별 옵션 집합을 지정합니다.
choice(*options)
매개 변수
Name | Description |
---|---|
options
필수
|
선택할 수 있는 옵션 목록입니다. |
반환
형식 | Description |
---|---|
확률적 표현입니다. |
lognormal
exp(normal(mu, sigma))에 따라 그려지는 값을 지정합니다.
반환 값의 로그는 정규 분포를 따릅니다. 최적화할 때 이 변수는 양수로 제한됩니다.
lognormal(mu, sigma)
매개 변수
Name | Description |
---|---|
mu
필수
|
정규 분포의 평균입니다. |
sigma
필수
|
정규 분포의 표준 편차입니다. |
반환
형식 | Description |
---|---|
확률적 표현입니다. |
loguniform
로그 균일 분포를 지정합니다.
반환 값의 로그가 균일하게 분포되도록 exp(uniform(min_value, max_value))에 따라 값을 그립니다. 최적화할 때 이 변수는 [exp(min_value), exp(max_value)] 간격으로 제한됩니다.
loguniform(min_value, max_value)
매개 변수
Name | Description |
---|---|
min_value
필수
|
범위의 최솟값은 exp(min_value)(포함)입니다. |
max_value
필수
|
범위의 최댓값은 exp(max_value)(포함)입니다. |
반환
형식 | Description |
---|---|
확률적 표현입니다. |
normal
평균 mu 및 표준 편차 시그마로 정규 분포되는 실수 값을 지정합니다.
최적화할 때 이는 제약이 없는 변수입니다.
normal(mu, sigma)
매개 변수
Name | Description |
---|---|
mu
필수
|
정규 분포의 평균입니다. |
sigma
필수
|
정규 분포의 표준 편차입니다. |
반환
형식 | Description |
---|---|
확률적 표현입니다. |
qlognormal
round(exp(normal(mu, sigma))/q) * q와 같은 값을 지정합니다.
목표가 원활하고 한 쪽에서 경계가 지정된 변수의 크기로 더 매끄럽게 되는 불연속 변수에 적합합니다.
qlognormal(mu, sigma, q)
매개 변수
Name | Description |
---|---|
mu
필수
|
정규 분포의 평균입니다. |
sigma
필수
|
정규 분포의 표준 편차입니다. |
q
필수
|
다듬기 요소입니다. |
반환
형식 | Description |
---|---|
확률적 표현입니다. |
qloguniform
round(exp(uniform(min_value, max_value)/q) * q 형식의 균일 분포를 지정합니다.
이는 목표가 "부드러운"인 불연속 변수에 적합하며 값의 크기로 더 부드러워지지만 위와 아래에 모두 바인딩되어야 합니다.
qloguniform(min_value, max_value, q)
매개 변수
Name | Description |
---|---|
min_value
필수
|
범위의 최솟값(포함)입니다. |
max_value
필수
|
범위의 최댓값(포함)입니다. |
q
필수
|
다듬기 요소입니다. |
반환
형식 | Description |
---|---|
확률적 표현입니다. |
qnormal
round(normal(mu, sigma)/q) * q와 같은 값을 지정합니다.
mu 주위에 값을 사용하지만 근본적으로 바인딩되지 않은 불연속 변수에 적합합니다.
qnormal(mu, sigma, q)
매개 변수
Name | Description |
---|---|
mu
필수
|
정규 분포의 평균입니다. |
sigma
필수
|
정규 분포의 표준 편차입니다. |
q
필수
|
다듬기 요소입니다. |
반환
형식 | Description |
---|---|
확률적 표현입니다. |
quniform
round(uniform(min_value, max_value)/q) * q 형식의 균일 분포를 지정합니다.
이는 목적이 여전히 다소 "매끄럽지만" 위와 아래 모두에 경계가 지정되어야 하는 이산 값에 적합합니다.
quniform(min_value, max_value, q)
매개 변수
Name | Description |
---|---|
min_value
필수
|
범위의 최솟값(포함)입니다. |
max_value
필수
|
범위의 최댓값(포함)입니다. |
q
필수
|
다듬기 요소입니다. |
반환
형식 | Description |
---|---|
확률적 표현입니다. |
randint
[0, upper) 범위에서 임의의 정수 집합을 지정합니다.
이 분포의 의미는 더 먼 정수 값과 비교할 때 가까운 정수 값 사이의 손실 함수에 더 이상 상관 관계가 없다는 것입니다. 이는 예를 들어 임의의 시드를 설명하는 데 적합한 분포입니다. 손실 함수가 가까운 정수 값에 대해 더 많은 상관 관계가 있는 경우 quniform, qloguniform, qnormal 또는 qlognormal과 같은 "양자화된" 연속 분포 중 하나를 사용해야 합니다.
randint(upper)
매개 변수
Name | Description |
---|---|
upper
필수
|
정수 범위에 대한 상한(제외)입니다. |
반환
형식 | Description |
---|---|
확률적 표현입니다. |