1. 内容概要
- 本文提出了一种新的弱监督学习方法GraphDPI,解决部分标签学习(Partial Label Learning,PLL)中的标签歧义问题。GraphDPI结合了图表示学习和互信息最大化,通过图卷积网络(GCN)提取数据集的潜在语义关系。
- GraphDPI通过最大化局部和全局图表示之间的互信息,来学习每个实例的区分性嵌入表示,减少标签之间的共现影响,从而提高标签的分辨能力。
- 本文还引入了三元组损失(triplet loss)来进一步改进模型,确保相同标签的实例距离更近,而不同标签的实例距离更远。
- 通过大量实验,GraphDPI在多个数据集上显示了优越的性能。
2. 核心观点
- 互信息最大化:GraphDPI采用互信息最大化来学习图表示,使得局部和全局嵌入特征都能包含更多区分信息。这种方法能够有效减少标签歧义,特别是在处理有共现标签的情况时。
- 三元组损失:通过三元组损失,模型能够确保相同标签的实例之间的距离尽可能小,而不同标签的实例之间的距离尽可能大,从而改进标签歧义的解决。
- 图表示学习:通过构建实例邻接图并学习图卷积表示,GraphDPI能更好地捕捉实例之间的语义关系,使得相似实例的嵌入特征聚集在一起,帮助标签歧义的解决。
3. 主要结论
- GraphDPI性能优越:通过与其他现有PLL方法的比较,GraphDPI在多个数据集上的表现显著优于传统方法,尤其是在处理标签共现问题时。
- 局部与全局信息的重要性:GraphDPI的局部和全局互信息最大化方法,有效捕捉了标签之间的潜在区别,提升了标签的歧义消解能力。
- 实验验证:在Synthetic UCI数据集和真实数据集上的实验结果表明,GraphDPI不仅在标签歧义消解方面表现出色,而且具有较强的鲁棒性,能够适应不同的标签分布。
总结来说,GraphDPI为部分标签学习提供了一种新的解决方案,通过图表示学习和互信息最大化,显著提高了标签歧义消解的效果。
在论文《GraphDPI: Partial label disambiguation by graph representation learning via mutual information maximization》中,以下是所有相关的数学公式和定理的总结:
1. 互信息公式
- 互信息 I ( X ; Z ) I(X;Z) I(X;Z) 定义为:
I ( X ; Z ) = H ( X ) − H ( X ∣ Z ) = KL ( P X Z ∣ ∣ P X P Z ) I(X; Z) = H(X) - H(X|Z) = \text{KL}(P_{XZ} || P_X P_Z) I(X;Z)=H(X)−H(X∣Z)=KL(PXZ∣∣PXPZ)
其中, H ( X ) H(X) H(X) 是熵, H ( X ∣ Z ) H(X|Z) H(X∣Z) 是条件熵, KL \text{KL} KL 是Kullback-Leibler散度。
2. KL散度公式
- Kullback-Leibler散度的定义为:
KL ( P X Z ∣ ∣ P X P Z ) = ∑ i , j P X Z ( i , j ) log ( P X Z ( i , j ) P X ( i ) P Z ( j ) ) \text{KL}(P_{XZ} || P_X P_Z) = \sum_{i,j} P_{XZ}(i,j) \log \left(\frac{P_{XZ}(i,j)}{P_X(i) P_Z(j)}\right) KL(PXZ∣∣PXPZ)=i,j∑PXZ(i,j)log(PX(i)PZ(j)PXZ(i,j))
3. Jensen-Shannon互信息估计
- 互信息的最大化使用Jensen-Shannon估计,公式如下:
I ϕ , ϕ ( X ; f ϕ ( X , A ) ) = E P [ − sp ( − T ϕ , ϕ ( X ; f ϕ ( X , A ) ) ) ] − E P × P ^ [ sp ( T ϕ , ϕ ( X ^ ; f ϕ ( X , A ) ) ) ] I_{\phi, \phi}(X; f_{\phi}(X,A)) = \mathbb{E}_P \left[ -\text{sp}\left(-T_{\phi,\phi}(X; f_{\phi}(X,A))\right) \right] - \mathbb{E}_{P \times \hat{P}} \left[ \text{sp}\left(T_{\phi,\phi}(\hat{X}; f_{\phi}(X,A))\right) \right] Iϕ,ϕ(X;fϕ(X,A))=EP[−sp(−Tϕ,ϕ(X;fϕ(X,A)))]−EP×P^[sp(Tϕ,ϕ(X^;fϕ(X,A)))]
其中, T ϕ , ϕ T_{\phi,\phi} Tϕ,ϕ 是一个判别器函数, X ^ \hat{X} X^ 是负样本, sp \text{sp} sp 是softplus函数。
4. 局部互信息最大化
- 局部互信息最大化的公式为:
I ϕ , ϕ 1 l o c a l ( h ; f ϕ ( X , A ) ) = E P [ − sp ( − T ϕ , ϕ 1 ( h ; Z ) ) ] − E P × P ^ [ sp ( T ϕ , ϕ 1 ( h ^ ; Z ) ) ] I_{\phi, \phi_1}^{local}(h; f_{\phi}(X, A)) = \mathbb{E}_P \left[ -\text{sp}\left(-T_{\phi, \phi_1}(h; Z)\right) \right] - \mathbb{E}_{P \times \hat{P}} \left[ \text{sp}\left(T_{\phi, \phi_1}(\hat{h}; Z)\right) \right] Iϕ,ϕ1local(h;fϕ(X,A))=EP[−sp(−Tϕ,ϕ1(h;Z))]−EP×P^[sp(Tϕ,ϕ1(h^;Z))]
其中, h = Z 1 = f ϕ ( X , A ) h = Z_1 = f_{\phi}(X, A) h=Z1=fϕ(X,A) 是局部嵌入特征, h ^ = f ϕ ( X ^ , A ) \hat{h} = f_{\phi}(\hat{X}, A) h^=fϕ(X^,A) 是负样本的局部嵌入特征。
5. 全局互信息最大化
- 全局互信息最大化的公式为:
I ϕ , ϕ 2 g l o b a l ( n ; f ϕ ( X , A ) ) = E P [ − sp ( − T ϕ , ϕ 2 ( n ; Z ) ) ] − E P × P ^ [ sp ( T ϕ , ϕ 2 ( n ^ ; Z ) ) ] I_{\phi, \phi_2}^{global}(n; f_{\phi}(X, A)) = \mathbb{E}_P \left[ -\text{sp}\left(-T_{\phi, \phi_2}(n; Z)\right) \right] - \mathbb{E}_{P \times \hat{P}} \left[ \text{sp}\left(T_{\phi, \phi_2}(\hat{n}; Z)\right) \right] Iϕ,ϕ2global(n;fϕ(X,A))=EP[−sp(−Tϕ,ϕ2(n;Z))]−EP×P^[sp(Tϕ,ϕ2(n^;Z))]
其中, n = f ϕ ( X ~ , A ~ ) n = f_{\phi}(\tilde{X}, \tilde{A}) n=fϕ(X~,A~) 是全局嵌入特征, n ^ \hat{n} n^ 是负样本的全局嵌入特征。
6. 三元组损失
- 三元组损失的公式为:
triplet_loss = 1 N ∑ i max ( 0 , ∥ z i − z ~ i ∥ 2 2 − ∥ z i − z ^ i ∥ 2 2 + ξ ) \text{triplet\_loss} = \frac{1}{N} \sum_{i} \max \left( 0, \| z_i - \tilde{z}_i \|_2^2 - \| z_i - \hat{z}_i \|_2^2 + \xi \right) triplet_loss=N1i∑max(0,∥zi−z~i∥22−∥zi−z^i∥22+ξ)
其中, ∥ ⋅ ∥ 2 2 \| \cdot \|_2^2 ∥⋅∥22 是L2范数, ξ \xi ξ 是一个边界值,用来保证正负样本间的间隔。
7. 最终目标函数
- GraphDPI的最终目标损失函数为:
L = − L MI + γ L KL ( Z ∣ ∣ Q ) + κ L triplet_loss L = -L_{\text{MI}} + \gamma L_{\text{KL}}(Z || Q) + \kappa L_{\text{triplet\_loss}} L=−LMI+γLKL(Z∣∣Q)+κLtriplet_loss
其中, γ \gamma γ 和 κ \kappa κ 是超参数, L MI L_{\text{MI}} LMI 是互信息损失, L KL L_{\text{KL}} LKL 是KL散度损失, L triplet_loss L_{\text{triplet\_loss}} Ltriplet_loss 是三元组损失。
8. 标签置信度计算
- 每个实例的标签置信度矩阵的计算为:
fic = { 1 ∣ S i ∣ , if y c ∈ S i 0 , otherwise \text{fic} = \begin{cases} \frac{1}{|S_i|}, & \text{if } y_c \in S_i \\ 0, & \text{otherwise} \end{cases} fic={∣Si∣1,0,if yc∈Siotherwise
其中, S i S_i Si 是实例 x i x_i xi 的候选标签集。
9. 标签归一化置信度
- 标签的归一化置信度矩阵通过以下公式计算:
F ˙ = H ⋅ F \dot{F} = H \cdot F F˙=H⋅F
其中, H H H 是通过实例相似度和标签相似度计算得到的亲和矩阵。
10. 最终标签分配
- 最终标签通过以下公式计算:
y ^ i c = arg max c ∈ [ 1 , Q ] y ^ i c \hat{y}_i^c = \arg \max_{c \in [1, Q]} \hat{y}_{ic} y^ic=argc∈[1,Q]maxy^ic
其中, y ^ i c \hat{y}_i^c y^ic 是实例 x i x_i xi 的最终预测标签。
这些公式涵盖了GraphDPI方法中的互信息最大化、三元组损失、标签置信度计算等关键技术。
在GraphDPI论文中,实例 x i x_i xi 在不同标签类别上的概率分布 和 条件概率 P ( x ∣ y ) P(x | y) P(x∣y) 是两个不同的概念:
实例 x i x_i xi 在不同标签类别上的概率分布 P ( z i ∣ θ k ) P(z_i | \theta_k) P(zi∣θk):
这个概率表示实例 x i x_i xi 生成某个类别标签 θ k \theta_k θk 的可能性。它反映了实例的特征 z i z_i zi 在不同类别上的归属程度,通常由神经网络(如GCN)学习得到。条件概率 P ( x ∣ y ) P(x | y) P(x∣y):
这个概率表示在已知类别 y y y 的情况下,实例 x x x 生成的可能性。它用于衡量标签类别对实例 x x x 的影响,常用于计算条件熵 H ( X ∣ Y ) H(X | Y) H(X∣Y)。
论文中的 互信息最大化方法 旨在优化 P ( x ∣ y ) P(x | y) P(x∣y) 以减少不确定性,同时学习 P ( z i ∣ θ k ) P(z_i | \theta_k) P(zi∣θk) 以改进标签歧义消解。
1. 条件概率 P ( x ∣ y ) P(x | y) P(x∣y) 的具体计算公式
根据条件熵的定义:
H ( X ∣ Y ) = − ∑ y P ( y ) ∑ x P ( x ∣ y ) log P ( x ∣ y ) H(X | Y) = - \sum_{y} P(y) \sum_{x} P(x | y) \log P(x | y) H(X∣Y)=−y∑P(y)x∑P(x∣y)logP(x∣y)
这里, P ( x ∣ y ) P(x | y) P(x∣y) 是在类别 y y y 确定时,实例 x x x 的生成概率。这个概率可以通过图神经网络(GCN)和互信息估计方法计算。
在GraphDPI中, P ( x ∣ y ) P(x | y) P(x∣y) 通过以下方法获得:
通过GCN建模实例-标签关系:
- GraphDPI构建了一个实例邻接图,表示实例间的关系;
- 同时构建了一个标签相似度图,表示不同标签之间的语义关系。
- GCN通过这些图计算实例的嵌入表示 Z = f ϕ ( X , A ) Z = f_{\phi}(X, A) Z=fϕ(X,A),使得相似的实例得到相似的嵌入。
基于互信息最大化计算 P ( x ∣ y ) P(x | y) P(x∣y):
- 论文使用互信息估计方法,通过最大化局部和全局互信息,优化 P ( x ∣ y ) P(x | y) P(x∣y) 估计。
- 局部互信息估计公式:
I ϕ , ϕ 1 l o c a l ( h ; f ϕ ( X , A ) ) = E P [ − sp ( − T ϕ , ϕ 1 ( h ; Z ) ) ] − E P × P ^ [ sp ( T ϕ , ϕ 1 ( h ^ ; Z ) ) ] I_{\phi, \phi_1}^{local}(h; f_{\phi}(X, A)) = \mathbb{E}_P \left[ -\text{sp}\left(-T_{\phi, \phi_1}(h; Z)\right) \right] - \mathbb{E}_{P \times \hat{P}} \left[ \text{sp}\left(T_{\phi, \phi_1}(\hat{h}; Z)\right) \right] Iϕ,ϕ1local(h;fϕ(X,A))=EP[−sp(−Tϕ,ϕ1(h;Z))]−EP×P^[sp(Tϕ,ϕ1(h^;Z))]
其中:
- $h$ 是局部嵌入特征,
- $\hat{h}$ 是负样本,
- $T_{\phi, \phi_1}$ 是互信息判别器,用于估计 $P(x | y)$。
- 全局互信息估计公式:
I ϕ , ϕ 2 g l o b a l ( n ; f ϕ ( X , A ) ) = E P [ − sp ( − T ϕ , ϕ 2 ( n ; Z ) ) ] − E P × P ^ [ sp ( T ϕ , ϕ 2 ( n ^ ; Z ) ) ] I_{\phi, \phi_2}^{global}(n; f_{\phi}(X, A)) = \mathbb{E}_P \left[ -\text{sp}\left(-T_{\phi, \phi_2}(n; Z)\right) \right] - \mathbb{E}_{P \times \hat{P}} \left[ \text{sp}\left(T_{\phi, \phi_2}(\hat{n}; Z)\right) \right] Iϕ,ϕ2global(n;fϕ(X,A))=EP[−sp(−Tϕ,ϕ2(n;Z))]−EP×P^[sp(Tϕ,ϕ2(n^;Z))]
其中:
- $n = f_{\phi}(\tilde{X}, \tilde{A})$ 是全局嵌入特征,
- $\hat{n}$ 是负样本,
- $T_{\phi, \phi_2}$ 用于估计全局互信息。
- 最终计算 P ( x ∣ y ) P(x | y) P(x∣y):
- 通过GCN提取的特征 Z Z Z 可以用于计算每个实例 x i x_i xi 在不同标签 y c y_c yc 下的概率:
P ( x i ∣ y c ) = exp ( ⟨ z i , L c ⟩ ) ∑ l = 1 Q exp ( ⟨ z i , L l ⟩ ) P(x_i | y_c) = \frac{\exp \left( \langle z_i, L_c \rangle \right)}{\sum_{l=1}^{Q} \exp \left( \langle z_i, L_l \rangle \right)} P(xi∣yc)=∑l=1Qexp(⟨zi,Ll⟩)exp(⟨zi,Lc⟩)
其中:
- $L_c$ 是类别 $y_c$ 的中心嵌入向量(从GCN中学习得来),
- $\langle z_i, L_c \rangle$ 表示实例 $x_i$ 的嵌入与类别嵌入 $L_c$ 之间的相似度。
2. 通过GCN与互信息估计方法联合得到 P ( x ∣ y ) P(x | y) P(x∣y)
GraphDPI通过以下步骤联合GCN与互信息估计方法,得到 P ( x ∣ y ) P(x | y) P(x∣y):
(1) 构建实例-标签图
- 使用 GCN 计算实例嵌入 Z = f ϕ ( X , A ) Z = f_{\phi}(X, A) Z=fϕ(X,A),使得相似的实例得到相似的嵌入。
- 计算 标签嵌入中心 L c L_c Lc,代表每个类别的特征中心。
(2) 互信息估计
- 局部互信息最大化:优化每个实例在其局部邻域中的信息表达能力,使得实例特征能够保持其局部信息。
- 全局互信息最大化:确保相同类别的实例在全局上具有相似的嵌入特征,使得 P ( x ∣ y ) P(x | y) P(x∣y) 能够更好地捕获类别之间的差异。
(3) 计算 P ( x ∣ y ) P(x | y) P(x∣y)
- 通过计算实例嵌入 z i z_i zi 和类别嵌入 L c L_c Lc 之间的相似性,得到:
P ( x i ∣ y c ) = exp ( ⟨ z i , L c ⟩ ) ∑ l = 1 Q exp ( ⟨ z i , L l ⟩ ) P(x_i | y_c) = \frac{\exp \left( \langle z_i, L_c \rangle \right)}{\sum_{l=1}^{Q} \exp \left( \langle z_i, L_l \rangle \right)} P(xi∣yc)=∑l=1Qexp(⟨zi,Ll⟩)exp(⟨zi,Lc⟩)
(4) 最终优化
- GraphDPI的损失函数优化目标:
L = − L MI + γ L KL ( Z ∣ ∣ Q ) + κ L triplet_loss L = -L_{\text{MI}} + \gamma L_{\text{KL}}(Z || Q) + \kappa L_{\text{triplet\_loss}} L=−LMI+γLKL(Z∣∣Q)+κLtriplet_loss
- 互信息损失 L MI L_{\text{MI}} LMI 通过最大化局部和全局互信息来优化 P ( x ∣ y ) P(x | y) P(x∣y)。
- KL散度损失 L KL L_{\text{KL}} LKL 使得学习到的嵌入分布更接近标准正态分布,从而改进 P ( x ∣ y ) P(x | y) P(x∣y) 的计算稳定性。
- 三元组损失 L triplet_loss L_{\text{triplet\_loss}} Ltriplet_loss 进一步优化实例嵌入,使同类别实例更接近,异类别实例更远。
总结
- 实例 x i x_i xi 在不同标签类别上的概率分布 P ( z i ∣ θ k ) P(z_i | \theta_k) P(zi∣θk) 用于表示某个实例属于各个类别的可能性,通常由神经网络(如GCN)输出。
- 条件概率 P ( x ∣ y ) P(x | y) P(x∣y) 表示在已知类别 y y y 的情况下,实例 x x x 的概率。它通过 GCN 计算实例嵌入,并结合 互信息估计 来优化。
- GraphDPI 通过局部和全局互信息最大化,优化 P ( x ∣ y ) P(x | y) P(x∣y),并使用KL散度和三元组损失进一步增强模型的判别能力,使标签歧义消解更准确。
这样,GraphDPI有效利用图表示学习和互信息估计,使得弱监督学习能够更好地应对部分标签数据的不确定性问题。
3.互信息判别器是什么?
在GraphDPI中,互信息判别器(Mutual Information Discriminator)是用于估计和优化互信息的组件。它的主要作用是通过判断两个变量(例如,实例特征和标签类别嵌入)之间的关系,来计算它们的互信息。互信息判别器基于神经网络(如图卷积网络)来执行这一任务。
1. 互信息判别器的定义
互信息判别器通常通过对比正样本和负样本,来判断实例特征和标签类别之间的相关性,最终估计出它们之间的互信息。通过训练,互信息判别器能够帮助最大化正样本的互信息,同时最小化负样本的互信息。
2. 互信息判别器的工作原理
互信息判别器的基本思想是判断实例特征和标签类别之间的匹配程度。它会接收来自模型(如GCN)生成的特征表示,然后进行以下两方面的工作:
正样本(Positive Samples):这些是来自同一标签类别的实例和标签对。互信息判别器应该对正样本给出较高的概率,因为它们的特征和标签是相关的。
负样本(Negative Samples):这些是来自不同标签类别的实例和标签对。互信息判别器应该对负样本给出较低的概率,因为它们的特征和标签没有直接关系。
3. 互信息判别器的计算方式
互信息判别器通常由一个神经网络实现,该网络的输入是实例特征和标签嵌入,输出是一个标量,表示两者之间的相关性。其基本结构可以通过以下公式表示:
T ϕ ( x , y ) = σ ( f ϕ ( x , y ) ) T_{\phi}(x, y) = \sigma(f_{\phi}(x, y)) Tϕ(x,y)=σ(fϕ(x,y))
- x x x 是实例的特征表示, y y y 是标签类别的嵌入。
- f ϕ ( x , y ) f_{\phi}(x, y) fϕ(x,y) 是一个神经网络(例如,GCN)用来计算实例特征和标签嵌入之间的相似度。
- σ \sigma σ 是一个激活函数,通常为sigmoid,用于将输出映射到概率空间,输出值范围在[0, 1]之间,表示实例与标签的匹配程度。
通过这个判别器,我们可以计算互信息估计器的输出,从而优化模型在实例和标签之间的关联性。
4. 互信息最大化
在GraphDPI的框架中,互信息判别器的目标是最大化实例特征和标签之间的互信息。这通常通过以下目标函数实现:
I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) I(X; Y) = H(X) - H(X|Y) I(X;Y)=H(X)−H(X∣Y)
- 其中 H ( X ) H(X) H(X) 是实例特征的熵,表示实例的不确定性;
- H ( X ∣ Y ) H(X|Y) H(X∣Y) 是给定标签 Y Y Y 下实例 X X X 的条件熵,表示已知标签后的不确定性。
互信息判别器通过最小化条件熵 H ( X ∣ Y ) H(X|Y) H(X∣Y),即减少已知标签时实例的不确定性,从而最大化互信息 I ( X ; Y ) I(X; Y) I(X;Y),即提高实例和标签之间的相关性。
5. 互信息判别器的优化
在GraphDPI中,互信息判别器与图卷积网络(GCN)一起训练。通过反向传播,模型会根据判别器的输出调整网络的参数,以最大化正样本的互信息,并最小化负样本的互信息。具体来说,损失函数可以通过以下形式计算:
L MI = − E P [ log T ϕ ( x , y ) ] − E P × P ^ [ log ( 1 − T ϕ ( x , y ^ ) ) ] L_{\text{MI}} = - \mathbb{E}_{P} \left[ \log T_{\phi}(x, y) \right] - \mathbb{E}_{P \times \hat{P}} \left[ \log (1 - T_{\phi}(x, \hat{y})) \right] LMI=−EP[logTϕ(x,y)]−EP×P^[log(1−Tϕ(x,y^))]
- P P P 是正样本分布, P ^ \hat{P} P^ 是负样本分布。
- T ϕ ( x , y ) T_{\phi}(x, y) Tϕ(x,y) 是互信息判别器对正样本的判别输出。
- T ϕ ( x , y ^ ) T_{\phi}(x, \hat{y}) Tϕ(x,y^) 是互信息判别器对负样本的判别输出。
这个损失函数通过最小化正样本的互信息损失,并最大化负样本的互信息损失来优化模型,从而提高实例和标签之间的相关性。
总结
- 互信息判别器 是一个神经网络,用于估计实例特征和标签类别之间的互信息。它通过对比正负样本,学习它们之间的相关性,并帮助优化模型。
- 工作原理:判别器通过计算实例特征和标签嵌入之间的相似度来判断它们的匹配程度。正样本匹配程度较高,负样本匹配程度较低。
- 目标:最大化实例特征和标签类别之间的互信息,减少标签的歧义,提高弱监督学习的效果。