

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

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

下表列出了在使用 Amazon A SageMaker I Sequence-to-Sequence (seq2seq) 算法进行训练时可以设置的超参数。


| 参数名称 | 说明 | 
| --- | --- | 
| batch\$1size | 用于梯度下降的小批次大小。 **可选** 有效值：正整数 默认值：64 | 
| beam\$1size | 光束搜索的光束的长度。在训练期间用于计算 `bleu`，以及在推理期间使用。 **可选** 有效值：正整数 默认值：5 | 
| bleu\$1sample\$1size | 在训练过程中从验证数据集中选取以解码并计算 `bleu` 分数的实例数。设置为 -1 可使用完整验证集（如果选择 `bleu` 作为 `optimized_metric`）。 **可选** 有效值：整数 默认值：0 | 
| bucket\$1width | 返回最多 (`max_seq_len_source`、`max_seq_len_target`) 个 (源、目标) 存储桶。数据的较长边使用步长，`bucket_width`而较短的一边使用按平均 target/source 长度比率缩小的步长。如果一侧的最大长度超过另一侧，则该侧额外存储桶的宽度固定在 `max_len` 的那一侧。 **可选** 有效值：正整数 默认值：10 | 
| bucketing\$1enabled | 设置为 `false` 可禁用分桶，展开到最大长度。 **可选** 有效值：`true` 或 `false` 默认值：`true` | 
| checkpoint\$1frequency\$1num\$1batches | 检查点并评估每个 x 批处理。这个检查点超参数被传递给 SageMaker AI 的 seq2seq 算法，用于提早停止和检索最佳模型。该算法的检查点操作在算法的训练容器中本地运行，与 SageMaker AI 检查点不兼容。该算法暂时将检查点保存到本地路径，并在训练作业停止后将最佳模型构件存储到 S3 中的模型输出路径中。 **可选** 有效值：正整数 默认值：1000 | 
| checkpoint\$1threshold | 在停止训练之前，允许在验证数据集上的 `optimized_metric` 中不改进检查点模型的最大数量。这个检查点超参数被传递给 SageMaker AI 的 seq2seq 算法，用于提早停止和检索最佳模型。该算法的检查点操作在算法的训练容器中本地运行，与 SageMaker AI 检查点不兼容。该算法暂时将检查点保存到本地路径，并在训练作业停止后将最佳模型构件存储到 S3 中的模型输出路径中。 **可选** 有效值：正整数 默认值：3 | 
| clip\$1gradient | 大于此的剪辑绝对梯度值。设置为负表示禁用。 **可选** 有效值：浮点值 默认值：1 | 
| cnn\$1activation\$1type | 要使用的 `cnn` 激活类型。 **可选** 有效值：字符串。以下值之一：`glu`、`relu`、`softrelu`、`sigmoid` 或 `tanh`。 默认值：`glu` | 
| cnn\$1hidden\$1dropout | 卷积层之间的退出的丢弃概率。 **可选** 有效值：浮点值。范围为 [0,1]。 默认值：0 | 
| cnn\$1kernel\$1width\$1decoder | `cnn` 解码器的内核宽度。 **可选** 有效值：正整数 默认值：5 | 
| cnn\$1kernel\$1width\$1encoder | `cnn` 编码器的内核宽度。 **可选** 有效值：正整数 默认值：3 | 
| cnn\$1num\$1hidden | 编码器和解码器的 `cnn` 隐藏单元的数量。 **可选** 有效值：正整数 默认值：512 | 
| decoder\$1type | 解码器类型。 **可选** 有效值：字符串。`rnn` 或 `cnn`。 默认值：*rnn* | 
| embed\$1dropout\$1source | 源端嵌入的丢弃概率。 **可选** 有效值：浮点值。范围为 [0,1]。 默认值：0 | 
| embed\$1dropout\$1target | 目标端嵌入的丢弃概率。 **可选** 有效值：浮点值。范围为 [0,1]。 默认值：0 | 
| encoder\$1type | 编码器类型。`rnn` 架构基于 Bahdanau 等人提出的关注机制，*cnn* 架构基于 Gehring 等人提出的关注机制。 **可选** 有效值：字符串。`rnn` 或 `cnn`。 默认值：`rnn` | 
| fixed\$1rate\$1lr\$1half\$1life | 就 `fixed_rate_`\$1 计划程序的检查点数量来说，学习率的半生命周期。 **可选** 有效值：正整数 默认值：10 | 
| learning\$1rate | 初始学习率。 **可选** 有效值：浮点值 默认值：0.0003 | 
| loss\$1type | 训练的损失函数。 **可选** 有效值：字符串。`cross-entropy` 默认值：`cross-entropy` | 
| lr\$1scheduler\$1type | 学习率计划程序类型。`plateau_reduce` 表示每当 `validation_accuracy` 稳定状态上有 `optimized_metric` 时，就降低学习率。`inv_t` 是反时衰减。`learning_rate`/(1\$1`decay_rate`\$1t) **可选** 有效值：字符串。`plateau_reduce`、`fixed_rate_inv_t` 或 `fixed_rate_inv_sqrt_t`。 默认值：`plateau_reduce` | 
| max\$1num\$1batches |  updates/batches 要处理的最大数量。-1 表示无限。 **可选** 有效值：整数 默认值：-1 | 
| max\$1num\$1epochs | 在停止调整之前通过训练数据传递的最大纪元数。如果传递此参数，则即使验证准确性没有提高，训练仍将持续到此数量纪元。如果不传递，则会忽略。 **可选** 有效值：小于或等于 max\$1num\$1epochs 的正整数。 默认值：无 | 
| max\$1seq\$1len\$1source | 源序列长度的最大长度。比此长度长的序列被截断为此长度。 **可选** 有效值：正整数 默认值：100  | 
| max\$1seq\$1len\$1target | 目标序列长度的最大长度。比此长度长的序列被截断为此长度。 **可选** 有效值：正整数 默认值：100 | 
| min\$1num\$1epochs | 在通过 `early_stopping` 条件停止之前，训练必须运行的最少纪元数。 **可选** 有效值：正整数 默认值：0 | 
| momentum | 用于 `sgd` 的动量常量。如果您使用的是 `adam` 或 `rmsprop`，请不要传递此参数。 **可选** 有效值：浮点值 默认值：无 | 
| num\$1embed\$1source | 源标记的嵌入大小。 **可选** 有效值：正整数 默认值：512 | 
| num\$1embed\$1target | 目标标记的嵌入大小。 **可选** 有效值：正整数 默认值：512 | 
| num\$1layers\$1decoder | 解码器 *rnn* 或 *cnn* 的层数。 **可选** 有效值：正整数 默认值：1 | 
| num\$1layers\$1encoder | 编码器 `rnn` 或 `cnn` 的层数。 **可选** 有效值：正整数 默认值：1 | 
| optimized\$1metric | 用于使用早期停止进行优化的指标。 **可选** 有效值：字符串。`perplexity`、`accuracy` 或 `bleu`。 默认值：`perplexity` | 
| optimizer\$1type | 可供从中选择的优化程序。 **可选** 有效值：字符串。`adam`、`sgd` 或 `rmsprop`。 默认值：`adam` | 
| plateau\$1reduce\$1lr\$1factor | 与学习率相乘的系数 (对于 `plateau_reduce`)。 **可选** 有效值：浮点值 默认值：0.5 | 
| plateau\$1reduce\$1lr\$1threshold | 对于 `plateau_reduce` 计划程序，如果 `optimized_metric` 未改善这很多检查点，则用学习率乘以降低系数。 **可选** 有效值：正整数 默认值：3 | 
| rnn\$1attention\$1in\$1upper\$1layers | 将关注传递到 *rnn* 的上层，如 Google NMT 文章中所述。仅在使用多个层时才适用。 **可选** 有效值：布尔值（`true` 或 `false`） 默认值：`true` | 
| rnn\$1attention\$1num\$1hidden | 关注层的隐藏单元数量。默认值为 `rnn_num_hidden`。 **可选** 有效值：正整数 默认值：`rnn_num_hidden` | 
| rnn\$1attention\$1type | 编码器的关注模型。`mlp` 是指 concat，bilinear 是指 general（源自 Luong 等人的论文）。 **可选** 有效值：字符串。以下值之一：`dot`、`fixed`、`mlp` 或 `bilinear`。 默认值：`mlp` | 
| rnn\$1cell\$1type | 特定类型的 `rnn` 架构。 **可选** 有效值：字符串。`lstm` 或 `gru`。 默认值：`lstm` | 
| rnn\$1decoder\$1state\$1init | 如何从编码器初始化 `rnn` 解码器状态。 **可选** 有效值：字符串。`last`、`avg` 或 `zero`。 默认值：`last` | 
| rnn\$1first\$1residual\$1layer | 第一个具有剩余连接的 *rnn* 层，只有在编码器或解码器中的层数超过 1 时才适用。 **可选** 有效值：正整数 默认值：2 | 
| rnn\$1num\$1hidden | 编码器和解码器的 *rnn* 隐藏单元的数量。这必须是 2 的倍数，因为默认情况下该算法使用双向长短期记忆 (LSTM)。 **可选** 有效值：正偶数 默认值：1024 | 
| rnn\$1residual\$1connections | 将剩余连接添加到堆叠的 *rnn*。层数应超过 1。 **可选** 有效值：布尔值（`true` 或 `false`） 默认值：`false` | 
| rnn\$1decoder\$1hidden\$1dropout | 将上下文与解码器中的 *rnn* 隐藏状态结合的隐藏状态的丢弃概率。 **可选** 有效值：浮点值。范围为 [0,1]。 默认值：0 | 
| training\$1metric | 用于跟踪验证数据训练的指标。 **可选** 有效值：字符串。`perplexity` 或 `accuracy`。 默认值：`perplexity` | 
| weight\$1decay | 权重衰减常量。 **可选** 有效值：浮点值 默认值：0 | 
| weight\$1init\$1scale | 权重初始化规模（对于 `uniform` 和 `xavier` 初始化）。 **可选** 有效值：浮点值 默认值：2.34 | 
| weight\$1init\$1type | 权重初始化的类型。 **可选** 有效值：字符串。`uniform` 或 `xavier`。 默认值：`xavier` | 
| xavier\$1factor\$1type | Xavier 系数类型。 **可选** 有效值：字符串。`in`、`out` 或 `avg`。 默认值：`in` | 