

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

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

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


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