適用于傳輸學習的特徵化

Azure Databricks 支援使用深度學習模型來進行特徵化。 預先定型的深度學習模型可用來計算特徵以便用於其他下游模型。 Azure Databricks 支援大規模特徵化,可將計算分散到整個叢集。 您可以使用Databricks Runtime ML所包含的深度學習程式庫來執行特徵化,包括 TensorFlow 和 PyTorch。

Azure Databricks 也支援傳輸學習,這項技術與特徵化有密切關聯。 傳輸學習可讓您將來自某個問題領域的知識重複用於相關領領域。 特徵化本身是一種簡單且功能強大的傳輸學習方法:使用預先定型深度學習模型的運算功能,會傳輸來自原始領域的良好特徵相關知識。

本文示範如何使用預先定型的 TensorFlow 模型來計算傳輸學習的功能,並使用下列工作流程:

  1. 開始使用預先定型的深度學習模型,在此案例中為來自的影像分類模型 tensorflow.keras.applications
  2. 截斷模型的最後一層 (s) 。 修改過的模型會產生 tensor 的功能作為輸出,而不是預測。
  3. 將該模型套用至不同問題領域的新映射資料集,以及影像的計算功能。
  4. 使用這些功能來訓練新模型。 下列筆記本會省略此最後一個步驟。 如需訓練簡單模型(例如羅吉斯回歸)的範例,請參閱Databricks 機器學習指南

下列筆記本會使用 Pandas udf 來執行特徵化步驟。 pandas Udf 與其較新的 variant 純量 Iterator Pandas udf,提供彈性的 api,支援任何深度學習程式庫,並提供高效能。

使用 TensorFlow 特徵化和轉移學習

取得筆記本