검색 공간 정의
하이퍼 매개 변수를 튜닝하는 동안 시도한 하이퍼 매개 변수 값 집합을 검색 공간이라고 합니다. 선택할 수 있는 가능한 값 범위에 대한 정의는 하이퍼 매개 변수의 유형에 따라 달라집니다.
개별 하이퍼 매개 변수
일부 하이퍼 매개 변수에는 불연속 값이 필요합니다. 즉, 유한한 특정 가능성 집합에서 값을 선택해야 합니다. 명시적 값 목록의 선택 항목을 사용하여 불연속 매개 변수에 대한 검색 공간을 정의할 수 있으며, 이들을 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 및 표준 편차 sigma를 사용하여 일반적으로 배포되는 실제 값을 반환합니다.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),
)