검색 공간 정의

완료됨

하이퍼 매개 변수를 튜닝하는 동안 시도한 하이퍼 매개 변수 값 집합을 검색 공간이라고 합니다. 선택할 수 있는 가능한 값 범위에 대한 정의는 하이퍼 매개 변수의 유형에 따라 달라집니다.

개별 하이퍼 매개 변수

일부 하이퍼 매개 변수에는 불연속 값이 필요합니다. 즉, 유한한 특정 가능성 집합에서 값을 선택해야 합니다. 명시적 값 목록의 선택 항목을 사용하여 불연속 매개 변수에 대한 검색 공간을 정의할 수 있으며, 이들을 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),
)