Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Optimieren eines Sequence-to-Sequence-Modells
Die automatische Modelloptimierung, auch bekannt als Hyperparameter-Optimierung, sucht die beste Version eines Modells, indem viele Aufträge ausgeführt werden, die eine Bereich von Hyperparametern in Ihrem Dataset testen. Sie wählen die optimierbaren Hyperparameter, eine Reihe von Werten für jeden Parameter und eine objektive Metrik aus. Sie wählen die objektive Metrik aus den Metriken aus, die der Algorithmus berechnet. Die automatische Modelloptimierung durchsucht die ausgewählten Hyperparameter nach der Kombination von Werten, die das Modell ergeben, das die objektive Metrik optimiert.
Weitere Informationen zu Modelloptimierung finden Sie unter Durchführen der automatischen Modelloptimierung mit SageMaker.
Vom Sequence-to-Sequence-Algorithmus berechnete Metriken
Der Sequence-to-Sequence-Algorithmus meldet drei Metriken, die während der Schulungen berechnet werden. Wählen Sie eine davon als Ziel für die Optimierung aus, wenn die Hyperparameterwerte optimiert werden.
Metrikname | Beschreibung | Optimierungsrichtung |
---|---|---|
validation:accuracy |
Die für das Validierungsdataset berechnete Genauigkeit. |
Maximieren |
validation:bleu |
Für das Validierungsdataset berechnete Bleu |
Maximieren |
validation:perplexity |
Perplexity |
Minimieren |
Optimierbare Sequence-to-Sequence-Hyperparameter
Sie können die folgenden Hyperparameter für den SageMaker-Sequence-to-Sequence-Algorithmus optimieren. Die Hyperparameter mit den größten Auswirkungen auf objektive Sequence-to-Sequence-Metriken sind: batch_size
, optimizer_type
, learning_rate
, num_layers_encoder
und num_layers_decoder
.
Parametername | Parametertyp | Empfohlene Bereiche |
---|---|---|
num_layers_encoder |
IntegerParameterRange |
[1-10] |
num_layers_decoder |
IntegerParameterRange |
[1-10] |
batch_size |
CategoricalParameterRange |
[16,32,64,128,256,512,1024,2048] |
optimizer_type |
CategoricalParameterRange |
['adam', 'sgd', 'rmsprop'] |
weight_init_type |
CategoricalParameterRange |
['xavier', 'uniform'] |
weight_init_scale |
ContinuousParameterRange |
Für den xavier-Typ: MinValue: 2.0, MaxValue: 3.0 Für den uniform-Typ: MinValue: -1,0, MaxValue: 1.0 |
learning_rate |
ContinuousParameterRange |
MinValue: 0.00005, MaxValue: 0.2 |
weight_decay |
ContinuousParameterRange |
MinValue: 0.0, MaxValue: 0.1 |
momentum |
ContinuousParameterRange |
MinValue: 0.5, MaxValue: 0.9 |
clip_gradient |
ContinuousParameterRange |
MinValue: 1.0, MaxValue: 5.0 |
rnn_num_hidden |
CategoricalParameterRange |
Gilt nur für rekurrente neuronale Netzwerke (RNN). [128,256,512,1024,2048] |
cnn_num_hidden |
CategoricalParameterRange |
Gilt nur für gefaltete neurale Networks (CNNs). [128,256,512,1024,2048] |
num_embed_source |
IntegerParameterRange |
[256-512] |
num_embed_target |
IntegerParameterRange |
[256-512] |
embed_dropout_source |
ContinuousParameterRange |
MinValue: 0.0, MaxValue: 0.5 |
embed_dropout_target |
ContinuousParameterRange |
MinValue: 0.0, MaxValue: 0.5 |
rnn_decoder_hidden_dropout |
ContinuousParameterRange |
MinValue: 0.0, MaxValue: 0.5 |
cnn_hidden_dropout |
ContinuousParameterRange |
MinValue: 0.0, MaxValue: 0.5 |
lr_scheduler_type |
CategoricalParameterRange |
['plateau_reduce', 'fixed_rate_inv_t', 'fixed_rate_inv_sqrt_t'] |
plateau_reduce_lr_factor |
ContinuousParameterRange |
MinValue: 0.1, MaxValue: 0.5 |
plateau_reduce_lr_threshold |
IntegerParameterRange |
[1-5] |
fixed_rate_lr_half_life |
IntegerParameterRange |
[10-30] |