基于KNN對比學習的域外意圖分類(KNN-Contrastive Learning for Out-of-Domain Intent Classification)閱讀
發表在ACL2022上面的一篇文章
論文鏈接:KNN-Contrastive Learning for Out-of-Domain Intent Classification - ACL Anthology
Abstract
域外 (OOD) 意圖分類是對話系統的一項基本且具有挑戰性的任務。以前的方法通常將域內 (IND) 意圖特征的區域(在特征空間中)限制為緊湊或隱式簡單連接,假設沒有 OOD 意圖駐留,來學習判別性語義特征。然后,通常假定IND意圖特征的分布服從假設分布(主要是高斯分布),并且該分布之外的樣本被視為OOD樣本。
在本文中,作者從OOD意圖分類的性質出發,并探討了其優化目標。并進一步提出了KNN-對比學習方法,這種方法利用IND意圖的k-最近鄰(KNN)來學習更有利于OOD檢測的判別語義特征。
值得注意的是,基于密度的新穎性檢測算法在該方法的本質中已根深蒂固,因此將其用作OOD檢測算法是合理的,而無需對特征分布提出任何要求。在四個公共數據集上的大量實驗表明,作者的方法不僅可以顯著提高OOD檢測性能,還可以改善IND意圖分類,同時不需要限制特征分布。
Introduction
隨著對話系統所面臨的環境越來越開放,出現了越來越多的對話系統不知道如何處理的未知意圖或域外(OOD)意圖。為了解決這一問題,根據訓練過程中是否使用了大量標記的OOD意圖樣本,將現有方法大致歸納為兩類。
第一種方法(訓練中使用OOD樣本)認為OOD意圖分類是一個(n+1)類分類任務,額外的(n+1)類代表標記的OOD意圖。這些方法可能需要額外的大量且耗時的標記域外樣本。此外,人工構建的具有人工感應偏置的OOD樣本無法覆蓋實際環境中的所有開放類別,因此這種方法存在一定的局限性。(參考鏈接:https://blog.csdn.net/anxiaomai520/article/details/123444586)
而作者關注的是另一種方法,它涉及兩個階段,學習犯罪語義特征與OOD檢測。類內方差最小化和類間方差最大化一直被認為是解決如何學習有利于OOD檢測的語義特征問題的本質,其是通過擴大IND和OOD意圖之間的差距來促進檢測。然后將高斯分布(或隱式)引入到學習到的意圖特征的分布中,用于OOD檢測。
其實OOD意圖在語義空間中的實際位置并不受限制,它們可以出現在IND類之間,也可以出現在IND分布范圍內。將分布在不同IND類別之間的OOD意圖命名為OOD內部意圖(inter),將分布在IND類別內或被局部IND意圖樣本組成的凸包包圍的OOD意圖稱為OOD內意圖(intra)。對于OOD內部意圖,最小化類內方差和最大化類間方差可以降低被識別為IND的風險,而OOD內部意圖由于與IND意圖更接近,這種風險可能會增加。
同時,對IND語義特征分布進行高斯假設檢驗在臨床全訓練集中,發現只有57%的IND類符合高斯分布,這說明之前方法中OOD檢測的高斯假設可能并不合理,針對這些問題,利用開放空間風險顯式定義了OOD意圖分類的優化目標?!痉忾]集:在訓練時已知所有測試集;開放集識別:測試未知類,需要強泛化能力】
與以往只考慮 OOD內部意圖的方法相比,本文提出了一種簡單而有效的且同時考慮OOD內意向和OOD間意向的方法,即利用IND意圖樣本的k近鄰作為正樣本,并通過MoCo中的隊列獲取更多的負樣本來學習區分性語義特征,進一步分析了該方法可以更好地降低開放空間風險的原因。直觀地說,該方法在OOD意圖周圍留下了更多的余量,這可以確保使用基于基本密度的方法來進行OOD檢測,而不需要對其分布進行任何假設。
貢獻如下:
1. 遵循開放空間風險,明確OOD意圖分類的優化目標,為求解OOD意圖分類問題提供了一種范例。
2. 分析了現有方法的局限性,并提出了一種更好地降低經驗風險和開放空間風險的新方法。
3. 在四個具有挑戰性的數據集上展示了我們的方法,在不受特征分布限制的情況下實現一致的改進。
Related Work
Out-of-domain Detection(域外檢測)
區分OOD,擴大IND和OOD之間的差異的以往方法:
1. 在高維空間中通過核函數尋找超平面或超球面來區分。
2. 提出了OpenMax模型,利用深度網絡倒數第二層的得分來區分。
3. 基于最大softmax概率的基線。
4. 基于MSP添加了溫度標度,添加擾動輸入。
上述方法主要集中在計算機視覺上,并假設(或隱式)特征區域是緊湊的(單連通區域),許多研究工作都是在自然語言處理中進行的。
降低開放空間風險以往方法:
1. 通過高斯擬合收緊sigmoid函數的決策邊界。
2. 學習具有邊緣損失的判別性深度特征。
3. 使用高斯混合分布進行模型嵌入,以便于下游異常值檢測。
4. 假設IND語義特征分布為高斯判別分析(GDA),并通過馬氏距離識別域外樣本。
5. 提出學習自適應循環決策邊界,通過決策邊界降低。
6. 提出了一個有監督的對比學習目標,以最大化類間方差和最小化類內方差。
這些方法還將特征分布限制在特征學習階段或下游檢測階段,無法完全解決域外分類問題。
Contrastive Learning(對比學習)
廣泛應用于無監督或自監督學習,以往方法通過點積的相似性,用InfoNCE損失來度量語義空間中樣本對的相似性。為了獲得更多的負樣本用于對比學習,引入了動量對比學習(MoCo),構建了一個大型且一致的字典,有助于對比無監督學習。在不同領域普遍存在預訓練模型(PTMs)并將PTMs與對比學習范式相結合,采用鄰域,利用MoCo或記憶庫獲取足夠的負樣本。
Proposed Method
Objective of OOD Intent Classification
Open space risk(開放空間風險)
使用IND訓練樣本,開放空間可以定義為:

其中:σ是IND訓練樣本x跨越的局部(小)語義空間,x是所有IND訓練樣本和S的集合,包括開放空間O和剩余空間S。
考慮一個可測量的識別器(或判別器)f,對于IND意圖f(x) = 1(> 0),否則f(x) = 0(<= 0),則可以根據勒貝格測度形成概率開放空間風險RO:

Objective of OOD Intent Classification(OOD意圖分類的目標)
識別OOD意圖首先需要學習意圖表示,這在保證IND分類質量的同時也適應了下游檢測。因此,引入了一個額外的優化目標,命名為經驗風險Rε(f)。目標可以定義為:

其中:λ是平衡經驗風險和開放空間風險的超參數,H是函數空間。
Minimize Empirical Risk
優化上述目標,作者首先利用BERT來提取意圖表示。給定第i條域內語句,得到了它的上下文嵌入[[CLS],T1,T2,…,TN]。對這些上下文令牌嵌入進行均值池化操作, 以獲得句子語義表示Zi:

其中:Zi∈RH,N為序列長度,H為隱維數。
用簡單的軟最大交叉熵損失Lce優化經驗風險:

其中:?(·)表示線性分類器,?j(zi)表示第j類的分數。
KNN-Contrastive Learning
由于缺乏OOD意圖樣本,無法直接優化開放空間風險?,F有方法通過將同類IND樣本拉到一起,將不同類別的樣本分開來間接降低開放空間風險。然而,基于上述分析,這些方法可能會增加將OOD內意圖識別為IND的風險。直觀上,為了降低識別內部OOD意圖為IND的風險,只需要將k近鄰放在一起,同時將它們從不同的類意圖樣本中分開。為了實現這一目標,作者通過重寫對比損失得到KNN對比損失 Lknn-cl:

其中:Xk表示S是樣本zi的k個近鄰集合,I≡A{zj},A是類別與zj不同的樣本集合。τ為溫度超參數。
Momentum Contrast is All You Need
在進行KNN對比學習時,需要解決兩個問題:
1. 批量大,選擇的樣本越多,越有可能找到k近鄰;同時,還需要足夠多的負樣本來區分。
2. k近鄰在訓練過程中應該保持一致,否則KNN對比訓練學習可能會不穩定。
遵循MoCo規則,我們還維護了一個包含IND樣本的隊列,并使用當前批次的特征對其進行更新,同時將最老的特征下線。隊列將樣本大小與批大小解耦,允許獲得更多的負樣本(好處是降低開放空間風險)。為了保持一致性,來自前幾批的特征由一個緩慢更新的網絡(編碼器)編碼,其參數是來自查詢編碼器(另一個網絡)的參數的基于動量的平均值。結合softmax交叉熵損失和KNN對比學習損失,最終的微調目標學習區分性特征如下:

其中:λ 是平衡經驗風險和開放空間風險的超參數。
Local Outlier Factor
為了更接近實際情況,傾向于在不假設IND意圖潛在分布的情況下采用下游檢測算法。因此,采用一種簡單而通用的檢測算法LOF算法,并隨后計算LOF評分。
Experiments


Conclusion
本文明確了OOD意圖分類的優化目標,分析了現有方法的局限性,并提出了一種簡單而有效的學習判別語義特征的方法。該方法將IND意圖的k個近鄰集合在一起,并將它們從不同類別的樣本中推開,以更好地降低經驗風險和開放空間風險。

浙公網安備 33010602011771號