検索スペースを定義する
ハイパーパラメーターの調整中に試行されたハイパーパラメーター値のセットは、検索空間と呼ばれます。 選択できる値の範囲の定義は、ハイパーパラメーターの種類によって異なります。
不連続ハイパーパラメーター
ハイパーパラメーターによっては、個別の 値が必要な場合があります。つまり、特定の 有限の セットから値を選択する必要があります。 明示的な値の一覧から 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),
)