美文网首页
论文粗读“Dual Mutual Information Con

论文粗读“Dual Mutual Information Con

作者: 掉了西红柿皮_Kee | 来源:发表于2023-10-27 23:39 被阅读0次

Li, Hongyu et al. “Dual Mutual Information Constraints for Discriminative Clustering.” AAAI Conference on Artificial Intelligence (2023).

摘要导读

深度聚类是机器学习和数据挖掘中的一项基本任务,旨在学习面向聚类的特征表示。在以往的研究中,大多数的深度聚类方法都遵循自监督表示学习的思想通过最大化相似实例对的一致性,而忽略特征冗余对聚类性能的影响。因此,作者设计了一种基于深度对比聚类结构的双互信息约束聚类方法DMICC,其中双互信息约束给出了坚实的理论保证和实验验证。具体来说,在特征层面上,通过最小化所有维度上的互信息来减少特征之间的冗余,以鼓励神经网络提取更多可辨别的特征。在样本层面,最大化相似实例对的互信息,以获得更无偏和鲁棒的表示。双互信息约束同时作用,相互补充,共同优化适合聚类任务的更好的特征。

具体的概念图如下所示: 粗浅一点解释的话,就是将特征选择和表示学习利用互信息做成了相互促进补充的关系,从而学习适合下游任务的特征表示。
方法浅析

首先通过两个数据增强来构造数据对。然后,使用参数共享网络从不同的数据扩充中提取特征。并且对从两个分支中提取的特征进行IMI约束,然后采用非参数SoftMax,对每个分支进行FMI约束,用于学习可辨别的样本特征。

  • Feature Redundancy-Minimization Module
    该模块的关注重点是特征冗余,在特征层面实现了互信息最小化约束。该模块的目标是通过这种方式有效地减少特征维度之间的冗余性,获得更多的鉴别特征,以提升深度聚类的效率。在信息论中,熵是不确定性的度量,这里将它记为H。以下是涉及到的一些互信息计算的公式:(信息熵是考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望)
    变量X的熵:H(X)= -\sum_{x \in X} p(x)\log p(x)p(x)x发生的概率。
    条件熵:

    论文中用到的互信息公式:I(X;Y) = \sum_{x \in X} \sum_{y \in Y} p(x, y)\log \frac{p(x, y)}{p(x)p(y)}
    假设由前面的特征抽取器提取的特征矩阵为F^1 \in \mathbb{R}^{b \times d}F^2 \in \mathbb{R}^{b \times d},并使用f^1_lf^2_l分别表示F^1F^2的第l列。忽略下标,给定特征矩阵F,可以表示为d个列向量,即F=[f_1, f_2, \cdots, f_d]。因此,要实现特征层面的互信息的最小化,其目标函数可以写作:\min \frac{1}{d^2}\sum_{i}^d\sum_j^dI(f_i, f_j)
    --
    作者思路:因为要计算特征层面信息的最小化,根据互信息公式,我们需要知道特征维度的联合概率分布p(f_i, f_j),以及边缘分布概率p(f_i)p(f_j)。作者认为维度之间相关性的度(degree)和联合概率分布有很强的联系,即,当维度的相关性显著时,联合概率分布的值较高。因此,作者假设联合概率分布p(f_i, f_j)可以在一定程度上被维度之间的相关值所代替。具体来说,可以首先构造协方差矩阵cov(f_i,f_j)并对其进行归一化,最后的结果作为联合概率分布p(f_i, f_j)
    --
    具体的操作为:对F进行归一化,利用内积得到相关性矩阵C =(F^T F)\in \mathbb{R}^{d \times d}
    根据前面的假设,
    联合分布p(f_i, f_j)可以由以下形式计算:p(f_i, f_j)=\frac{C(f_i, f_j)}{sum(C)}。其中,C(f_i, f_j)表示f_if_j的相关性得分,sum(C)表示矩阵C的和。
    边缘分布p(f_i) = \sum_{j=1}^d p(f_i, f_j)p(f_j) = \sum_{i=1}^d p(f_i, f_j)
    由此,该模块的FMI约束损失\mathcal{L}_{FMI}可以表示为如下的形式: 其中,\eta是一个平衡超参数,用来缩放边际概率分布。
    --
    方法有效性的证明这里不再赘述,可以移步原文
  • Instance Similarity-Maximization Module
    Instance discrimination Backbone 实例识别的关键是:假设每个实例都代表一个不同的类。假设有n个图像x_1,\cdots,x_n及其对应的特征v_1, \cdots, v_n。作者这里使用v_i作为权重向量的代替。
    因此该模块的重点在于学习一个嵌入映射函数f_{\theta},其中v=f_{\theta}(x)。这里v通过一层L_2正则化层强制||v||=1
    根据任务设定,每个样本instance都是一个类别,那么依据给定样本x的表示v分到第i个类别的概率可以表示为如下的形式p(i|v)=\frac{\exp(v_i^Tv/\tau)}{\sum_{j=1}^n\exp(v_j^Tv/\tau)},这里是图中的非参的softmax操作。\tau是一个温度超参。(虽然但是,这里的v_iv对应的shape写的不是很清楚。按照向量乘法的规则来说,v_iv应该都是列向量,即其shape应该为d \times 1。样本标记i对应的是第i个类别,因为这里将每个样本分为单独的一类,v是给定样本x对应的表示)
    而对于Instance discrimination Backbone ,其优化目标为最大化联合概率分布\prod_{i=1}^np(i|f_{\theta}(x_i))=\prod_{i=1}^np(i|v_i)即将每个样本无误地分配到自己特定的类别中。在神经网络中其负对数优化函数如下:


    --
    附图为带参数的softmax: 以及pyTorch官方的softmax函数定义:

--
IMI Constraint 作者试图引入对比学习来最大限度地提高对由同一组图像生成的增强实例对的MI约束,从而产生更无偏和鲁棒的特征。
假设原始的图像输入为X,经过数据增强得到的图像分别为X^1X^2,其对应的矩阵为F^1=[v^1_1;\cdots;v^1_b]F^2=[v^2_1;\cdots;v^2_b]。其中v_i^1=f_{\theta}(x_i^1),v_i^2=f_{\theta}(x_i^2)。目标是最大化相应表示的MI:

假设在基于参数共享模型的两个分支上的特征表示的大小都是[b, d]
其联合分布可以表示为:P=\frac{1}{b}\sum_{i=1}^bF^1(F^2)^T
边缘分布P(v_i^1)=\sum_{j=1}^dP(v^1_i, v^2_j), P(v_j^2)=\sum_{i=1}^dP(v^1_i, v^2_j)
(这里可以想成是i来自第一个b,而j是第二个b的索引)。
考虑到矩阵的对称性,P(P+P^T)/2进行对称化。所以有如下的IMI形式:I(F^1, F^2)=\sum_{i=1}^d\sum_{j=1}^dP(v_i^1, v_j^2)\log\frac{P(v_i^1, v_j^2)}{P(v_i^1)P( v_j^2)}
其对应的损失函数形式为:\mathcal{L}_{IMI}=-\sum_{i=1}^d\sum_{j=1}^dP(v_i^1, v_j^2)\log\frac{P(v_i^1, v_j^2)}{\gamma^2 P(v_i^1)P( v_j^2)}
其中\gamma是一个非零常数。在实验中,原始的MI解可能会得到平凡的解。因此,考虑通过放宽边缘分布来进一步增加熵的共享性来避免平凡解。
  • 总体损失
    不失一般性,模型整体的目标函数为: 其中三个损失分别为实例判别损失、实例相似度最大化损失和特征冗余最小化损失。
    --
    目标函数的有界性证明请移步原文,这里不进行赘述
  • 聚类
    从模型设计的角度看,应该是使用设计的网络和损失函数进行了表示的学习F^1F^2并直接使用k-means进行聚类。

从论文的整体来看,主要是将特征选择和表示学习利用互信息结合在一起。在笔者看来,无论是否引入实例识别部分(Instance discrimination Backbone )好像对两种互信息的约束都没有影响,因此,对于模型中为什么一定要存在这一部分交代的不是很明白。可能需要去再阅读下作者引用的idea的原文。。

相关文章

网友评论

      本文标题:论文粗读“Dual Mutual Information Con

      本文链接:https://www.haomeiwen.com/subject/rqfpidtx.html