オブジェクト検出ハイパーパラメータ - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

オブジェクト検出ハイパーパラメータ

CreateTrainingJob リクエストで、使用するトレーニングアルゴリズムを指定します。トレーニングデータセットからモデルのパラメータを推定するのに役立つ、アルゴリズム固有のハイパーパラメータを指定することもできます。次の表は、オブジェクト検出アルゴリズムをトレーニング SageMaker するために Amazon が提供するハイパーパラメータを示しています。オブジェクトトレーニングの仕組みについては、オブジェクト検出の仕組みを参照してください。

Parameter Name 説明
num_classes

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

必須

有効な値: 正の整数

num_training_samples

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

注記

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

必須

有効な値: 正の整数

base_network

使用する基本ネットワークアーキテクチャー。

オプション

有効な値: 'vgg-16' または 'resnet-50'

デフォルト値: 'vgg-16'

early_stopping

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

オプション

有効な値: True または False

デフォルト値: False

early_stopping_min_epochs

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

オプション

有効な値: 正の整数

デフォルト値: 10

early_stopping_patience

early_stopping_tolerance ハイパーパラメータで定義されているように、関連するメトリクスが改善されない場合に、トレーニングを終了するまでに待機するエポックの数。early_stopping = True の場合にのみ使用されます。

オプション

有効な値: 正の整数

デフォルト値: 5

early_stopping_tolerance

早期停止を回避するためには、validation:mAP の相対的な改善、平均精度の平均 (mAP) が超える必要がある許容値。mAP の変化を前回の mAP の最高値で除算した比率が、設定された early_stopping_tolerance 値より小さい場合、早期停止は改善がないと見なします。early_stopping = True の場合にのみ使用されます。

オプション

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

デフォルト値: 0.0

image_shape

入力イメージのイメージサイズ。入力イメージをこのサイズの正方形のイメージに拡大縮小します。パフォーマンスを向上させるために 300 と 512 を使用することをお勧めします。

オプション

有効な値: 正の整数 ≥300

デフォルト: 300

epochs

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

オプション

有効な値: 正の整数

デフォルト: 30

freeze_layer_pattern

基本ネットワーク内のフリーズレイヤーの正規表現 (regex)。たとえば、freeze_layer_pattern = "^(conv1_|conv2_).*" と設定した場合、名前に "conv1_" または "conv2_" が含まれているレイヤーはフリーズされます。つまり、これらのレイヤーの重みはトレーニング中に更新されません。レイヤー名は、ネットワークシンボルファイル vgg16-symbol.json および resnet-50-symbol.json で確認できます。レイヤーを凍結すると、そのウェイトをさらに変更することはできなくなります。これにより、正確性が少し失われる代わりにトレーニング時間が大幅に減ります。この手法は、基本レイヤーの低いレイヤーを再トレーニングする必要がない転送学習で一般的に使用されます。

オプション

有効な値: 文字列

デフォルト: レイヤーのフリーズなし。

kv_store

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

注記

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

オプション

有効な値: 'dist_sync' または 'dist_async'

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

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

デフォルト: -

label_width

トレーニングデータと検証データを同期するために使用される強制パディングラベル幅。たとえば、データ内の 1 つのイメージに最大 10 個のオブジェクトが含まれ、各オブジェクトの注釈が 5 つの数字 [class_id, left, top, width, height] で指定されている場合、label_width は (10*5 + ヘッダー情報の長さ) 以上になります。ヘッダー情報の長さは通常 2 です。トレーニングには少し大きい label_width (この例では 60 など) を使用することをお勧めします。

オプション

有効な値: データ内の最大長の注釈情報に対応できる大きさの正の整数。

デフォルト: 350

learning_rate

最初の学習レート。

オプション

有効な値: (0, 1] の浮動小数点数

デフォルト: 0.001

lr_scheduler_factor

学習レートを下げる割合。lr_new = lr_old * lr_scheduler_factor として定義されている lr_scheduler_step パラメータと一緒に使用します。

オプション

有効な値: (0, 1) の浮動小数点数

デフォルト: 0.1

lr_scheduler_step

学習レートを下げるエポック。学習レートは、"epoch1、epoch2、..." のようにカンマ区切りの文字列でリストされたエポックごとに lr_scheduler_factor だけ下げられます。たとえば、値が "10, 20" に設定され、lr_scheduler_factor が 1/2 に設定されている場合、学習レートは 10 番目のエポックの後に半減し、20 番目のエポックの後に再び半減します。

オプション

有効な値: 文字列

デフォルト: 空の文字列

mini_batch_size

トレーニングのバッチサイズ。単一マシンのマルチ GPU 設定では、それぞれが mini_batch_size/num_gpu トレーニングサンプルGPUを処理します。dist_sync モードの複数マシントレーニングでは、実際のバッチサイズは mini_batch_size * マシン数です。mini_batch_size を大きくすると、通常、トレーニングは加速しますが、メモリ不足の問題が発生する可能性があります。メモリ使用量は、mini_batch_sizeimage_shape、および base_network アーキテクチャーに関連します。たとえば、単一の p3.2xlarge インスタンスでメモリ不足エラーの発生を回避する mini_batch_size の最大値は 32 であり、base_network は "resnet-50"、image_shape は 300 に設定します。同じインスタンスで、mini_batch_size を 64 に設定し、基本ネットワークとして vgg-16image_shape を 300 に設定します。

オプション

有効な値: 正の整数

デフォルト: 32

momentum

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

オプション

有効な値: (0, 1] の浮動小数点数

デフォルト: 0.9

nms_threshold

非最大抑制しきい値。

オプション

有効な値: (0, 1] の浮動小数点数

デフォルト: 0.45

optimizer

オプティマイザのタイプ。オプティマイザ値の詳細については、MXNet「」のAPI「」を参照してください。

オプション

有効な値: ['sgd', 'adam', 'rmsprop', 'adadelta']

デフォルト: 'sgd'

overlap_threshold

評価重複しきい値。

オプション

有効な値: (0, 1] の浮動小数点数

デフォルト: 0.5

use_pretrained_model

トレーニングに事前トレーニング済みモデルを使用するかどうかを示します。1 に設定すると、対応するアーキテクチャーの事前トレーニングモデルがロードされ、トレーニングに使用されます。それ以外の場合、ネットワークはゼロからトレーニングされます。

オプション

有効な値: 0 または 1

デフォルト: 1

weight_decay

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

オプション

有効な値: (0, 1) の浮動小数点数

デフォルト: 0.0005