

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

# Object2Vec 超參數
<a name="object2vec-hyperparameters"></a>

在 `CreateTrainingJob` 請求中，請指定訓練演算法。您也可以指定演算法特定的超參數做為字串對字串的對應。下表列出 Object2Vec 訓練演算法的超參數。


| 參數名稱 | Description | 
| --- | --- | 
| enc0\_max\_seq\_len | enc0 編碼器的最大序列長度。<br />**必要**<br />有效值：1 ≤ 整數 ≤ 5000 | 
| enc0\_vocab\_size | enc0 權杖的詞彙數量。<br />**必要**<br />有效值：2 ≤ 整數 ≤ 3000000 | 
| bucket\_width | 啟用歸納時，允許的資料序列長度差異。若要啟用歸納，請對此參數指定非零值。<br />**選用**<br />有效值：0 ≤ 整數 ≤ 100<br />預設：0 (不歸納) | 
| comparator\_list | 用來自訂兩個內嵌之比較方式的清單。Object2Vec 比較程式運算子層會採取編碼器中的編碼做為輸入，並輸出單一向量。這個向量是子向量的串連。傳遞到 `comparator_list` 的字串值和它們的傳送順序，決定這些子向量的組合方式。例如，如果 `comparator_list="hadamard, concat"`，則比較程式運算子會串連兩個編碼的 Hadamard 乘積和串連兩個編碼來建構向量。另一方面，如果 `comparator_list="hadamard"`，則比較程式運算子會建構向量，只做為兩個編碼的 Hadamard 乘積。<br />**選用**<br />有效值：包含三個二進位運算子之任何組合名稱的字串：`hadamard`、`concat` 或 `abs_diff`。Object2Vec 演算法目前需要兩個向量編碼具有相同維度。這些運算子會產生子向量，如下所示：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/object2vec-hyperparameters.html)<br />預設值：`"hadamard, concat, abs_diff"` | 
| dropout | 網路層的退出機率。*退出*是一種用於神經網路的正規化形式，可透過裁剪相互依賴的神經元降低過度擬合。<br />**選用**<br />有效值：0.0 ≤ 浮點數 ≤ 1.0<br />預設值：0.0 | 
| early\_stopping\_patience | 套用提早停止前，允許之毫無改進的連續 epoch 數量。改進是搭配 `early_stopping_tolerance` 超參數來定義的。<br />**選用**<br />有效值：1 ≤ 整數 ≤ 5<br />預設值：3 | 
| early\_stopping\_tolerance | 演算法必須在連續 epoch 之間達到的損失函式減少量，才能避免在 `early_stopping_patience` 超參數中指定的連續 epoch 數之後提早停止。<br />**選用**<br />有效值：0.000001 ≤ 浮點數 ≤ 0.1<br />預設值：0.01 | 
| enc\_dim | 內嵌層輸出的維度。<br />**選用**<br />有效值：4 ≤ 整數 ≤ 10000<br />預設值：4096 | 
| enc0\_network | enc0 編碼器的網路模型。<br />**選用**<br />有效值：`hcnn`、`bilstm` 或 `pooled_embedding`[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/object2vec-hyperparameters.html)<br />預設值：`hcnn` | 
| enc0\_cnn\_filter\_width | 卷積神經網絡 (CNN) enc0 編碼器的篩選條件寬度。<br />**有條件**<br />有效值：1 ≤ 整數 ≤ 9<br />預設值：3 | 
| enc0\_freeze\_pretrained\_embedding | 是否要凍結 enc0 預先訓練內嵌權重。<br />**有條件**<br />有效值：`True` 或 `False`<br />預設值：`True` | 
| enc0\_layers  | enc0 編碼器中的層數量。<br />**有條件**<br />有效值：`auto` 或 1 ≤ 整數 ≤ 4[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/object2vec-hyperparameters.html)<br />預設值：`auto` | 
| enc0\_pretrained\_embedding\_file | 輔助資料管道中預先訓練 enc0 權杖內嵌檔案的檔案名稱。<br />**有條件**<br />有效值：包含英數字元、底線或句點的字串。[A-Za-z0-9\\.\\\_] <br />預設值："" (空字串) | 
| enc0\_token\_embedding\_dim | enc0 權杖內嵌層的輸出維度。<br />**有條件**<br />有效值：2 ≤ 整數 ≤ 1000<br />預設值：300 | 
| enc0\_vocab\_file | 將預先訓練的 enc0 權杖內嵌向量映射至數字詞彙 ID 的詞彙檔。<br />**有條件**<br />有效值：包含英數字元、底線或句點的字串。[A-Za-z0-9\\.\\\_] <br />預設值："" (空字串) | 
| enc1\_network | enc1 編碼器的網路模型。如果您想要 enc1 編碼器使用與 enc0 相同的網路模型，包括超參數值，請將此值設為 `enc0`。 即使有對稱架構 enc0 enc1 編碼器網路和共用參數值，您不能為這些網路。 <br />**選用**<br />有效值：`enc0`、`hcnn`、`bilstm` 或 `pooled_embedding`[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/object2vec-hyperparameters.html)<br />預設值：`enc0` | 
| enc1\_cnn\_filter\_width | CNN enc1 編碼器的篩選條件寬度。<br />**有條件**<br />有效值：1 ≤ 整數 ≤ 9<br />預設值：3 | 
| enc1\_freeze\_pretrained\_embedding | 是否要凍結 enc1 預先訓練內嵌權重。<br />**有條件**<br />有效值：`True` 或 `False`<br />預設值：`True` | 
| enc1\_layers  | enc1 編碼器中的層數量。<br />**有條件**<br />有效值：`auto` 或 1 ≤ 整數 ≤ 4[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/object2vec-hyperparameters.html)<br />預設值：`auto` | 
| enc1\_max\_seq\_len | enc1 編碼器的最大序列長度。<br />**有條件**<br />有效值：1 ≤ 整數 ≤ 5000 | 
| enc1\_pretrained\_embedding\_file | 輔助資料管道中 enc1 預先訓練權杖內嵌檔案的名稱。<br />**有條件**<br />有效值：包含英數字元、底線或句點的字串。[A-Za-z0-9\\.\\\_] <br />預設值："" (空字串) | 
| enc1\_token\_embedding\_dim | enc1 權杖內嵌層的輸出維度。<br />**有條件**<br />有效值：2 ≤ 整數 ≤ 1000<br />預設值：300 | 
| enc1\_vocab\_file | 將預先訓練 enc1 權杖內嵌與詞彙 ID 映射的詞彙檔案。<br />**有條件**<br />有效值：包含英數字元、底線或句點的字串。[A-Za-z0-9\\.\\\_] <br />預設值："" (空字串) | 
| enc1\_vocab\_size | enc0 權杖的詞彙數量。<br />**有條件**<br />有效值：2 ≤ 整數 ≤ 3000000 | 
| epochs | 要針對訓練執行的 epoch 數量。<br />**選用**<br />有效值：1 ≤ 整數 ≤ 100<br />預設值：30 | 
| learning\_rate | 訓練的學習率。<br />**選用**<br />有效值：1.0E-6 ≤ 浮點數 ≤ 1.0<br />預設值：0.0004 | 
| mini\_batch\_size | 訓練期間，針對 `optimizer` 將資料集分割而成的批次大小。<br />**選用**<br />有效值：1 ≤ 整數 ≤ 10000<br />預設值：32 | 
| mlp\_activation | 多層式感知器 (MLP) 層的啟用函式類型。<br />**選用**<br />有效值：`tanh`、`relu` 或 `linear`[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/object2vec-hyperparameters.html)<br />預設值：`linear` | 
| mlp\_dim | 來自 MLP 層的輸出維度。<br />**選用**<br />有效值：2 ≤ 整數 ≤ 10000<br />預設值：512 | 
| mlp\_layers | 網路中的 MLP 層數量。<br />**選用**<br />有效值：0 ≤ 整數 ≤ 10<br />預設值：2 | 
| negative\_sampling\_rate | 負面範例 (協助訓練演算法而產生的) 與正面範例 (使用者提供的) 的比率。負面範例代表實際上不可能發生的資料，而且為了便於訓練而標示為負面。它們可協助模型區分觀察到的正面範例與觀察不到的負面範例。若要指定負面範例與用於訓練之正面範例的比率，請將此值設為正整數。例如，如果您在所有範例都是正面的輸入資料上訓練演算法，並將 `negative_sampling_rate` 設為 2，則 Object2Vec 演算法內部會產生每個正面範例兩個負面範例。如果您不想要在訓練期間產生或使用負面範例，請將此值設為 0。<br />**選用**<br />有效值：0 ≤ 整數<br />預設值：0 (關) | 
| num\_classes | 分類訓練的類別數量。Amazon SageMaker AI 會忽略迴歸問題的超參數。<br />**選用**<br />有效值：2 ≤ 整數 ≤ 30<br />預設值：2 | 
| optimizer | 最佳化工具類型。<br />**選用**<br />有效值：`adadelta`、`adagrad`、`adam`、`sgd` 或 `rmsprop`。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/object2vec-hyperparameters.html)<br />預設值：`adam` | 
| output\_layer | 輸出層的類型，而您在此輸出層中指定任務是迴歸或分類。<br />**選用**<br />有效值：`softmax` 或 `mean_squared_error`[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/object2vec-hyperparameters.html)<br />預設值：`softmax` | 
| tied\_token\_embedding\_weight | 是否針對兩個編碼器使用共用的內嵌層。如果兩個編碼器的輸入使用相同的權杖層級單位，請使用共用的權杖內嵌層。例如，對於文件集合，如果一個編碼器編碼句子，另一個編碼整份文件，則您可以使用共用的權杖內嵌層。這是因為這兩個句子和文件是由來自相同詞彙的字詞權杖所組成。<br />**選用**<br />有效值：`True` 或 `False`<br />預設值：`False` | 
| token\_embedding\_storage\_type | 訓練期間使用的梯度更新模式：當使用 `dense` 模式時，最佳化器會計算權杖內嵌層的完整梯度矩陣，即使梯度的大多數列均為零值也一樣。當使用 `sparse` 模式時，最佳化器只會存放實際在微批次中使用的梯度列。如果您想要演算法執行延遲梯度更新，僅計算非零列中的梯度並加速訓練，請指定 `row_sparse`。將此值設為 `row_sparse`，可限制其他超參數的可用值，如下所示：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/object2vec-hyperparameters.html)<br />**選用**<br />有效值：`dense` 或 `row_sparse`<br />預設值：`dense` | 
| weight\_decay | 用於最佳化的權重衰減參數。<br />**選用**<br />有效值：0 ≤ 浮點數 ≤ 10000<br />預設值：0 (無衰減) | 