傳輸學習特徵化
本文提供使用 pandas UDF 進行傳輸學習特徵化的範例。
DL 模型中的傳輸學習特徵化
Azure Databricks 支援透過深度學習模型進行特徵化。 您可以使用預先訓練的深度學習模型,來計算要在其他下游模型中使用的特徵。 Azure Databricks 支援大規模的特徵化,在整個叢集中分配計算。 您可以使用 Databricks Runtime ML 中包含的深度學習程式庫 (包括 TensorFlow 和 PyTorch) 執行特徵化。
Azure Databricks 也支援傳輸學習,這是一種與特徵化密切相關的技術。 傳輸學習可讓您重複使用相關領域中某個問題領域的知識。 特徵化本身是一種簡單但強大的適用於傳輸學習的方法:使用預先訓練的深度學習模型計算特徵會從原始領域傳輸有關良好特徵的知識。
計算傳輸學習特徵的步驟
本文示範如何使用下列工作流程來計算使用預先訓練的 TensorFlow 模型的傳輸學習的特徵:
- 從預先訓練的深度學習模型開始,在此案例中是來自
tensorflow.keras.applications
的影像分類模型。 - 截斷模型的最後一層。 修改後的模型產生一個特徵張量作為輸出,而不是一個預測。
- 將該模型套用於其他問題領域的新影像資料集,以計算影像的特徵。
- 使用這些特徵來訓練新模型。 下列筆記本省略了這個最後一個步驟。 如需有關如何訓練簡單模型 (如羅吉斯迴歸) 的範例,請參閱訓練 AI 和 ML 模型。
範例:使用 pandas UDF 進行特徵化
下列筆記本使用 pandas UDF 來執行特徵化步驟。 pandas UDF 及其更新的變體 Scalar Iterator pandas UDF 可提供彈性 API,支援任何深度學習程式庫並提供高效能。