用於模型修正的反事實 Logit 配對

反事實 Logit 配對 (CLP) 是 TensorFlow 模型修正程式庫中的一項技術,旨在確保當範例中參照的敏感屬性遭到移除或取代時,模型的預測不會改變。例如,在毒性分類器中,「我是男人」和「我是女同志」等範例不應有不同的毒性預測結果。

如要深入探討這個主題,請參閱關於反事實公平性對抗性 Logit 配對反事實 Logit 配對的研究。

何時應使用反事實 Logit 配對?

CLP 解決的是以下情境:特徵中參照的敏感屬性發生變更時,預測結果也隨之改變 (但預測結果不應改變)。這麼做的目的是嘗試回答這個問題:此模型是否容易僅因身分屬性的存在而改變預測結果?如需反事實公平性的詳細資訊,請參閱研究論文

這個問題曾在 Perspective API (ML 工具,開發人員和發布商可用於分析留言內容是否具冒犯性或有害文字) 中發現。Perspective API 會將留言文字當做輸入內容,並傳回介於 0 到 1 之間的分數,藉此表示留言具毒性的機率。舉例來說,類似「你是白癡」的留言可能會收到 0.8 的毒性機率分數,表示讀者可能認為該留言具毒性的機率有多高。

在 Perspective API 初次發布後,外部使用者發現,包含種族或性取向資訊的身分詞彙與預測的毒性分數之間,存在正相關。舉例來說,詞組「我是女同志」獲得 0.51 的分數,而「我是男人」則獲得較低的 0.2 分數。在這種情況下,身分詞彙並非貶義用法,因此分數不應有如此顯著的差異。如要進一步瞭解 Perspective API,請參閱關於非預期偏見和身分詞彙的部落格文章。

如何評估反事實 Logit 配對的效果?

如果您已評估您的機器學習模型,並判定特定敏感屬性變更導致預測結果變更會造成危害,那麼您應評估這個問題的普遍程度。如果是二元或多類別分類器,翻轉的定義是當範例中參照的敏感屬性變更時,分類器做出不同的決策 (例如將預測結果從具毒性改為不具毒性)。在評估翻轉的普遍程度時,您可以查看翻轉次數翻轉率。考量到翻轉可能造成的潛在使用者傷害,以及翻轉發生的頻率,您可以判斷是否應套用 CLP 來解決這個問題。如要進一步瞭解這些指標,請參閱公平性指標指南

反事實 Logit 配對可套用在哪些模型類型?

這項技術可用於二元和多類別分類器,適用於不同類型的資料,例如文字、圖片和影片。

反事實 Logit 配對在哪些情況下不適合我?

CLP 並非適用於所有情況的正確方法。舉例來說,如果身分詞彙的存在與否合理地改變了分類器預測結果,則 CLP 不相關。如果分類器的目標是判斷特徵是否參照特定的身分群體,情況可能就是如此。如果分類器結果與身分群體之間非預期的關聯性,對使用者沒有負面影響,那麼此方法的影響也較小。

CLP 適用於測試語言模型或毒性分類器是否以不公平的方式 (例如僅因文字中出現「黑人」、「同性戀」、「穆斯林」等詞彙,就將一段文字歸類為具毒性) 改變其輸出結果。CLP 並非旨在預測個人,例如透過操縱個人身分來進行預測。如需更詳細的討論,請參閱這篇論文

務必記住,CLP 是負責任的 AI 工具組中的一項技術,專門用於解決特徵中參照的敏感屬性改變預測結果的情況。視您的模型和使用情境而定,考量歷史弱勢族群是否存在效能差距可能也很重要,特別是因為 CLP 可能會影響群體效能。這可以使用公平性指標評估,並透過同樣位於 TensorFlow 模型修正程式庫中的 MinDiff 加以解決。

您也應考量您的產品是否適合完全使用機器學習。如果適合,您的機器學習工作流程應根據已知的建議做法設計,例如具備明確定義的模型工作和明確的產品需求。

反事實 Logit 配對的運作方式為何?

CLP 會將損失新增至原始模型,損失是藉由配對資料集的原始範例和反事實範例的 Logit 值而提供。藉由計算這兩個值之間的差異,您可以懲罰導致分類器預測結果改變的敏感詞彙差異。這項工作是以關於對抗性 Logit 配對反事實 Logit 配對的研究為基礎。