검색 공간 정의
하이퍼 매개 변수 튜닝 중에 시도된 하이퍼 매개 변수 값 집합을 검색 공간이라고 합니다. 선택할 수 있는 가능한 값 범위의 정의는 하이퍼 매개 변수의 형식에 따라 달라집니다.
개별 하이퍼 매개 변수
일부 하이퍼 매개 변수에는 불연속 값이 필요합니다. 즉, 특정 유한 가능성 집합에서 값을 선택해야 합니다. 명시적 값 목록에서 Choice 사용하여 불연속 매개 변수에 대한 검색 공간을 정의할 수 있습니다. 이 매개 변수는 Python 목록(Choice(values=[10,20,30])), 범위(Choice(values=range(1,10))) 또는 임의의 쉼표로 구분된 값 집합(Choice(values=(30,50,100)))으로 정의할 수 있습니다.
다음 불연속 분포 중 하나에서 불연속 값을 선택할 수도 있습니다.
QUniform(min_value, max_value, q): round(Uniform(min_value, max_value) / q) * q와 같은 값을 반환합니다.QLogUniform(min_value, max_value, q): round(exp(Uniform(min_value, max_value)) / q) * q와 같은 값을 반환합니다.QNormal(mu, sigma, q): round(Normal(mu, sigma) / q) * q와 같은 값을 반환합니다.QLogNormal(mu, sigma, q): round(exp(normal(mu, sigma)) / q) * q와 같은 값을 반환합니다.
연속 하이퍼 매개 변수
일부 하이퍼 매개 변수는 연속 됩니다. 즉, 스케일링에 따라 모든 값을 사용할 수 있으므로 가능성이 무한합니다. 이러한 종류의 값에 대한 검색 공간을 정의하려면 다음 배포 유형을 사용할 수 있습니다.
Uniform(min_value, max_value): min_value max_value 사이에 균일하게 분산된 값을 반환합니다.LogUniform(min_value, max_value): 반환 값의 로그가 균일하게 분산되도록 exp(Uniform(min_value, max_value))에 따라 추출한 값을 반환합니다.Normal(mu, sigma): 일반적으로 평균 mu 및 표준 편차 시그마를 사용하여 분산되는 실제 값을 반환합니다.LogNormal(mu, sigma): 반환되는 값은 exp(Normal(mu, sigma))에 따라 그려지며, 이 값의 로그는 정규 분포를 따릅니다.
검색 공간 정의
하이퍼 매개 변수 튜닝을 위한 검색 공간을 정의하려면 명명된 각 하이퍼 매개 변수에 적절한 매개 변수 식을 사용하여 사전을 만듭니다.
예를 들어 다음 검색 공간은 batch_size 하이퍼 매개 변수 값이 16, 32 또는 64일 수 있으며, learning_rate 하이퍼 매개 변수는 평균이 10이고 표준 편차가 3인 일반 분포의 값을 가질 수 있음을 나타냅니다.
from azure.ai.ml.sweep import Choice, Normal
command_job_for_sweep = job(
batch_size=Choice(values=[16, 32, 64]),
learning_rate=Normal(mu=10, sigma=3),
)