文章目錄
- 1 概述
- 1.1 要點
- 1.2 代碼
- 1.3 引用
- 2 預備知識
- 3 方法
- 3.1 MaxLogit
- 3.2 改進MaxCosine和MaxNorm
- 3.3 DML+
1 概述
1.1 要點
題目:解耦最大logit分布外檢測 (Decoupling maxlogit for out-of-distribution detection)
方法:
- 提出了一種心機基于logit的OOD方法,解耦最大邏輯 (DML);
- 考慮硬樣本和緊湊特征空間,提出改進后的DML+;
- 解耦最大logit (MaxLogit) 為高效的MaxCosine和保證性能的MaxNorm;
1.2 代碼
暫無。
1.3 引用
@inproceedings{Zhang:2023:33883397,
author = {Zhang, Zi Han and Xiang, Xiang},
title = {Decoupling {MaxLogit} for out-of-distribution detection},
booktitle = {{CVPR}},
pages = {3388--3397},
year = {2023},
}
2 預備知識
已知一個 K K K類分類器:
f ( x , W full ) = b L + W L δ ( ? δ ( b 1 + W 1 x ) ? ) , (1) \tag{1} f(x,W_\text{full})=b_L+W_L\delta(\cdots\delta(b_1+W_1x)\cdots), f(x,Wfull?)=bL?+WL?δ(?δ(b1?+W1?x)?),(1)其中 W W W表示權重、 b b b表示偏置,以及 δ ( ? ) \delta(\cdot) δ(?)表示非線性激活函數。給定屬于第 k k k類的數據 x k , i x_{k,i} xk,i?,定義最后一層的特征為 h k , i ∈ R d , f ( x ; W full ) = b L + W L h k , i h_{k,i}\in\mathbb{R}^d,f(x;W_\text{full})=b_L+W_Lh_{k,i} hk,i?∈Rd,f(x;Wfull?)=bL?+WL?hk,i?。為了簡便,后面的分析將不包含偏置項。然后logit表示為 z k , i = W L h k , i z_{k,i}=W_Lh_{k,i} zk,i?=WL?hk,i?。
給定訓練集 D t r = { ( x k i , k ) } i = 1 N ~ P t r \mathcal{D}_{tr}=\{(x_{k_i},k)\}_{i=1}^N\sim\mathcal{P}_{tr} Dtr?={(xki??,k)}i=1N?~Ptr?。首先在訓練集上訓練模型,OOD檢測的目的是決定給定的樣本來自于 P t r \mathcal{P}_{tr} Ptr?還是其它數據分布。因此,OOD檢測的兩個關鍵問題是:
- 訓練一個對OOD數據健壯的數據,即便于區分ID和OOD數據;
- 設計一個評分函數,使得得分低的是OOD數據;
兩個特征坍塌指標定義如下:
- 類內特征收斂 (WFC):
WFC : = trace ( Σ W Σ B ? ) K , (2) \tag{2} \text{WFC}:=\frac{\text{trace}(\Sigma_W\Sigma_B^\dag)}{K}, WFC:=Ktrace(ΣW?ΣB??)?,(2) - 類平均特征收斂 (CFC):
CFC : = ∑ k = 1 K ∥ h  ̄ k ∥ h ∥ F ? w k ∥ W ∥ F ∥ , (3) \tag{3} \text{CFC}:=\sum_{k=1}^K\left\| \frac{\overline{h}_k}{\|h\|_F} -\frac{w_k}{\|W\|_F} \right\|, CFC:=k=1∑K? ?∥h∥F?hk???∥W∥F?wk?? ?,(3)其中 ? \dag ?表示偽逆, h h h是所有樣本的特征矩陣, h  ̄ k \overline{h}_k hk?和 h  ̄ \overline{h} h分別表示第 k k k類和所有特征的平均值, Σ W = 1 K n ∑ k = 1 K ∑ i = 1 n ( h k , i ? h  ̄ k ) ( h k , i ? h  ̄ k ) ? \Sigma_W=\frac{1}{K_n}\sum_{k=1}^K\sum_{i=1}^n(h_{k,i}-\overline{h}_k)(h_{k,i}-\overline{h}_k)^\top ΣW?=Kn?1?∑k=1K?∑i=1n?(hk,i??hk?)(hk,i??hk?)?,以及 Σ B = 1 K ∑ k = 1 K ( h  ̄ k ? h  ̄ ) ( h k ? h  ̄ ) ? \Sigma_B=\frac{1}{K}\sum_{k=1}^K(\overline{h}_{k}-\overline{h})(h_{k}-\overline{h})^\top ΣB?=K1?∑k=1K?(hk??h)(hk??h)?。
3 方法
3.1 MaxLogit
一個樣本的MSP得分是其最大softmax值: max ? ( Softmax ( z k , i ) ) \max(\text{Softmax}(z_{k,i})) max(Softmax(zk,i?))。MaxLogit則取樣本的最大logit值: max ? ( z k , i ) \max(z_{k,i}) max(zk,i?)。
MaxLogit在很多數據集上優于MSP。評分函數上的單調遞增函數變化,例如 log ? \log log和 exp ? \exp exp,不會影響OOD檢測性能。因此,MSP和MaxLogit唯一的差別是求和項 ∑ j = 1 K exp ? ( z i j ) \sum_{j=1}^K\exp(z_{ij}) ∑j=1K?exp(zij?)。當模型收斂后,該項主要受特征范數影響。因此,MSP和MaxLogit的主要區別集中在特征范數。這啟發我們研究cosine相似性和特征范數如何影響OOD檢測性能。
本文將MaxLogit解耦為兩個部分:
MaxCosine : max ? ( cos ? < h k , i , w j > ) j = 1 K , (4) \tag{4} \text{MaxCosine}:\max\left( \cos<h_{k,i},w_j> \right)_{j=1}^K, MaxCosine:max(cos<hk,i?,wj?>)j=1K?,(4) MaxNorm : ∥ h k , i ∥ . (5) \tag{5} \text{MaxNorm}:\| h_{k,i} \|. MaxNorm:∥hk,i?∥.(5)MaxLogit得分等價于MaxCosine和MaxNorm得分的乘積。由于應用遞增函數變換不會影響OOD檢測的性能,因此MaxLogit可以用兩個獨立的部分來描述: log ? ( max ? ( z k , i ) ) = log ? ( max ? ( cos ? < h k , i , w j > ) ) + log ? ∣ h k . i ∣ + log ? ∣ w ∣ \log(\max(z_{k,i}))=\log(\max(\cos<h_{k,i},w_j>))+\log|h_{k.i}|+\log|w| log(max(zk,i?))=log(max(cos<hk,i?,wj?>))+log∣hk.i?∣+log∣w∣,其是MaxCosine和MaxNorm的耦合項。注意對于分類器權重 w j w_j wj?,其在模型收斂后為常數,因此用常量|w|來代替。
基于以上結果,提出了解耦MaxLogit (DML):
DML = λ MaxCosine + MaxNorm , (6) \tag{6} \text{DML}=\lambda\text{MaxCosine}+\text{MaxNorm}, DML=λMaxCosine+MaxNorm,(6)其中 λ \lambda λ是超參數。
3.2 改進MaxCosine和MaxNorm
盡管MaxNorm使得DML優于MaxCosine,但由于MaxNorm的性能較低,因此改進幅度很小。通過實驗發現:
- Cosine分類器可以引導更好的MaxCosine、MaxNorm,以及基于logit的方法;
- 低WFC引導更好的MaxNorm,其通過Center損失獲取:
L c e n t e r = ∑ k = 1 K ∑ i = 1 n ∥ h k , i ? C k ∥ 2 , (7) \tag{7} \mathcal{L}_{center}=\sum_{k=1}^K\sum_{i=1}^n\|h_{k,i}-\mathcal{C}_k\|_2, Lcenter?=k=1∑K?i=1∑n?∥hk,i??Ck?∥2?,(7)其中 C k \mathcal{C}_k Ck?是第 k k k類的平均特征; - 低CFC引導更好的MaxCosine,其通過Focal損失獲取:
L f o c a l = ? ∑ k = 1 K ∑ i = 1 n ( 1 ? p k i ) γ log ? ( p k , i ) , (8) \tag{8} \mathcal{L}_{focal}=-\sum_{k=1}^K\sum_{i=1}^n(1-p_{k_i})^\gamma\log(p_{k,i}), Lfocal?=?k=1∑K?i=1∑n?(1?pki??)γlog(pk,i?),(8)其中 γ \gamma γ是超參數,以及 p k , i p_{k,i} pk,i?是sofrmax得分。
3.3 DML+
為了進一步提升,一個健壯的方法是:
- 利用Focal損失訓練cosine模型,并獲得MaxCosine;
- 利用Center損失訓練cosine模型,并獲得MaxNorm;
這樣的方法被命名為DML+:
D M L + = λ MaxCosine F + MaxNorm C , DML+=\lambda\text{MaxCosine}_F+\text{MaxNorm}_C, DML+=λMaxCosineF?+MaxNormC?,其中 MaxCosine F \text{MaxCosine}_F MaxCosineF?表示使用Focal損失訓練模型, MaxNorm C \text{MaxNorm}_C MaxNormC?表示使用Center損失訓練模型,其分別被記為 M C F MCF MCF和MNC。