该论文考虑了一个现实的场景:数据集来自网络爬虫,即存在开集噪声OOD样本和闭集噪声ID样本。作者提出了一个简单但有效的策略:通过新设计的指标区分OOD样本,并对OOD样本软化(soften)弥补与干净样本的差距,该方法称为:Dynamic Softening of Out-of-distribution Samples (DSOS)。
真实世界噪声主要为OOD噪声
作者在数据集WebVision中分别随机选了2k张图片作为子集(S1、S2、S3),发现主要噪声为OOD,占比约为24.38%,ID噪声占比约为5.32%。
\[\begin{array}{ccccc}\hline&\text{S1}&\text{S2}&\text{S3}&\text{Average}\left(\%\right)\\\hline\text{Correct}&1441&1440&1335&1405.33\left(70.30\right)\\\text{OOD}&460&429&573&487.33\left(24.38\right)\\\text{ID}&98&130&91&106.33\left(5.32\right)\\\hline\end{array} \]区分OOD与ID样本的新指标:插值熵
DNN在噪声数据集上进行了训练且没有过拟合噪声时,样本可根据置信度分为:
- 自信的正确预测(干净样本)
- 自信的不正确样本(ID样本)
- 不自信的样本(OOD样本)
但仅对模型的预测作为区分还不够,因为这会导致ID和OOD样本区分不明显。EvidentialMix提出了利用损失的均值和方差区分OOD与ID(原文称这种损失为evidential loss, EDL),但这种方法对于OOD有着较低的置信度。
作者对比了一般的CE损失、EDL和自己的方法在开集噪声率、闭集噪声率分别为0.2的情况下的AUC分数:
\[\begin{array}{llll}\hline&\text{Clcan}&\text{ID}&\text{OOD}\\\hline\text{CE}&95&87&81\\\text{EDL}&93&90&75\\\text{IL entropy}&91&81&94\\\text{IL collision}&93&85&92\\\hline\end{array} \]作者定义的新指标:collision entropy:
\[l_{detect}=-\log\left(\sum_{c=1}^Cy_{int,c}^2\right) \]其中模型的预测\(\tilde{Y}\),原标签\(Y\),中间(intermediate)标签\(y_{int}=\frac{y_i+\tilde{y_i}}2\)。对于\(y_{int}\)有3种情况:
- low entropy:真实标签与实际标签吻合。
- medium entropy:预测标签有较高置信度,但是与真实标签不吻合。
- high entropy:预测结果有着较低置信度。
通过\(l_{detect}\)建立的损失分布图,可通过\(-\log0.5\)实现干净/噪声样本的分离(参见fig1. 第6张子图)。这使得作者选择collision entropy作为区分干净样本与噪声样本的指标。对于OOD与ID,作者选择拟合二元Beta混合分布去计算样本属于OOD/ID的先验。
我根据论文的设置重新绘制了一张,对于collision entropy(第4张子图)并没有清晰的beta分布,可见作者给出的fig.1是美化后的结果。除了第50个epoch,还看了40、30,都没有明显的beta分布。
DSOS: 动态软化OOD样本
DSOS目的是为了在分离样本前纠正标签,对于ID样本,使用自信的标签预测代替噪声标签;并促使对不能被纠正的OOD样本输出高熵。
对于最小化经验风险(empirical risk)的定义:
\[R_e=\frac1N\sum_{i=1}^N-y_i^{t}\log h(x_i), \]其中\(y_i^t\)是对观察到的标签的纠正,\(y_i\)可能是噪声标签,\(h(x_i)\)为模型softmax后的logits。但是OOD样本的标签是无法纠正的,并且作者不建议像之前对OOD从均匀分布中随机选择标签的做法,而是通过软化OOD标签实现高熵预测促进网络校准,empirical risk重写为:
\[R_{e}=- \frac{1}{N_{c}+N_{in}} \sum_{i=1}^{N_{c}+N_{in}}y_{i}^t\log h(x_{i})-\frac1{N_{out}}\sum_{j=1}^{N_{out}}y_s\log h(x_j) \]其中\(y_s\)为软化标签,对于软化标签的获取,设计一个OOD分类器\(\mathcal{V}=\{v_i\}_{i=1}^N,v_i\in[0,1]\),\(v_i=0\)表示\(x_i\)为OOD样本:\(f(y_i^t,0)=y_s\)为1时表示ID样本/干净样本\(f(y_i^t,1)=y_i^t\)。引入分类器后,empirical risk可重写为:
\[R_e=- \frac{1}{N}\sum_{i=1}^Nf(y_i^t,v_i)\log h(x_i), \]对于ID样本,使用bootstrap翻新标签,即用预测结果作为标签;对于OOD根据它是OOD的概率软化标签,是OOD的概率越大,软化标签越接近均匀分布。
对于后验概率\(l_{detect}>-\log0.5\)的样本记为\(\tilde{U}=\{\tilde{u}_{i}\}_{i=0}^{N},\ \tilde{u}_{i}\in\{0,1\}\),\(\tilde{u}_{i}=1\)记为ID样本,对应的标签为
\[y_i^b=(1-\tilde{u}_i)y_i+\tilde{u}_i\tilde{y}_i^t. \]其中\(\tilde{y}_i^t\)为预测标签。对于样本不是OOD样本的量化,用\(\tilde{V}=\{\tilde{v}_i\}_{i=0}^N\)表示,\(\tilde{v}_i=0\)表示样本是OOD,对\(y_i^b\) normalize 再和\(\tilde{v}_i\)计算:
\[y_i^d=\frac{\exp\frac{\tilde{v}_iy_i^b}{\alpha}}{\sum_{c=1}^C\exp\frac{\tilde{v}_iy_{i,c}^b}{\alpha}}. \]\(\alpha\in[0,1]\)为超参数,\(y^d\)为\(y^b\)的平滑纠正版本,平滑的程度\(\frac{\tilde{v}_i}\alpha\)取决于OOD的概率。对于\(\tilde{U},\tilde{V}\)的更新发生在warmup结束,以及warmup之后的每个epoch,此外在更新的过程不参与梯度计算更新。
额外的正则项
使用\(\tilde{v}_i\)的均值作为权重实现对干净样本和ID样本更好的分离:
\[l_e=-\frac1N\sum_{i=1}^N\tilde{v_i}\sum_{i=1}^Nh(x_i)\log(h(x_i)) \]最后总的损失:
\[l=-\frac1N\sum_{i=1}^Ny^{d^T}\log(h(x_i))+\gamma l_e \]参考文献
- Albert, Paul, et al. "Addressing out-of-distribution label noise in webly-labelled data." Proceedings of the IEEE/CVF winter conference on applications of computer vision. 2022.