遷移學習的特征化

Databricks支持深度學習模型的特性。預訓練的深度學習模型可用於計算用於其他下遊模型的特征。Databricks支持大規模的特性化,將計算分布到集群中。您可以使用包含的深度學習庫執行特性Databricks運行時ML,包括TensorFlow和PyTorch。

Databricks也支持轉移學習,這是一種與特性密切相關的技術。遷移學習允許您在相關領域重用來自一個問題領域的知識。特征化本身就是一種簡單而強大的遷移學習方法:使用預先訓練好的深度學習模型來計算特征,將關於好的特征的知識從原始領域轉移過來。

本文演示了如何使用預先訓練好的TensorFlow模型計算遷移學習的特征,使用以下工作流程:

  1. 從一個預先訓練好的深度學習模型開始,在這種情況下是一個圖像分類模型tensorflow.keras.applications

  2. 截斷模型的最後一層。修改後的模型輸出一個特征張量,而不是一個預測。

  3. 將該模型應用於來自不同問題域的新圖像數據集,計算圖像的特征。

  4. 使用這些特征來訓練一個新模型。下麵的筆記本省略了這最後一步。有關訓練簡單模型(如邏輯回歸)的示例,請參見Databricks機器學習指南

以下筆記本使用熊貓udf執行特性化步驟。pandas udf,以及它們的新變體標量迭代器熊貓udf,提供靈活的api,支持任何深度學習庫,並提供高性能。

TensorFlow的特征化和遷移學習

在新標簽頁打開筆記本