

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 调整 Sequence-to-Sequence 模型
<a name="seq-2-seq-tuning"></a>

*自动模型优化*（也称作超参数优化）通过运行很多在数据集上测试一系列超参数的作业来查找模型的最佳版本。您可以选择可优化超参数、每个超参数的值范围和一个目标指标。您可以从算法计算的指标中选择目标指标。自动模型优化将搜索所选超参数以找到导致优化目标指标的模型的值组合。

有关模型优化的更多信息，请参阅[使用 SageMaker AI 自动调整模型](automatic-model-tuning.md)。

## Sequence-to-Sequence 算法计算的指标
<a name="seq-2-seq-metrics"></a>

序列到序列算法报告在训练期间所计算的三个指标。在优化超参数值时，选择其中之一作为优化的目标。


| 指标名称 | 说明 | 优化方向 | 
| --- | --- | --- | 
| validation:accuracy | 在验证数据集上计算的准确率。 | 最大化 | 
| validation:bleu | 在验证数据集上计算的 [Bleu](https://en.wikipedia.org/wiki/BLEU) 分数。由于 BLEU 计算成本高昂，您可以选择在验证数据集的随机子样本上计算 BLEU，以加速整体训练过程。使用 `bleu_sample_size` 参数指定子样本。 | 最大化 | 
| validation:perplexity | [困惑度](https://en.wikipedia.org/wiki/Perplexity)，是在验证数据集上计算的损失函数。困惑度评估经验样本与模型预测分布之间的交叉熵，这可用于评估模型预测样本值的效果有多好。能够很好地预测样本的模型具有低困惑度。 | 最小化 | 

## 可调超参数 Sequence-to-Sequence
<a name="seq-2-seq-tunable-hyperparameters"></a>

您可以调整 SageMaker AI 序列到序列算法的以下超参数。对序列到序列目标指标影响最大的超参数包括：`batch_size`、`optimizer_type`、`learning_rate`、`num_layers_encoder` 和 `num_layers_decoder`。


| 参数名称 | 参数类型 | 建议的范围 | 
| --- | --- | --- | 
| 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 | 对于 xavier 类型 MinValue：2.0， MaxValue：3.0 对于制服类型：：-1.0， MinValue MaxValue：1.0 | 
| learning\_rate | ContinuousParameterRange | MinValue: 0.00005，: 0.2 MaxValue | 
| 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 | 仅适用于循环神经网络 (RNN)。[128,256,512,1024,2048]  | 
| cnn\_num\_hidden | CategoricalParameterRange | 仅适用于卷积神经网络 (CNN)。[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] | 