Towards Discriminability and Diversity:
Batch Nuclear-norm Maximization under Label Insufficient Situations
论文笔记
motivation
目标域数据在决策边界的分布较为密集,传统的最小化香农熵方法虽然可以增加数据的判别性,使得数据远离决策边界,但是会降低数据的多样性。通过研究输出矩阵的结构发现矩阵的F范数和矩阵的秩可以作为判别行和多样性的度量。矩阵的核范数是矩阵F范数的上界以及矩阵秩的凸近似,可以通过最大化核范数,同时提高判别性和多样性。
判别性:
判别性描述的是结果是否容易区分(不确定性关系描述),通常用信息熵度量。信息熵越低说明结果越容易区分,越大则越难以区分,最具判别的结果是one-hot形式的向量。例如对于一个二分类问题。

本文通过最大化矩阵A的F范数也可以达到相同的效果,推导方式在下文。
多样性:
多样性描述的是输出矩阵中预测类别的数量,输出矩阵预测的类别越多,则说明多样性越高。同样以二分类问题为例。
线性无关:对于预测结果为[0.9,0.1]和[0.1,0.9]的向量,是线性无关。
近似线性相关:对于预测结果为[0.9,0.1]与[0.8,0.2]的向量,则认为近似线性相关。
所以预测类别数可以用预测结果中极大线性无关组所含的向量的个数,即用矩阵的秩近似表示。

method:
1.批输出矩阵的定义。其中B是输出的批量数,C是要分类的类别数。每一行的输出结果和为1.
∑j=1C Ai,j=1∀i∈1…B Ai,j≥0∀i∈1…B,j∈1…C
\begin{aligned}
\sum_{j=1}^{C} \mathrm{~A}_{i, j}=1 & \forall i \in 1 \ldots B \\
\mathrm{~A}_{i, j} \geq 0 & \forall i \in 1 \ldots B, j \in 1 \ldots C
\end{aligned}
j=1∑C Ai,j=1 Ai,j≥0∀i∈1…B∀i∈1…B,j∈1…C
2.熵最小化方法
H( A)=−1B∑i=1B∑j=1C Ai,jlog(Ai,j)
H(\mathrm{~A})=-\frac{1}{B} \sum_{i=1}^{B} \sum_{j=1}^{C} \mathrm{~A}_{i, j} \log \left(\mathrm{A}_{i, j}\right)
H( A)=−B1i=1∑Bj=1∑C Ai,jlog(Ai,j)
通过最小化每一行的信息熵,从而使得矩阵的每一行只有一个1,其余全为0的one-hot向量形式,增加判别性。
3.证明矩阵的F范数与最小化熵损失有着严格的相反的单调性,可以通过最大化矩阵的F范数增加模型判别性。
3.1矩阵的F范数
∥X∥F:=⟨X,X⟩=Tr(X′X)=(∑i=1m∑j=1nXij2)12=(∑i=1rσi2)12
\|X\|_{F}:=\sqrt{\langle X, X\rangle}=\sqrt{\operatorname{Tr}\left(X^{\prime} X\right)}=\left(\sum_{i=1}^{m} \sum_{j=1}^{n} X_{i j}^{2}\right)^{\frac{1}{2}}=\left(\sum_{i=1}^{r} \sigma_{i}^{2}\right)^{\frac{1}{2}}
∥X∥F:=⟨X,X⟩=Tr(X′X)=(i=1∑mj=1∑nXij2)21=(i=1∑rσi2)21
在文章中时使用矩阵A表示,
∥A∥F=∑i=1B∑j=1C∣ Ai,j∣2
\|\mathrm{A}\|_{F}=\sqrt{\sum_{i=1}^{B} \sum_{j=1}^{C}\left|\mathrm{~A}_{i, j}\right|^{2}}
∥A∥F=i=1∑Bj=1∑C∣ Ai,j∣2
矩阵F范数的上界可以有下面的这个不等式给出:(大致思想是每一行的平方和小于等于每一行和的平方)
∥A∥F≤∑i=1B(∑j=1CAi,j)⋅(∑j=1CAi,j)=∑i=1B1⋅1=B
\begin{aligned}
\|\mathrm{A}\|_{F} & \leq \sqrt{\sum_{i=1}^{B}\left(\sum_{j=1}^{C} A_{i, j}\right) \cdot\left(\sum_{j=1}^{C} A_{i, j}\right)} \\
&=\sqrt{\sum_{i=1}^{B} 1 \cdot 1}=\sqrt{B}
\end{aligned}
∥A∥F≤i=1∑B(j=1∑CAi,j)⋅(j=1∑CAi,j)=i=1∑B1⋅1=B
因为每一行的和为1,所以这个不等式的取等条件就是每一行元素中只有一个元素为1,其余元素都为0。所以在最大化矩阵的F范数过程中可以达到最小化熵损失相同的结果,让输出是一个one-hot code 的形式,更具判别性。

4.通过增加输出批次中的预测多样性,增加维持模型多样性
通过发现,如果矩阵的F范数趋近于上界,那么矩阵中极大线性无关组所含的向量个数(矩阵的秩)就可以表示预测的多样性。通过最大化矩阵的秩就可以保证模型的多样性。矩阵秩的最大值取决于min(C,B)。当B>C,最大化秩可以保证所有类都会出现,如果B<C,那一能保证出现的类别尽可能不一致。
4.核范数
但是矩阵秩的优化问题是个NP-hard问题,但是可以通过核范数来优化。



论文中也引用了上述结论,利用核范数是矩阵的秩函数的凸包络,通过最大化核函数来增大矩阵的秩。其中 D = min(B,C)
1D∥ A∥⋆≤∥A∥F≤∥A∥⋆≤D⋅∥A∥F
\frac{1}{\sqrt{D}}\|\mathrm{~A}\|_{\star} \leq\|\mathrm{A}\|_{F} \leq\|\mathrm{A}\|_{\star} \leq \sqrt{D} \cdot\|\mathrm{A}\|_{F}
D1∥ A∥⋆≤∥A∥F≤∥A∥⋆≤D⋅∥A∥F
下面这个公式可以看出核函数跟F范数的联系,当最大化核函数的过程,实际上同时也是F范数最大化。这样通过最大化核函数就同时完成了模型判别性和多样性的增强。
∥A∥⋆≤D⋅∥A∥F≤D⋅B
\|\mathrm{A}\|_{\star} \leq \sqrt{D} \cdot\|\mathrm{A}\|_{F} \leq \sqrt{D \cdot B}
∥A∥⋆≤D⋅∥A∥F≤D⋅B

论文中举了一个二分类的例子,B,C均为2。通过最小化熵损失和最大化F范数得到的结果是相同的,根据x,y的取值不同有四种可能结果。其中有两种情况是预测结果只有一类。而最大核函数尽可能让两种预测结果不同,保证多样性,从而在原来的基础上增强了对稀有类的分类能力。
4.损失函数
损失函数分为两个部分。前半部分还是对有标签的源域上的数据用交叉熵损失,后半部分使用BNM,即核范数最大化损失。核范数就是对批输出矩阵进行奇异值分解。对奇异值向量求和就是核范数。通过后半部分约束输出结果在熵最小化的同时保证多样性。
Lall=1BL∥YLlog(G(XL))∥1−λBU∥G(XU)∥⋆
\mathcal{L}_{a l l}=\frac{1}{B_{L}}\left\|Y^{L} \log \left(G\left(X^{L}\right)\right)\right\|_{1}-\frac{\lambda}{B_{U}}\left\|G\left(X^{U}\right)\right\|_{\star}
Lall=BL1∥∥YLlog(G(XL))∥∥1−BUλ∥∥G(XU)∥∥⋆
该论文探讨了在标签不足的情况下,如何通过最大化批处理的核范数来同时提升模型的判别性和多样性。传统的熵最小化方法虽能增加数据判别性,但可能降低多样性。作者提出矩阵的F范数和秩可以作为判别性和多样性的度量,并指出矩阵的核范数是秩的凸近似。通过最大化核范数,可以在保持模型判别性的同时增加预测的多样性。论文还引入了损失函数,结合交叉熵损失和核范数最大化,以优化无标签数据的输出结果,从而增强对稀有类别的识别能力。
959

被折叠的 条评论
为什么被折叠?



