iPAS 備考專區 登入

iPAS AI 應用規劃師 中級 科目一 AI 技術應用與規劃・114 年第二次・L21・第 47 題

多任務學習為什麼會讓某個任務越練越差?

原題

某金融科技公司導入多任務學習架構,讓單一 Transformer 模型同時執行 OCR(Optical Character Recognition)後的文檔分類以及命名實體辨識(Named Entity Recognition,NER)任務,以協助自動歸檔與抽取關鍵金融資訊。在部署初期,團隊發現當模型的 NER 準確率(Accuracy)提升時,文檔分類準確率反而下降。若模型架構正確且資料品質良好,下列哪一項最可能是造成此現象的原因?

白話

一家金融科技公司讓同一個 Transformer 模型同時學兩件事:一是把掃描進來的文件分類(例如「這是貸款申請書」還是「這是帳戶對帳單」),二是從文件裡抓出重要的人名、公司名、金額等資訊(這叫「命名實體辨識」,Named Entity Recognition,NER)。

結果上線後發現一個怪現象:NER 越練越準,但文件分類卻越來越差。

問你:架構沒問題、資料也沒問題,最可能是什麼原因造成一個任務變好、另一個任務變差?

一句話總結

兩個任務同時訓練,若沒有調整各自損失函數的比重,梯度較大的任務(NER)會主導參數更新方向,把共享的模型推往對文件分類不利的地方,造成任務間競爭(Task Conflict)。答案是 C。

情境

先感受問題:兩個學生搶同一位老師

「鑫鑫金融科技」導入多任務 Transformer,同時訓練文件分類與 NER。

想像這個模型是一位家教老師,同時輔導兩位學生:

學生甲:文件分類(問的是「整份文件是什麼類型?」)

學生乙:NER(問的是「這個詞是人名還是金額?」)

兩位學生共用同一套「學習筆記」(模型的共享參數)。每次上課,老師根據兩份作業的錯誤修改筆記,但沒有指定誰的作業比較重要。

NER 的作業量很大(每個詞都要標),錯誤訊號(梯度)又多又強;文件分類的作業只有一個答案(整份文件的類別),訊號相對弱。

結果:老師每次都被乙的大量作業搶走注意力,筆記被改成更擅長 NER 的版本。甲的文件分類能力反而退步了。

舊方法

多任務學習沒有平衡損失時的五個問題

多任務學習(Multi-Task Learning)的設計初衷是讓任務互相幫助,但沒有妥善設定損失函數比重,就會出現以下問題:

  1. 梯度量級差異巨大:NER 每個 token 都要算損失,文件分類只算一個 [CLS] token 的損失。前者產生的梯度訊號強度遠超後者。
  2. 參數更新方向偏斜:反向傳播(Backpropagation)把兩個任務的梯度加總,NER 的大梯度主導了共享層的更新方向。
  3. 共享表徵被「劫持」:Transformer 的共享層學到的特徵越來越偏向 NER 需要的局部詞語資訊,而文件分類需要的全局語意資訊被弱化。
  4. 任務間梯度方向衝突:某些參數對 NER 有利的更新方向,對文件分類可能是有害的,持續累積就導致文件分類準確率下降。
  5. 無法靠早停解決:因為一個任務持續進步,監控指標看起來還好,但另一個任務已悄悄退步,難以靠傳統 Early Stopping 偵測。

新方法

損失函數加權如何解決任務競爭

回到鑫鑫金融科技的案例。解決方法是讓總損失函數有明確的任務比重:

總損失 = α × 文件分類損失 + β × NER 損失

如果 NER 的損失量級是文件分類的 10 倍,就把 α 設成 10、β 設成 1,或是把 NER 損失先做正規化,讓兩個任務的梯度量級對等。

這樣一來,兩位學生的作業在老師眼裡「權重相同」,筆記的修改方向不再被 NER 完全主導,文件分類也能持續進步。

進階做法是動態權重調整(如 GradNorm 或 PCGrad):讓模型在訓練過程中自動偵測哪個任務損失下降太慢,即時增加它的比重。

這就是選項 C 講的:損失函數(Loss Function)未進行權重平衡,導致任務間競爭。

錯選項

為什麼其他選項是錯的

A模型架構無法同時支援文字分類與序列標注任務(Sequence Labeling)

字面在說什麼

說 Transformer 架構天生不能同時做文件分類和 NER 這兩種結構不同的任務。

為什麼不對

題目明確說「模型架構正確」,而且 BERT 系列模型本來就設計來支援多任務:在 [CLS] token 上接分類頭(Classification Head),在每個 token 上接序列標注頭(Sequence Labeling Head),是標準做法。Transformer 架構完全可以同時做這兩件事。

誰會選錯

知道文件分類和 NER 是結構上不同的任務(一個輸出一個標籤、另一個輸出序列標籤),就以為它們不能共存於同一個模型的考生。記住:Transformer 靠不同的輸出頭區分任務,架構上完全支援。

B文檔分類任務不需要語意化表徵(Contextualized Representation)

字面在說什麼

說文件分類這個任務根本不需要能理解上下文的語意表徵,暗示它和 Transformer 的核心能力不匹配。

為什麼不對

完全相反,文件分類非常需要語意化表徵(Contextualized Representation)。判斷一份文件是「貸款申請」還是「帳戶對帳單」,需要理解整份文件的語意脈絡,這正是 Transformer 的強項。如果不需要語意表徵,用 TF-IDF 就夠了,幹嘛用 BERT?

誰會選錯

混淆「文件分類是簡單任務,不需要複雜特徵」的直覺。文件分類的輸出雖然簡單(一個類別),但輸入的理解需求一點都不簡單。

D所使用的 BERT 模型無法支援多任務輸出頭(Multi-Head Outputs)

字面在說什麼

說 BERT 的架構設計上不允許接多個輸出頭,所以沒辦法同時做兩個任務。

為什麼不對

BERT 的論文本身就示範了多任務輸出頭的應用。BERT 預訓練時就是多任務(Masked Language Modeling + Next Sentence Prediction)。Fine-tuning 時在 [CLS] token 上接分類頭、在序列 token 上接 NER 頭,是最常見的用法,官方範例就有。BERT 完全支援 Multi-Head Outputs。

誰會選錯

對 BERT 的架構細節不熟悉,聽到「Multi-Head」就聯想到「Multi-Head Attention」,誤以為是注意力頭數限制。這裡的 Multi-Head Outputs 指的是多個任務輸出頭,和注意力機制是不同的概念。

變形題

同個考點下次怎麼變形

延伸

想再往下看,這 5 個

答案、題目或解析有問題?回報這題

出處:iPAS 經濟部產業人才能力鑑定 ・ 114 年第二次 iPAS AI 應用規劃師 中級 科目一 第 47 題

看官方原文 PDF

原題 © 經濟部產業發展署,AITerms.tw 僅作教學解析使用,本站解析以 CC BY-NC-SA 4.0 授權。