hyperdrive パッケージ
ハイパーパラメーターの調整をサポートするモジュールとクラスが含まれています。
ハイパーパラメーターは、モデル トレーニング用に選択する調整可能なパラメーターで、トレーニング プロセスをガイドします。 HyperDrive パッケージは、これらのパラメーターの選択を自動化するのに役立ちます。 たとえば、パラメーター検索空間を不連続または連続として定義し、探索空間に対するサンプリング メソッドをランダム、グリッド、またはベイジアンとして定義できます。 また、ハイパーパラメーター調整実験で最適化する主要メトリックを指定し、そのメトリックを最小化するか最大化するかも指定できます。 さらに、パフォーマンスの低い実験の実行を取り消して新しい実行を開始する早期終了ポリシーを定義することもできます。 HyperDrive の再利用可能な機械学習ワークフローを定義するには、hyper_drive_step を使用して Pipeline を作成します。
モジュール
error_definition |
HyperDrive SDK のエラー コード定義。 |
error_strings |
HyperDrive SDK 全体で使用されるエラー文字列のコレクション。 |
exceptions |
HyperDrive によってスローされる例外。 |
parameter_expressions |
ハイパーパラメーター検索空間を記述するために HyperDrive 内で使用できる関数を定義します。 これらの関数は、さまざまな種類のハイパーパラメーター分布を指定するために使用されます。 この分布は、ハイパーパラメーター スイープのサンプリングを構成するときに定義されます。 たとえば、RandomParameterSampling クラスを使用する場合は、不連続値のセットからサンプリングするか、連続値の分布からサンプリングするかを選択できます。 この場合、不連続値のセットの生成には choice 関数を、連続値の分布の生成には uniform 関数を使用できます。 これらの関数の使用例については、チュートリアル (https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters) を参照してください。 |
クラス
BanditPolicy |
Slack 条件に基づく早期終了ポリシーと、評価の頻度および遅延間隔を定義します。 余裕期間、slack_amount、評価間隔を使用して BanditPolicy を初期化します。 |
BayesianParameterSampling |
ハイパーパラメーター検索空間でのベイジアン サンプリングを定義します。 ベイジアン サンプリングでは、新しいサンプルによって報告されるプライマリ メトリックを向上させるために、前のサンプルの実行方法に基づいて、ハイパーパラメーターの次のサンプルをインテリジェントに選択しようと試みます。 BayesianParameterSampling を初期化します。 |
EarlyTerminationPolicy |
すべての早期終了ポリシーの抽象基底クラス。 早期終了ポリシーを初期化します。 |
GridParameterSampling |
ハイパーパラメーター検索空間でのグリッド サンプリングを定義します。 GridParameterSampling を初期化します。 |
HyperDriveConfig |
HyperDrive の実行を定義する構成。 HyperDrive の構成には、ハイパーパラメーター空間サンプリング、終了ポリシー、プライマリ メトリック、構成からの再開、推定器、実験の実行を実行するコンピューティング先に関する情報が含まれています。 HyperDriveConfig を初期化します。 |
HyperDriveRun |
HyperDriveRun には、送信された HyperDrive 実験の詳細が含まれています。 このクラスは、HyperDrive 実行と、生成された各子実行の管理、状態の検査、実行の詳細を取得に使用できます。 HyperDrive の実行を初期化します。 |
HyperDriveRunConfig |
HyperDrive の実行を定義する構成。 構成には、パラメーター空間サンプリング、終了ポリシー、プライマリ メトリック、推定器、実験の実行を実行するコンピューティング先に関する情報が含まれています。 HyperDriveConfig を初期化します。 |
HyperParameterSampling |
すべてのハイパーパラメーター サンプリング アルゴリズムの抽象基底クラス。 このクラスにより、BayesianParameterSampling、GridParameterSampling、RandomParameterSampling の各派生サンプリング クラスのハイパーパラメーター空間、サンプリング メソッド、その他のプロパティがカプセル化されます。 HyperParameterSampling を初期化します。 |
MedianStoppingPolicy |
すべての実行の主要メトリックの実行平均に基づいて早期終了ポリシーを定義します。 MedianStoppingPolicy を初期化します。 |
NoTerminationPolicy |
早期終了ポリシーが適用されないことを指定します。 各実行が、完了するまで実行されます。 NoTerminationPolicy を初期化します。 |
RandomParameterSampling |
ハイパーパラメーター検索空間でのランダム サンプリングを定義します。 RandomParameterSampling を初期化します。 |
TruncationSelectionPolicy |
指定された割合の実行を評価間隔ごとに取り消す早期終了ポリシーを定義します。 TruncationSelectionPolicy を初期化します。 |
列挙型
PrimaryMetricGoal |
ハイパーパラメーターの調整でサポートされるメトリック目標を定義します。 メトリックの値が高いほど良いか悪いかは、メトリックの目標によって決まります。 メトリックの目標は、プライマリ メトリックに基づいて実行を比較するときに使用されます。 たとえば、正確性を最大限に高める場合や、エラーを最小限に抑える場合などです。 プライマリ メトリック名と目標は、HyperDrive の実行を構成するときに HyperDriveConfig クラス内で指定されます。 |
関数
choice
サンプリングする不連続オプション セットを指定します。
choice(*options)
パラメーター
名前 | 説明 |
---|---|
options
必須
|
選択するオプションのリスト。 |
戻り値
型 | 説明 |
---|---|
確率式。 |
lognormal
exp(normal(mu, sigma)) に従って導かれる値を指定します。
戻り値の対数は通常は分散します。 最適化する場合、この変数は正の値に制限されます。
lognormal(mu, sigma)
パラメーター
名前 | 説明 |
---|---|
mu
必須
|
正規分布の平均。 |
sigma
必須
|
正規分布の標準偏差。 |
戻り値
型 | 説明 |
---|---|
確率式。 |
loguniform
対数一様分布を指定します。
戻り値の対数が均等に分布するように、exp(uniform(min_value, max_value)) に従って値が導かれます。 最適化する場合、この変数は間隔 [exp(min_value), exp(max_value)] に制限されます
loguniform(min_value, max_value)
パラメーター
名前 | 説明 |
---|---|
min_value
必須
|
範囲内の最小値は exp(min_value) (その値を含む) になります。 |
max_value
必須
|
範囲内の最大値は exp(max_value) (その値を含む) になります。 |
戻り値
型 | 説明 |
---|---|
確率式。 |
normal
平均ミューと標準偏差シグマを使用して正規分布された実際の値を指定します。
最適化する場合、これは制約されない変数です。
normal(mu, sigma)
パラメーター
名前 | 説明 |
---|---|
mu
必須
|
正規分布の平均。 |
sigma
必須
|
正規分布の標準偏差。 |
戻り値
型 | 説明 |
---|---|
確率式。 |
qlognormal
round(exp(normal(mu, sigma)) / q) * q などの値を指定します。
目標がスムーズで、一方の側に限界がある変数のサイズによってよりスムーズになるという点で、不連続変数に適しています。
qlognormal(mu, sigma, q)
パラメーター
名前 | 説明 |
---|---|
mu
必須
|
正規分布の平均。 |
sigma
必須
|
正規分布の標準偏差。 |
q
必須
|
スムージング係数。 |
戻り値
型 | 説明 |
---|---|
確率式。 |
qloguniform
round(exp(uniform(min_value, max_value) / q) * q 形式の一様分布を指定します。
これは、目標が "スムーズ" であり、値のサイズによってよりスムーズになるが、上と下の両方に境界を付けるべきという点で、不連続変数に適しています。
qloguniform(min_value, max_value, q)
パラメーター
名前 | 説明 |
---|---|
min_value
必須
|
範囲内の最小値 (包含的)。 |
max_value
必須
|
範囲内の最大値 (包含的)。 |
q
必須
|
スムージング係数。 |
戻り値
型 | 説明 |
---|---|
確率式。 |
qnormal
round(normal(mu, sigma) / q) * q などの値を指定します。
mu の周りの値を受け取る可能性があるが、基本的には無限である不連続変数に適しています。
qnormal(mu, sigma, q)
パラメーター
名前 | 説明 |
---|---|
mu
必須
|
正規分布の平均。 |
sigma
必須
|
正規分布の標準偏差。 |
q
必須
|
スムージング係数。 |
戻り値
型 | 説明 |
---|---|
確率式。 |
quniform
round(uniform(min_value, max_value) / q) * q 形式の一様分布を指定します。
これは、目標がまだやや "スムーズ" であるが、上と下の両方に境界を付けるべきという点で、不連続値に適しています。
quniform(min_value, max_value, q)
パラメーター
名前 | 説明 |
---|---|
min_value
必須
|
範囲内の最小値 (包含的)。 |
max_value
必須
|
範囲内の最大値 (包含的)。 |
q
必須
|
スムージング係数。 |
戻り値
型 | 説明 |
---|---|
確率式。 |
randint
[0, upper] の範囲でランダムな整数のセットを指定します。
この分布のセマンティクスは、より離れた整数値と比較して、近くの整数値間の損失関数の相関関係がこれ以上ないということです。 これは、たとえばランダム シードを記述するための適切な分布です。 損失関数が近くの整数値に対してより相関している可能性がある場合は、quniform、qloguniform、qnormal、qlognormal などの "量子化された" 連続分布のいずれかを使用する必要があります。
randint(upper)
パラメーター
名前 | 説明 |
---|---|
upper
必須
|
整数の範囲の排他的な上限。 |
戻り値
型 | 説明 |
---|---|
確率式。 |