Sequence-to-Sequence 超參數 - Amazon SageMaker

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

Sequence-to-Sequence 超參數

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

參數名稱 描述
batch_size

梯度下降的最低批次大小。

選用

有效值:正整數

預設值:64

beam_size

光束搜尋的光速長度。用於訓練期間以運算 bleu,並用於推論期間。

選用

有效值:正整數

預設值:5

bleu_sample_size

從驗證資料集挑選的執行個體數量,用來在訓練期間解碼並運算 bleu 分數。設為 -1 來使用完整的驗證集 (若 bleu 已選擇為 optimized_metric)。

選用

有效值:整數

預設值:0

bucket_width

傳回 (來源、目標) 儲存貯體高達 (max_seq_len_sourcemax_seq_len_target)。資料較長的端使用 bucket_width 步驟,而較短端則使用根據平均目標/來源長度比例來縮小的步驟。如果一端較另一端較早達到其最高長度,在該端上的額外儲存貯體寬度會固定為 max_len 端。

選用

有效值:正整數

預設值:10

bucketing_enabled

設為 false 以停用值區、展開為最高長度。

選用

有效值:truefalse

預設值:true

checkpoint_frequency_num_batches

檢查點並評估每 x 批次。此檢查點超參數會傳遞至 SageMaker的 seq2seq 演算法,以提早停止和擷取最佳模型。演算法的檢查點會在本機於演算法的訓練容器中執行,且與 SageMaker 檢查點不相容。演算法會暫時將檢查點存放到本機路徑,並在訓練任務停止後,將最佳模型成品存放到 S3 中的模型輸出路徑。

選用

有效值:正整數

預設值:1000

checkpoint_threshold

允許最大檢查點數量模型在訓練停止前不會在驗證資料集中的 optimized_metric 提升。此檢查點超參數會傳遞至 SageMaker的 seq2seq 演算法,以提早停止和擷取最佳模型。演算法的檢查點會在本機於演算法的訓練容器中執行,且與 SageMaker 檢查點不相容。演算法會暫時將檢查點存放到本機路徑,並在訓練任務停止後,將最佳模型成品存放到 S3 中的模型輸出路徑。

選用

有效值:正整數

預設值:3

clip_gradient

剪裁絕對梯度值大於此。設定為負以停用。

選用

有效值:浮點數

預設值:1

cnn_activation_type

要使用的 cnn 啟用類型。

選用

有效值:字串。下列其中一項:glurelusoftrelusigmoidtanh

預設值:glu

cnn_hidden_dropout

卷積層之間的退出機率。

選用

有效值:浮點數。範圍在 [0,1] 之間。

預設值:0

cnn_kernel_width_decoder

cnn 解碼器的核心寬度。

選用

有效值:正整數

預設值:5

cnn_kernel_width_encoder

cnn 編碼器的核心寬度。

選用

有效值:正整數

預設值:3

cnn_num_hidden

用於編碼器與解碼器的 cnn 隱藏單位數量。

選用

有效值:正整數

預設值:512

decoder_type

解碼器類型。

選用

有效值:字串。rnncnn

預設值:rnn

embed_dropout_source

來源端內嵌的退出機率。

選用

有效值:浮點數。範圍在 [0,1] 之間。

預設值:0

embed_dropout_target

目標端內嵌的退出機率。

選用

有效值:浮點數。範圍在 [0,1] 之間。

預設值:0

encoder_type

編碼器類型。rnn 架構是以 Bahdanau 等人的焦點機制為基礎,cnn 架構則是以 Gehring 等人為基礎。

選用

有效值:字串。rnncnn

預設值:rnn

fixed_rate_lr_half_life

考量用於 fixed_rate_* 排程工具的檢查點數量之學習速率半生命週期。

選用

有效值:正整數

預設值:10

learning_rate

初始學習率。

選用

有效值:浮點數

預設值:0.0003

loss_type

訓練的損失函式。

選用

有效值:字串。cross-entropy

預設值:cross-entropy

lr_scheduler_type

學習率排程器類型。plateau_reduce 表示每當 validation_accuracy 上的 optimized_metric 上升時便減少學習率。inv_t 則是反向時間衰減。learning_rate/(1+decay_rate*t)

選用

有效值:字串。plateau_reducefixed_rate_inv_tfixed_rate_inv_sqrt_t 其中之一。

預設值:plateau_reduce

max_num_batches

更新數/要處理的批次數上限。-1 表示無限次。

選用

有效值:整數

預設值:-1

max_num_epochs

擬合停止前透過訓練資料傳遞的最大 epoch 數量。若此參數傳遞後,即使驗證精確度未提升,訓練也將持續直到達到此 epoch 數量。如果未傳遞則忽略。

選用

有效值:正整數,且小於或等於 max_num_epochs。

預設值:無

max_seq_len_source

來源序列長度的最大長度。超過此長度的序列將會截斷為此長度。

選用

有效值:正整數

預設值:100

max_seq_len_target

目標序列長度的最大長度。超過此長度的序列將會截斷為此長度。

選用

有效值:正整數

預設值:100

min_num_epochs

在訓練透過 early_stopping 條件停止前,應執行的 epoch 最低數量。

選用

有效值:正整數

預設值:0

momentum

用於 sgd 的動力常數。若您使用 adamrmsprop,請不要傳遞此參數。

選用

有效值:浮點數

預設值:無

num_embed_source

來源符記的內嵌大小。

選用

有效值:正整數

預設值:512

num_embed_target

目標符記的內嵌大小。

選用

有效值:正整數

預設值:512

num_layers_decoder

解碼器 rnncnn 的層數。

選用

有效值:正整數

預設值:1

num_layers_encoder

編碼器 rnncnn 的層數。

選用

有效值:正整數

預設值:1

optimized_metric

最佳化提早停止的指標。

選用

有效值:字串。perplexityaccuracybleu 其中之一。

預設值:perplexity

optimizer_type

選出最佳化器。

選用

有效值:字串。adamsgdrmsprop 其中之一。

預設值:adam

plateau_reduce_lr_factor

與學習速率相乘的因素 (適用於 plateau_reduce)。

選用

有效值:浮點數

預設值:0.5

plateau_reduce_lr_threshold

對於 plateau_reduce 排程工具,若 optimized_metric 未改善許多檢查點則將學習速率與降低因素相乘。

選用

有效值:正整數

預設值:3

rnn_attention_in_upper_layers

將注意力傳遞至上層 rnn ,例如 Google NMT 紙張。只會在使用超過一層時使用。

選用

有效值:布林值 (truefalse)

預設值:true

rnn_attention_num_hidden

焦點層的隱藏單位數量。預設為 rnn_num_hidden

選用

有效值:正整數

預設值:rnn_num_hidden

rnn_attention_type

編碼器的焦點模型。mlp 表示串連,bilinear (雙線性) 則表示 Luong 等人論文的一般情況。

選用

有效值:字串。dotfixedmlpbilinear 中的其中一項。

預設值:mlp

rnn_cell_type

rnn 架構的特定類型。

選用

有效值:字串。lstmgru

預設值:lstm

rnn_decoder_state_init

如何從編碼器初始化 rnn 解碼器狀態。

選用

有效值:字串。lastavgzero 其中之一。

預設值:last

rnn_first_residual_layer

第一個 rnn 層有剩餘連線,僅在編碼器或解碼器中的層數大於 1 時適用。

選用

有效值:正整數

預設值:2

rnn_num_hidden

用於編碼器與解碼器的 rnn 隱藏單位數量。這必須是 2 的倍數,因為演算法預設使用雙向長期短期記憶體 (LSTM)。

選用

有效值:正整數,偶數

預設值:1024

rnn_residual_connections

新增剩餘連線到堆疊的 rnn。層級數量應大於 1。

選用

有效值:布林值 (truefalse)

預設值:false

rnn_decoder_hidden_dropout

結合解碼器中含有 rnn 內容隱藏狀態的隱藏狀態退出機率。

選用

有效值:浮點數。範圍在 [0,1] 之間。

預設值:0

training_metric

追蹤在驗證資料上的訓練之指標。

選用

有效值:字串。perplexityaccuracy

預設值:perplexity

weight_decay

重量衰減不變。

選用

有效值:浮點數

預設值:0

weight_init_scale

加權初始化尺度 (適用於 uniformxavier 初始化)。

選用

有效值:浮點數

預設值:2.34

weight_init_type

重量初始化的類型。

選用

有效值:字串。uniformxavier

預設值:xavier

xavier_factor_type

Xavier 因素類型。

選用

有效值:字串。inoutavg 其中之一。

預設值:in