

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 序列對序列超參數
超參數

下表列出使用 Amazon SageMaker AI 序列對序列 (seq2seq) 演算法進行訓練時可設定的超參數。


| 參數名稱 | Description | 
| --- | --- | 
| 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` 步驟，而較短端則使用根據平均目標/來源長度比例來縮小的步驟。如果一端較另一端較早達到其最高長度，在該端上的額外儲存貯體寬度會固定為 `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 | 更新數/要處理的批次數上限。-1 表示無限次。 **選用** 有效值：整數 預設值：-1 | 
| max\$1num\$1epochs | 擬合停止前透過訓練資料傳遞的最大 epoch 數量。若此參數傳遞後，即使驗證精確度未提升，訓練也將持續直到達到此 epoch 數量。如果未傳遞則忽略。 **選用** 有效值：正整數，且小於或等於 max\$1num\$1epochs。 預設值：無 | 
| max\$1seq\$1len\$1source | 來源序列長度的最大長度。超過此長度的序列將會截斷為此長度。 **選用** 有效值：正整數 預設值：100  | 
| max\$1seq\$1len\$1target | 目標序列長度的最大長度。超過此長度的序列將會截斷為此長度。 **選用** 有效值：正整數 預設值：100 | 
| min\$1num\$1epochs | 在訓練透過 `early_stopping` 條件停止前，應執行的 epoch 最低數量。 **選用** 有效值：正整數 預設值：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` 表示串連，bilinear (雙線性) 則表示 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` | 