GraphDPI:通过互信息最大化进行图表示学习来消除部分标签歧义

news2025/3/19 12:35:19

论文源地址

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(XZ)=KL(PXZ∣∣PXPZ)

其中, H ( X ) H(X) H(X) 是熵, H ( X ∣ Z ) H(X|Z) H(XZ) 是条件熵, 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,jPXZ(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=N1imax(0,ziz~i22ziz^i22+ξ)

其中, ∥ ⋅ ∥ 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={Si1,0,if ycSiotherwise

其中, S i S_i Si 是实例 x i x_i xi 的候选标签集。

9. 标签归一化置信度

  • 标签的归一化置信度矩阵通过以下公式计算:

F ˙ = H ⋅ F \dot{F} = H \cdot F F˙=HF

其中, 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(xy) 是两个不同的概念:

  • 实例 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(xy)
    这个概率表示在已知类别 y y y 的情况下,实例 x x x 生成的可能性。它用于衡量标签类别对实例 x x x 的影响,常用于计算条件熵 H ( X ∣ Y ) H(X | Y) H(XY)

论文中的 互信息最大化方法 旨在优化 P ( x ∣ y ) P(x | y) P(xy) 以减少不确定性,同时学习 P ( z i ∣ θ k ) P(z_i | \theta_k) P(ziθk) 以改进标签歧义消解。


1. 条件概率 P ( x ∣ y ) P(x | y) P(xy) 的具体计算公式

根据条件熵的定义:

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(XY)=yP(y)xP(xy)logP(xy)

这里, P ( x ∣ y ) P(x | y) P(xy) 是在类别 y y y 确定时,实例 x x x 的生成概率。这个概率可以通过图神经网络(GCN)和互信息估计方法计算。

在GraphDPI中, P ( x ∣ y ) P(x | y) P(xy) 通过以下方法获得:

  1. 通过GCN建模实例-标签关系

    • GraphDPI构建了一个实例邻接图,表示实例间的关系;
    • 同时构建了一个标签相似度图,表示不同标签之间的语义关系。
    • GCN通过这些图计算实例的嵌入表示 Z = f ϕ ( X , A ) Z = f_{\phi}(X, A) Z=fϕ(X,A),使得相似的实例得到相似的嵌入。
  2. 基于互信息最大化计算 P ( x ∣ y ) P(x | y) P(xy)

    • 论文使用互信息估计方法,通过最大化局部和全局互信息,优化 P ( x ∣ y ) P(x | y) P(xy) 估计。
    • 局部互信息估计公式:

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}$ 用于估计全局互信息。
  1. 最终计算 P ( x ∣ y ) P(x | y) P(xy)
    • 通过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(xiyc)=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(xy)

GraphDPI通过以下步骤联合GCN与互信息估计方法,得到 P ( x ∣ y ) P(x | y) P(xy)

(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(xy) 能够更好地捕获类别之间的差异。

(3) 计算 P ( x ∣ y ) P(x | y) P(xy)

  • 通过计算实例嵌入 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(xiyc)=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(xy)
  • KL散度损失 L KL L_{\text{KL}} LKL 使得学习到的嵌入分布更接近标准正态分布,从而改进 P ( x ∣ y ) P(x | y) P(xy) 的计算稳定性。
  • 三元组损失 L triplet_loss L_{\text{triplet\_loss}} Ltriplet_loss 进一步优化实例嵌入,使同类别实例更接近,异类别实例更远。

总结

  1. 实例 x i x_i xi 在不同标签类别上的概率分布 P ( z i ∣ θ k ) P(z_i | \theta_k) P(ziθk) 用于表示某个实例属于各个类别的可能性,通常由神经网络(如GCN)输出。
  2. 条件概率 P ( x ∣ y ) P(x | y) P(xy) 表示在已知类别 y y y 的情况下,实例 x x x 的概率。它通过 GCN 计算实例嵌入,并结合 互信息估计 来优化。
  3. GraphDPI 通过局部和全局互信息最大化,优化 P ( x ∣ y ) P(x | y) P(xy),并使用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(XY)

  • 其中 H ( X ) H(X) H(X) 是实例特征的熵,表示实例的不确定性;
  • H ( X ∣ Y ) H(X|Y) H(XY) 是给定标签 Y Y Y 下实例 X X X 的条件熵,表示已知标签后的不确定性。

互信息判别器通过最小化条件熵 H ( X ∣ Y ) H(X|Y) H(XY),即减少已知标签时实例的不确定性,从而最大化互信息 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(1Tϕ(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^) 是互信息判别器对负样本的判别输出。

这个损失函数通过最小化正样本的互信息损失,并最大化负样本的互信息损失来优化模型,从而提高实例和标签之间的相关性。

总结

  • 互信息判别器 是一个神经网络,用于估计实例特征和标签类别之间的互信息。它通过对比正负样本,学习它们之间的相关性,并帮助优化模型。
  • 工作原理:判别器通过计算实例特征和标签嵌入之间的相似度来判断它们的匹配程度。正样本匹配程度较高,负样本匹配程度较低。
  • 目标:最大化实例特征和标签类别之间的互信息,减少标签的歧义,提高弱监督学习的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2317797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目实战:基于瑞萨RA6M5构建多节点OTA升级-创建系统最小框架<三>

MCUBoot项目创建完成后,接下来我们需要搭建多节点OTA系统最小框架,再将系统分模块搭建逐层完善,直到实现最终完整系统。开始动手干吧! 目录 一、创建项目 ​二、配置FSP ​2.1 配置RS485属性 ​2.2 配置定时器0 2.3 创建初始化进程并配置属性 ​2.4 创建RS485进程并…

C/C++模版初阶

文章目录 C/C模版初阶泛型编程函数模版函数模版概念函数模版格式函数模版的原理函数模版的实例化模版参数的匹配原则 类模版类模版的定义格式类模版的实例化 结语 我们今天又见面了&#xff0c;给生活加点<font colorred>impetus&#xff01;&#xff01;开启今天的编程之…

Java集合的底层原理

目录 Collection Arraylist HashSet 介绍 哈希值 哈希表的基本概念 HashSet 的内部实现 HashMap 哈希碰撞的处理 总结 TreeSet 特点 红黑树的特性 红黑规则 TreeSet 的内部实现 1. 存储结构 2. 添加元素&#xff08;重点&#xff09; 3. 查找元素 4. 删除元…

SPI驱动(九) -- SPI_Master驱动程序

文章目录 参考资料&#xff1a;一、SPI传输概述二、SPI传输的两种方法2.1 旧方法2.2 新方法 参考资料&#xff1a; 参考资料&#xff1a; 参考内核源码: drivers\spi\spi.c 一、SPI传输概述 SPI控制器的作用是发起与它下面挂接的SPI设备之间的数据传输&#xff0c;那么控制…

Linux 进程的创建、终止、等待与程序替换函数 保姆级讲解

目录 一、 进程创建 fork函数 二、进程的终止&#xff1a; 1. 想明白&#xff1a;终止是在做什么&#xff1f; 2.进程终止的3种情况&#xff1f; a.退出码是什么&#xff1f;存在原因&#xff1f;为什么int main&#xff08;&#xff09;return 0? b.第三种进程终止的情况…

BSCAN2-1:load design

1. DFT Flow Using Tessent Shell Tessent BoundaryScan 具有一个基本的高层次流程顺序。下图展示了将 Tessent BoundaryScan 插入设计所需的高层次步骤顺序。图中的每个步骤都链接到有关可测试性设计&#xff08;DFT&#xff09;流程的更详细信息&#xff0c;包括示例。 Desi…

【css酷炫效果】纯CSS实现立体旋转立方体

【css酷炫效果】纯CSS实现立体旋转立方体 缘创作背景html结构css样式完整代码效果图 想直接拿走的老板&#xff0c;链接放在这里&#xff1a;https://download.csdn.net/download/u011561335/90492014 缘 创作随缘&#xff0c;不定时更新。 创作背景 刚看到csdn出活动了&am…

LLM中lora的梯度更新策略公式解析

LLM中lora的梯度更新策略公式解析 目录 LLM中lora的梯度更新策略公式解析区别如何使用LoRA代码中的参数更新方式二阶导数(如右侧公式关联的Fisher信息)的作用区别 定义与理论来源: 左公式 F ( w i ) = 1 n

Mac下Ollama安装全攻略:开启本地大模型之旅

文章目录 Mac下Ollama安装全攻略&#xff1a;开启本地大模型之旅一、Ollama 是什么功能特点优势应用场景 二、安装前准备&#xff08;一&#xff09;系统要求&#xff08;二&#xff09;硬件要求 三、下载安装包&#xff08;一&#xff09;官网下载&#xff08;二&#xff09;其…

线程大乱斗:从入门到精通,解锁Java并发编程的终极秘籍

目录 什么是线程&#xff1f; jave创建线程方式有几种&#xff1f; 线程中常用的方法 线程状态 多线程 解决线程安全问题 线程通信 何为并发编程&#xff1f; 并发执行和并行执行 线程的三个主要问题&#xff1a; 1、不可见性&#xff1a; 2、乱序性&#xff1a; …

Web3游戏行业报告

一&#xff0c;gamefi经济 什么是gamefi GameFi是一个缩写&#xff0c;它结合了游戏和去中心化金融(“DeFi”)这两个术语&#xff0c;关注的是游戏玩法如何在去中心化系统中实现货币化。对于游戏而言&#xff0c;只要开放了交易市场&#xff0c;允许玩家自由买卖&#xff0c;…

hibernate 自动生成数据库表和java类 字段顺序不一致 这导致添加数据库数据时 异常

hibernate 自动生成的数据库表和java类 字段顺序不一致 这导致该书写方式添加数据库数据时 异常 User user new User( null, username, email, phone, passwordEncoder.encode(password) ); return userRepository.save(user);Hibernate 默认不会保证数据库表字段的顺序与 Ja…

Cursor在内网环境配置自定义DeepSeek API

关键字 Cursor、DeepSeek、API配置、内网代理、HTTP/2 背景环境 使用Cursor集成环境开发程序。但是我使用公司的内网并不能使用cursor自带的模型&#xff0c;于是我就想使用DeepSeek官方的API服务。 环境&#xff1a;Windows 11系统 解决过程 网络检测 首先进行环境检测&am…

【初学者】解释器和脚本各是什么?有什么区别与联系?

李升伟 整理 解释器和脚本的定义 1. 解释器&#xff08;Interpreter&#xff09; 定义&#xff1a;解释器是一个程序&#xff0c;负责逐行读取并执行代码。它将源代码翻译成机器能理解的指令&#xff0c;并立即执行。特点&#xff1a; 逐行执行代码。适合交互式编程&#xf…

Kafka跨集群数据备份与同步:MirrorMaker运用

#作者&#xff1a;张桐瑞 文章目录 前言MirrorMaker是什么运行MirrorMaker各个参数的含义 前言 在大多数情况下&#xff0c;我们会部署一套Kafka集群来支撑业务需求。但在某些特定场景下&#xff0c;可能需要同时运行多个Kafka集群。比如&#xff0c;为了实现灾难恢复&#x…

设计模式(创建型)-抽象工厂模式

摘要 在软件开发的复杂世界中,设计模式作为解决常见问题的最佳实践方案,一直扮演着至关重要的角色。抽象工厂模式,作为一种强大的创建型设计模式,在处理创建一系列或相关依赖对象的场景时,展现出了独特的优势和灵活性。它通过提供一个创建对象的接口,让开发者能够在不指定…

观察者模式详解:用 Qt 信号与槽机制深入理解

引言 你是否曾遇到这样的需求&#xff1a;一个对象的状态发生变化后&#xff0c;希望通知其他对象进行相应的更新&#xff1f;比如&#xff1a; 新闻订阅系统&#xff1a;当新闻发布后&#xff0c;所有订阅者都会收到通知。股票行情推送&#xff1a;股价变化时&#xff0c;所…

OSWorld:开启多模态智能体的真实计算机环境革命

OSWorld:开启多模态智能体的真实计算机环境革命 在人工智能技术突飞猛进的今天,多模态智能体正逐步突破实验室的限制,试图融入人类的日常工作场景。然而,如何评估这些智能体在真实计算机环境中处理开放式任务的能力,成为学术界和产业界共同关注的难题。2024年,由xlang-ai…

LabVIEW烟气速度场实时监测

本项目针对燃煤电站烟气流速实时监测需求&#xff0c;探讨了静电传感器结构与速度场超分辨率重建方法&#xff0c;结合LabVIEW多板卡同步采集与实时处理技术&#xff0c;开发出一个高效的烟气速度场实时监测系统。该系统能够在高温、高尘的复杂工况下稳定运行&#xff0c;提供高…

强化学习基础篇二:马尔可夫决策过程

写在前面 本文是对李沐等“动手学强化学习”教程的个人阅读总结&#xff0c;原文链接&#xff1a;动手学强化学习。 第3章 马尔可夫决策过程 3.1 重要性 马尔可夫决策过程是强化学习中的基础概念&#xff0c;强化学习中的环境就是一个马尔可夫决策过程&#xff0c;与多臂老虎…