適用於內建廣度和深度演算法的參考資料

本頁面提供關於您使用內建的廣度與深度演算法來執行訓練工作時,如何將引數提交至 AI Platform 的參考資訊。

版本設定

內建廣度與深度演算法使用 TensorFlow 1.12。

資料格式引數

下列引數會用於資料格式和自動預先處理:

引數 說明
preprocessing 指定此引數以啟用自動預先處理。
自動預先處理的類型:
  • 將資料分割至 validation_splittest_split 百分比。
  • 填入缺少的值 (並將平均值填入數值欄)。
  • 將資料欄值缺少超過 10% 的資料列移除。

預設值:未設定
類型:布林 (值) 標記。如設為 true,則會啟用自動預先處理。
training_data_path CSV 檔案的 Cloud Storage 路徑。CSV 檔案必須具有下列規範:
  • CSV 檔案不得包含標頭
  • 僅可包含類別或數值資料欄
  • 第一個資料欄必須為目標資料欄
  • 空白值會視為遺漏

必填
類型:字串
validation_data_path CSV 檔案的 Cloud Storage 路徑。CSV 檔案格式必須與 training_data_path 相同。

選用
類型:字串
test_data_path CSV 檔案的 Cloud Storage 路徑。CSV 檔案格式必須與 training_data_pathvalidation_data_path 相同。

選用
類型:字串
job-dir 模型、檢查點和其他訓練成果所在的 Cloud Storage 路徑。在此路徑中會建立下列目錄:
  • model:此目錄包含訓練模型
  • processed_data:如已啟用自動預先處理,此目錄會包含用於訓練、測試和驗證的三個資料檔案。
  • artifacts:此目錄包含訓練預先處理相關成果,可協助您執行用戶端預先處理作業。
  • experiment:與 TensorFlow 模型訓練相關的檢查點和摘要。

必填
類型:字串
預先處理參數
(設定 preprocessing 時。)
validation_data_split 應作為驗證資料的訓練資料比例。

預設值:0.20
類型:浮點
注意: validation_data_split + test_data_split <=0.40
僅在未指定 validation_data_path. 時指定此項目。
test_data_split 應作為測試資料的訓練資料比例。

預設值:0.20
類型:浮點
注意: validation_data_split + test_data_split <=0.40
僅在未指定 test_data_path. 時指定此項目。

超參數

內建廣度與深度演算法具有下列超參數:

超參數 說明
基本參數
model_type 學習工作的類型。

必填
類型:字串
選項:其中一個 {classification, regression}
hidden_units 用於 DNN 特徵欄的隱藏層值 (以逗號分隔)。

預設值:30,30,30
類型:字串
max_steps 執行訓練工作的步驟 (批次) 數。

預設值:最多 10 個訓練週期,一個訓練週期代表通過一次整個訓練資料集。
類型:整數
選項:[1、∞)
learning_rate 用於判斷梯度下降法訓練中梯度步驟的純量。

預設值:0.001
類型:浮點
選項:(0、∞)
eval_steps 執行評估的步驟 (批次) 數。
如未指定,表示將針對整個驗證資料集執行評估。

類型:整數
選項:[1、∞)
batch_size 在每個訓練步驟中處理的資料列數。

預設值:100
類型:整數
選項:[1、∞)
eval_frequency_secs 執行評估和查核點作業的頻率,單位為秒。

預設值:100
類型:整數
選項:[1、∞)
optimizer_type 最佳化工具是梯度下降演算法的特定實作。

預設值:'ftrl'
類型:字串
選項:其中一個 {ftrl、adam、sgd}
FTRL 最佳化工具參數
(optimizer_type='ftrl' 的引數)
l1_regularization_strength 一種正則化類型,可協助從模型中移除不相關或幾乎不相關的特徵。

預設值:0
類型:浮點
選項:[0、∞)
l2_regularization_strength 一種正則化類型,可增進線性模型的一般化作業。

預設值:0
類型:浮點
選項:[0、∞)
l2_shrinkage_regularization_strength L2 收縮正則化強度

預設值:0
類型:浮點
選項:[0、∞)
Adam 最佳化工具參數
(optimizer_type='ftrl' 的引數)
beta_1 第一次預估的指數衰減率。

預設值:0.99
類型:浮點
選項:[0、∞)
beta_2 第一次預估的指數衰減率。
預設值:0.999
類型:浮點
選項:[0、∞)
DNN 指定參數
use_wide 如果設定此項,類別型欄將用於 DNN 模型的廣度部分。

預設值:未設定
類型:布林 (值) 標記
選項:設定或未設定
embed_categories 如果設定這項引數,類別型欄將用於內嵌及模型的深度部分。內嵌大小為資料欄基數的平方根。

預設值:未設定
類型:布林 (值) 標記
選項:設定或未設定
dnn_learning_rate 用於判斷梯度下降法訓練中梯度步驟的純量。 特定於模型的 DNN 部分。

必填
類型:浮點
選項:(0、∞)
dnn_dropout 捨棄指定座標的機率。

預設值:0
類型:浮點
選項:[0、1]
dnn_optimizer_type 最佳化工具是梯度下降演算法的特定實作。特定於模型的 DNN 部分。


預設值:'ftrl'
類型:字串
選項:其中一個 {ftrl、adam、sgd}
FTRL 最佳化工具參數
(dnn_optimizer_type='ftrl' 的引數)
dnn_l1_regularization_strength 一種正則化類型,可協助從模型中移除不相關或幾乎不相關的特徵。適用於 FTRL DNN 最佳化工具。

預設值:0
類型:浮點
選項:[0、∞)
dnn_l2_regularization_strength 一種正則化類型,可增進線性模型的一般化作業。 適用於 FTRL DNN 最佳化工具。

預設值:0
類型:浮點
選項:[0、∞)
dnn_l2_shrinkage_regularization_strength L2 收縮正則化強度。適用於 FTRL DNN 最佳化工具。

預設值:0
類型:浮點
選項:[0、∞)
Adam 最佳化工具參數
(dnn_optimizer_type='adam' 的引數)
dnn_beta_1 第一次預估的指數衰減率。適用於 adam DNN 最佳化工具。

預設值:0.99
類型:浮點
選項:[0、∞)
dnn_beta_2 第一次預估的指數衰減率。適用於 adam DNN 最佳化工具。

預設值:0.999
類型:浮點
選項:[0、∞)

超參數調整

超參數調整會在訓練模型時,測試不同的超參數設定。其會尋找適用於所選目標指標的超參數值。您可針對每個可調整的引數,指定值範圍來限制和鎖定 AI Platform 可嘗試的機率。

進一步瞭解如何在 AI Platform 上調整超參數

「目標」指標

您可最佳化下列指標:

目標指標 方向 說明
損失 最小化 訓練工作損失
準確率 最大化 訓練的準確率 (僅適用於分類工作)

可調整的超參數

使用內建廣度與深度演算法進行訓練時,您可調整下列超參數。首先可使用「高度可調整值」來調整參數。 這些超參數對於目標指標會產生最大影響。

超參數 類型 有效值
具有高度可調整值的超參數
(對於目標指標會產生最大影響)
learning_rate

DOUBLE

(0, ∞)
dnn_learning_rate

DOUBLE

(0, ∞)
max_steps

整數

[1, ∞)
其他參數
l1_reg_strength

DOUBLE

[0, ∞)
l2_reg_strength

DOUBLE

[0, ∞)
l2_shrinkage_reg_strength

DOUBLE

[0, ∞)
beta_1

DOUBLE

[0, ∞)
beta_2

DOUBLE

[0, ∞)
dnn_l1_reg_strength

DOUBLE

[0, ∞)
dnn_l2_reg_strength

DOUBLE

[0, ∞)
dnn_l2_shrinkage_reg_strength

DOUBLE

[0, ∞)
dnn_beta_1

DOUBLE

[0, ∞)
dnn_beta_2

DOUBLE

[0, ∞)
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Machine Learning 說明文件