検索空間を定義する

完了

ハイパーパラメーターの調整中に試行されたハイパーパラメーター値のセットは、"検索空間" と呼ばれます。 選択可能な値の範囲の定義は、ハイパーパラメーターの型によって異なります。

不連続ハイパーパラメーター

一部のハイパーパラメーターには "不連続" 値が必要です。つまり、特定の "有限な" セットの可能性から値を選択する必要があります。 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): 平均ミューと標準偏差シグマを使用して正規分布された実際の値を返します
  • 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),
)