機器學習2021 — 應對領域漂移:領域調適與泛化技術介紹

機器學習2021 — 應對領域漂移:領域調適與泛化技術介紹

機器學習2021 — 應對領域漂移:領域調適與泛化技術介紹

在機器學習和人工智慧的訓練過程中,我們通常假設訓練資料與測試資料具有相同的分布(Distribution),並以此為基礎評估模型性能。然而,一旦模型被應用到實際場景中,這個假設經常會被打破。當訓練資料與測試資料的分布出現差異時,這種現象被稱為領域漂移 (Domain Shift)。

領域漂移的挑戰 (The Challenge of Domain Shift)

領域漂移是導致模型在真實應用中性能下降的主要原因。例如,如果我們在黑白數字圖像上訓練一個分類器,然後將其直接應用於彩色數字圖像的測試集上,模型的準確度可能會從基準測試集上的 99.5% 暴跌至 57% 左右。這說明了即使數字形狀相同,訓練與測試資料之間的顏色差異(即分布差異)也會導致模型失效。

領域漂移不僅限於輸入資料的分布變化:

• 輸入分布變化: 模型輸入資料的分布發生變化,例如黑白變彩色。

• 輸出分布變化: 訓練資料中每個類別出現的機率可能相同,但在測試資料中可能不同。

• 關係變化: 輸入和輸出之間的關係發生了改變(例如,訓練中被標註為 0 的圖片,在測試中被認為是 1)。

我們將訓練資料所在的領域稱為 Source Domain(來源領域),而測試資料所在的領域稱為 Target Domain(目標領域)。

領域調適 (Domain Adaptation, DA)

領域調適可以視為遷移學習 (Transfer Learning) 的一種。它的目標是將模型從 Source Domain 上學到的知識,應用到 Target Domain 上。

在進行領域調適時,通常 Source Domain 擁有帶有標註的資料。根據我們對 Target Domain 了解的程度不同,領域調適的方法也有所區分:

  1. Target Domain 帶有少量標註資料: 這是一種較容易處理的情境。可以利用這些少量有標註的資料來對在 Source Domain 上訓練好的模型進行微調 (Fine-tune)。此時需要注意,由於 Target Domain 資料量少,必須小心避免 Overfit(過度擬合),例如可以調小學習率或減少迭代次數。

  2. Target Domain 帶有大量但無標註資料: 這是實務上常見且本文主要關注的情境。例如,模型上線後收集到大量使用者輸入,但這些資料缺乏人工標註。

核心技術:特徵提取與對抗訓練

在 Target Domain 無標註資料的情況下,領域調適的基本概念是找到一個 Feature Extractor(特徵提取器)。這個 Feature Extractor 是一個網路,它接收圖像作為輸入,輸出一個特徵向量 (Factor/Feature)。

Feature Extractor 的目標是將 Source Domain 和 Target Domain 圖片中那些表面上不同的部分(如顏色資訊)濾除,只提取它們共同的部分。最終,經過 Feature Extractor 處理後,不論是來自 Source Domain 的特徵還是 Target Domain 的特徵,它們在特徵空間中的分布應該看起來沒有差異(或具有一樣的分布)。

為達成此目標,我們常採用 Domain Adversarial Training (DAT)(領域對抗訓練)技術。模型主要由三個部分組成:

  1. Feature Extractor (θf​): 輸出特徵。

  2. Label Predictor (θp​): 根據特徵進行類別分類,目標是最小化 Source Domain 上的分類損失 L。

  3. Domain Classifier (θd​): 判斷輸入的特徵是來自 Source Domain 還是 Target Domain,目標是最小化領域分類損失 Ld​。

對抗性機制:

• Feature Extractor (θf​) 的訓練目標具有雙重性:它需要支持 Label Predictor 正確分類(最小化 L),同時又要欺騙 Domain Classifier(最大化 Ld​)。

• Feature Extractor 的損失函數被設定為最小化 L−Ld​。這種設計使得 θf​ 既能產生對 Label Predictor 有用的特徵,同時又能使 Domain Classifier 無法分辨特徵的來源。

• 這種機制非常類似於 Generative Adversarial Network (GAN),Feature Extractor 扮演 Generator,Domain Classifier 扮演 Discriminator。

DAT 的實證結果顯示,它可以顯著提升模型在 Target Domain 上的準確率(例如,從 57.5% 提高到 81%)。

領域調適的挑戰與進階 (Challenges and Advancements)

單純地將兩個領域的特徵分布拉近可能不夠。

• 類別邊界問題: 即使 Source 和 Target 領域的特徵分布大致對齊,Target Domain 的資料點仍可能落在 Source Domain 類別的分界點附近,影響分類。進階方法(如 DIRT-T 或 Maximum Classifier Discrepancy)會設法讓 Target Domain 的無標註特徵點遠離 Source Domain 的分類邊界。

• 不對稱類別: Source Domain 和 Target Domain 擁有的類別可能不完全一樣(例如,一個有老虎、獅子和狗,另一個只有獅子和狗)。此時,強行要求完全對齊可能會導致模型無法區分特定類別。Universal Domain Adaptation 等研究試圖解決 Source 和 Target 領域類別不完全交集的問題。

領域泛化 (Domain Generalization, DG)

當我們對 Target Domain 一無所知,或者 Target Domain 的資料量極少(甚至只有一張圖片)且無標註時,我們無法進行調適 (Adapt) 到某個特定的領域。此時,我們追求的是 領域泛化。

領域泛化的目標是訓練出一個模型,使其在測試時無論面對什麼樣的新奇領域,都能具備處理能力。

領域泛化主要分為兩種情境:

  1. 訓練資料豐富: 訓練資料本身就包含了多種不同的 Domain(例如,貓狗分類器同時涵蓋真實照片、素描畫和水彩畫的圖片)。模型在訓練過程中即學會了彌平 Domain 間的差異。

  2. 訓練資料只有單一 Domain: 這是更嚴峻的挑戰。解決方法通常類似於資料增強 (Data Augmentation),即利用現有的單一領域資料,去生成多個不同領域的模擬資料,從而模擬第一種情境,讓模型在測試時能更好地應對新的領域。

總體而言,領域調適專注於利用 Source 和 Target 領域的共同資訊(即使 Target 資料無標註),透過對抗訓練等手段,使特徵分布趨於一致,以提升模型在新領域的性能。而領域泛化則專注於提升模型的普適性,使其能夠在對 Target Domain 資訊缺乏的情況下,依然能夠處理多變的測試情境。

Comments

Loading comments…

Leave a Comment