Amazon SageMaker
開発者ガイド

イメージ分類ハイパーパラメータ

パラメーター名 説明
num_classes

出力クラスの数。このパラメータは、ネットワーク出力のディメンションを定義し、通常はデータセット内のクラス数に設定されます。

必須

有効な値: 正の整数

num_training_samples

入力データセット内のトレーニング例の数。

この値とトレーニングセット内のサンプル数が一致しない場合、lr_scheduler_step パラメータの動作は未定義になり、分散型トレーニングの精度に影響することがあります。

必須

有効な値: 正の整数

augmentation_type

データ補強タイプ。入力イメージは、次に示す複数の方法で補強できます。

  • crop: イメージをランダムにトリミングし、水平に反転させます

  • crop_color: "トリミング" に加えて、[-36, 36]、[-50, 50]、および [-50, 50] の範囲の 3 つのランダム値がそれぞれ対応する色相、彩度、輝度チャネルに加算されます

  • crop_color_transform: crop_color に加えて、回転、せん断、アスペクト比のバリエーションなどのランダムな変換がイメージに適用されます。最大回転角度は 10 度、最大せん断比は 0.1、最大アスペクト変化比は 0.25 です。

オプション

有効な値: cropcrop_color、または crop_color_transform

デフォルト値: なし

beta_1

adam の beta1。つまり、最初のモーメントの見積もりの指数関数的減衰率です。

オプション

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.9

beta_2

adam の beta2。つまり、2 番目のモーメントの見積もりの指数関数的減衰率です。

オプション

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.999

checkpoint_frequency

モデルパラメータを保存する期間 (エポック数)。

オプション

有効な値: epochs 以下の正の整数。

デフォルト値: なし (検証精度が最も高いエポックにチェックポイントを保存します。)

early_stopping

トレーニング中に早期停止ロジックを使用する場合は True。使用しない場合は False

オプション

有効な値: True または False

デフォルト値: False

early_stopping_min_epochs

早期停止ロジックを呼び出す前に実行する必要があるエポックの最小数。early_stopping = True の場合にのみ使用されます。

オプション

有効な値: 正の整数

デフォルト値: 10

early_stopping_patience

関連メトリクスで改善が見られなかった場合にトレーニングを終了する前に待機するエポックの数。early_stopping = True の場合にのみ使用されます。

オプション

有効な値: 正の整数

デフォルト値: 5

early_stopping_tolerance

精度検証メトリクスの改善を測定する相対的な許容値。精度の改善を前回の最高精度で除算した比率が early_stopping_tolerance 値セットより小さい場合、早期停止は改善がないと見なします。early_stopping = True の場合にのみ使用されます。

オプション

有効な値: 0 ≤ 浮動小数点数 ≤ 1

デフォルト値: 0.0

epochs

トレーニングエポックの数。

オプション

有効な値: 正の整数

デフォルト値: 30

eps

adamrmsprop のイプシロン。通常は、0 で除算されないように小さな値に設定されます。

オプション

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 1e-8

gamma

rmsprop のガンマ、二乗勾配の移動平均の減衰係数。

オプション

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.9

image_shape

入力イメージのディメンション。これはネットワークの入力レイヤーと同じサイズになります。フォーマットは "num_channels, 高さ, 幅" として定義されます。ネットワークが入力の多様なディメンションを処理できるため、イメージディメンションは任意の値を受け取ることができます。ただし、大きなイメージディメンションが使用されている場合はメモリの制約がある可能性があります。イメージ分類の一般的なイメージディメンションは "3, 224, 224" です。これは ImageNet データセットに似ています。

オプション

有効な値: 文字列

デフォルト値: "3, 224, 224"

kv_store

分散型トレーニング中の重み更新同期モード。重み更新は、複数マシン間で同期的または非同期的に更新できます。同期更新は、一般には非同期更新よりも精度が高くなりますが、低速な可能性があります。詳細については、MXNet の分散型トレーニングを参照してください。

このパラメータは、単一のマシントレーニングには適用されません。

  • dist_sync: 勾配はすべてのワーカーで各バッチの後に同期されます。dist_sync では、バッチサイズは各マシンで使用されるバッチサイズを意味します。したがって、n 台のマシンがあり、バッチサイズ b を使用する場合、dist_sync はバッチサイズ n*b でローカルのように動作します。

  • dist_async: 非同期更新を実行します。重みはマシンから勾配を受け取るたびに更新され、重みの更新はアトミックです。ただし、その順序は保証されません。

オプション

有効な値: dist_sync または dist_async

デフォルト値: なし

learning_rate

初期学習レート。

オプション

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.1

lr_scheduler_factor

lr_scheduler_step = lr_new * lr_old として定義される、lr_scheduler_factor パラメータと組み合わせて使用される学習レートを下げる率。

オプション

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.1

lr_scheduler_step

学習レートを下げるエポック。lr_scheduler_factor パラメータで説明しているように、学習レートはこれらのエポックで lr_scheduler_factor だけ下げられます。たとえば、値が "10, 20" に設定されている場合、学習レートは 10 番目のエポックの後に lr_scheduler_factor だけ下げられ、20 番目のエポックの後に再び lr_scheduler_factor だけ下げられます。エポックは "," で区切られます。

オプション

有効な値: 文字列

デフォルト値: なし

mini_batch_size

トレーニングのバッチサイズ。単一マシンのマルチ GPU の設定では、各 GPU は mini_batch_size/num_gpu トレーニングサンプルを処理します。dist_sync モードの複数マシントレーニングでは、実際のバッチサイズは mini_batch_size * マシン数です。詳細については、MXNet のドキュメントを参照してください。

オプション

有効な値: 正の整数

デフォルト値: 32

momentum

sgdnag のモーメンタムであり、他のオプティマイザでは無視されます。

オプション

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.9

multi_label

各サンプルに複数のラベルを割り当てることができる複数ラベル分類に使用するフラグ。全クラスの平均精度が記録されます。

オプション

有効な値: 0 または 1

デフォルト値: 0

num_layers

ネットワークのレイヤー数。大きなイメージサイズ (たとえば、224x224 - ImageNet など) のデータでは、レイヤー数をセット [18、34、50、101、152、200] から選択することをお勧めします。小さなイメージサイズ (たとえば、28x28 - CIFAR など) のデータでは、レイヤー数をセット [20、32、44、56、110] から選択することをお勧めします。各セット内のレイヤー数は ResNet の論文に基づきます。転移学習では、レイヤー数は基本ネットワークのアーキテクチャを定義するため、セット [18、34、50、101、152、200] からのみ選択できます。

オプション

有効な値: [18, 34, 50, 101, 152, 200] または [20, 32, 44, 56, 110] 内の正の整数。

デフォルト値: 152

optimizer

オプティマイザのタイプ。オプティマイザのパラメータの詳細については、MXNet の API を参照してください。

オプション

有効な値: sgdadamrmspropnag のいずれか。

デフォルト値: sgd

precision_dtype

トレーニングに使用される重みの精度。アルゴリズムは、重みに単精度 (float32) または半精度 (float16) を使用できます。重みに半精度を使用すると、メモリ消費量が減少します。

オプション

有効な値: float32 または float16

デフォルト値: float32

resize

トレーニングに使用する前にイメージのサイズを変更します。最も短い辺がこのパラメータで指定されたピクセル数になるようにイメージのサイズが変更されます。パラメータが設定されていない場合、トレーニングデータはサイズ変更なしで使用されます。

オプション

有効な値: 正の整数

デフォルト値: なし

top_k

トレーニング中に top-k 精度を報告します。top-1 トレーニング精度はすでに報告されている通常のトレーニング精度と同じであるため、このパラメータは 1 より大きい必要があります。

オプション

有効な値: 1 より大きい正の整数。

デフォルト値: なし

use_pretrained_model

トレーニングに事前トレーニング済みモデルを使用するためのフラグ。1 に設定すると、対応するレイヤー数の事前トレーニング済みモデルがロードされ、トレーニングに使用されます。最上位 FC レイヤーのみがランダムな重みで再初期化されます。それ以外の場合、ネットワークはゼロからトレーニングされます。

オプション

有効な値: 0 または 1

デフォルト値: 0

use_weighted_loss

重みがクラスの分布に基づいて計算される、複数ラベル分類に重み付き交差エントロピー損失を使用するためのフラグ (multi_label = 1 の場合にのみ使用)。

オプション

有効な値: 0 または 1

デフォルト値: 0

weight_decay

sgdnag の係数重み減衰であり、他のオプティマイザでは無視されます。

オプション

有効な値: 浮動小数点数。[0, 1] の範囲です。

デフォルト値: 0.0001