专题解读|Graph Fairness代表性工作介绍

1. 图上的公平性问题

图在现实世界中无处不在,例如知识图谱,社交网络和生物网络。近年来,图神经网络( graph neural networks,GNNs ) 在图结构数据建模方面表现出了强大的能力。一般地,GNNs采用消息传递机制,通过迭代地聚合邻居节点的表示来更新节点的表示。得到的表示同时保留了节点属性和局部图结构信息,便于各种下游任务,如节点分类和链接预测。尽管GNNs表现优异,但最近的研究表明,GNNs倾向于从训练数据中继承偏见,这可能导致对敏感属性的偏见预测,例如年龄、性别和种族。此外,GNNs的消息传递机制和图结构会放大偏见。例如,在社交网络中,同一种族的节点更有可能相互连接。GNNs的消息传递会使链接节点的表示相似,导致节点表示与种族高度相关,从而产生有偏预测。有偏预测引起了伦理和社会角度的关注,这严重限制了GNNs在高风险决策系统中的应用,如求职者排名和犯罪预测。因此,近年来许多工作致力于解决图上的公平性问题。

2. 相关工作介绍

2.1 Say No to the Discrimination: Learning Fair Graph Neural Networks with Limited Sensitive Attribute Information

论文来源:2021年 ACM International Conference on Web Search and Data Mining(CCF-B)

论文代码:https://github.com/EnyanDai/FairGNN

Motivation

  1. 现有公平性的研究主要针对的是独立同分布的数据,由于没有同时考虑节点属性和图结构的偏差,因此无法直接应用于图数据。
  2. 现有工作很少考虑敏感属性中稀疏标注的实际场景。

研究在敏感属性信息有限的情况下学习公平GNNs的问题

Contribution

  1. 研究了有限敏感信息下学习公平GNNs的一个新问题;
  2. 提出FairGNN,通过预测用户的敏感属性来解决对抗性去偏和公平性约束中敏感属性的不足问题;
  3. 理论分析表明,即使估计敏感属性,公平性也能达到最优值;
  4. 在不同数据集上的大量实验证明了FairGNN在保持GNN高准确性的同时消除了歧视的有效性。

Method

FairGNN整体框架图

image-20230503144633766

整体框架由四部分组成:一个GNN分类器 f G f_{\mathcal G} fG,一个基于GCN的敏感属性估计器 f E f_{E} fE 以及一个对手 f A f_A fA 。对手 f A f_A fA 旨在从 f G f_{\mathcal G} fG学习到的节点表示中预测已知或估计的敏感属性。 f G f_{\mathcal G} fG 旨在学习可以欺骗对手 f A f_A fA 做出错误预测的公平节点表示。 f E f_{E} fE 旨在为敏感属性未知的节点预测其敏感属性。

  1. GNN分类器 f G f_{\mathcal G} fG:利用 G \mathcal G G作为输入进行节点分类
    min ⁡ θ G L C = − 1 ∣ V L ∣ ∑ v ∈ V L [ y v log ⁡ y ^ v + ( 1 − y v ) log ⁡ ( 1 − y ^ v ) ] \min\limits_{\theta_\mathcal{G}}\mathcal{L}_C=-\dfrac{1}{|\mathcal{V}_L|}\sum_{v\in\mathcal{V}_L}[y_v\log\hat{y}_v+(1-y_v)\log{(1-\hat{y}_v)}] θGminLC=VL1vVL[yvlogy^v+(1yv)log(1y^v)]

  2. 基于GCN的敏感属性评估器 f E f_{E} fE:为敏感属性未知的节点预测其敏感属性
    min ⁡ θ E L E = − 1 ∣ V S ∣ ∑ v ∈ V S [ s v log ⁡ s ^ v + ( 1 − s v ) log ⁡ ( 1 − s ^ v ) ] \min\limits_{\theta_E}\mathcal{L}_E=-\dfrac{1}{|\mathcal{V}_S|}\sum_{v\in\mathcal{V}_S}[s_v\log\hat{s}_v+(1-s_v)\log{(1-\hat{s}_v)}] θEminLE=VS1vVS[svlogs^v+(1sv)log(1s^v)]

  3. 对手 f A f_A fA旨在通过从节点表示 f G f_{\mathcal G} fG 中预测已知或估计的敏感属性 f E f_E fE。给定节点 v v v的表示 h v h_v hv 作为 f A ( h v ) f_A(h_v) fA(hv),对手 f A f_A fA 试图预测其敏感属性 s ^ v \widehat{s}_{v} s v ;而 f G f_{\mathcal G} fG 旨在学习节点表示 h v h_v hv,使对手 f A f_A fA 无法区分节点 v v v 属于哪个敏属性感组。
    min ⁡ θ G max ⁡ θ A L A = E h ∼ p ( h ∣ s ^ = 1 ) [ log ⁡ ( f A ( h ) ) ] + E h ∼ p ( h ∣ s ^ = 0 ) [ log ⁡ ( 1 − f A ( h ) ) ] \min\limits_{\theta_\mathcal{G}}\max\limits_{\theta_A}\mathcal{L}_A=\mathbb{E}_{\mathrm{h}\sim p(\mathrm{h}|\hat{\mathrm{s}}=1)}[\log(f_A(\mathrm{h}))]\text{+}\mathbb{E}_{\mathrm{h}\sim p(\mathrm{h}|\hat{\mathrm{s}}=0)}[\log(1-f_A(\mathrm{h}))] θGminθAmaxLA=Ehp(hs^=1)[log(fA(h))]+Ehp(hs^=0)[log(1fA(h))]

  4. 协方差约束:进一步提升对抗去偏过程的稳定性。最小化用户敏感属性之间的绝对协方差和用户特征到公平线性分类器决策边界的符号距离。
    L R = ∣ Cov ⁡ ( s ^ , y ^ ) ∣ = ∣ E [ ( s ^ − E ( s ^ ) ) ( y ^ − E ( y ^ ) ) ] ∣ \mathcal L_R=|\operatorname{Cov}(\hat s,\hat y)|=|\mathbb E[(\hat s-\mathbb E(\hat s))(\hat y-\mathbb E(\hat y))]| LR=Cov(s^,y^)=E[(s^E(s^))(y^E(y^))]

2.2 Towards a Unified Framework for Fair and Stable Graph Representation Learning

论文来源:2021年 International Conference on Uncertainty in Artificial Intelligence(CCF-B)

论文代码:https://github.com/HongduanTian/NIFTY

Motivation

最近的研究将GNN中的公平性和稳定性视为独立的问题,并提出了独立的解决方案。因此,现有工作都是独立研究公平性或稳定性的问题,并没有探究它们之间更深层次的联系。

探究一个统一的框架来共同优化GNNs的公平性和稳定性

Contribution

  1. 首次确定反事实公平与稳定性之间的关键联系。
  2. 利用上述联系提出了NIFTY,它可以与任何现有的GNN模型一起使用,以学习公平且稳定的节点表示。
  3. 利用利普希茨常数进行分层权归一化,提出了一种改进神经信息传递的新方法。
  4. 我们介绍并实验了三个新的图形数据集,包括刑事司法中的关键决策以及金融借贷等领域。

Method

NIFTY整体框架图

image-20230428145021254

NIFTY通过最大化来自不同增广视图的表示之间的相似性来学习公平且稳定的节点表示。

反事实公平性的定义:对于任意给定的节点 u u u,如果满足以下条件,则编码器函数 E N C ENC ENC 满足反事实公平性:
E N C ( u )   =   E N C ( u ~ s ) \mathrm{ENC}(u)\,=\,\mathrm{ENC}(\tilde{u}^{s}) ENC(u)=ENC(u~s)
其中, u ~ s \tilde{u}^{s} u~s 是增广图中的一个节点,它是通过修改/翻转节点 u u u 的敏感属性 s s s 的值而生成的,同时保持其他所有内容不变。

稳定性的定义:根据利普希茨连续性的概念,如果满足以下条件,编码器函数 E N C ENC ENC 被认为是稳定的:
∣ ∣ E N C ( u ~ ) − E N C ( u ) ∣ ∣ p ≤ L ∣ ∣ b ~ u − b u ∣ ∣ p ||\mathrm{ENC}(\tilde{u})-\mathrm{ENC}(u)||_p\leq L||\tilde{\mathbf{b}}_u-\mathbf{b}_u||_p ∣∣ENC(u~)ENC(u)pL∣∣b~ubup
其中, u ~ \tilde{u} u~ 是通过扰动 u u u 的属性值和/或关联边生成的增广图中的一个节点, b ~ u \tilde{\mathbf{b}}_u b~u b u b_u bu 分别捕获节点 u ~ \tilde{u} u~ u u u 的属性和关联边信息, L L L 为Lipschitz常数。

在分别构造用于公平性与稳定性的增广视图后,为了学习公平且稳定的节点表示,基于Siamese网络,设计如下Loss函数来最大化来自不同增广视图的表示之间的相似性:
L s = E u [ 1 2 ( D ( t ( z u ) , s g ( z ~ u ) ) + D ( t ( z ~ u ) , s g ( z u ) ) ) ] \mathcal{L}_{s}=\mathbb{E}_{u}\bigl[\frac{1}{2}\bigl(D(t(\mathbf{z}_{u}),\mathbf{sg}(\tilde{\mathbf{z}}_{u})\bigr)+D(t(\tilde{\mathbf{z}}_{u}),\mathbf{sg}(\mathbf{z}_{u})\bigr)\bigr)\bigr] Ls=Eu[21(D(t(zu),sg(z~u))+D(t(z~u),sg(zu)))]

为了进一步确保下游任务的性能,在增加二元交叉熵损失函数 L c \mathcal{L}_c Lc,最终整体loss如下:

min ⁡ θ E N C , θ t , θ f E u [ ( 1 − λ ) L c ] + λ L s \min _{\theta_{\mathrm{ENC}}, \theta_t, \theta_f} \mathbb{E}_u\left[(1-\lambda) \mathcal{L}_c\right]+\lambda \mathcal{L}_s θENC,θt,θfminEu[(1λ)Lc]+λLs

其中,正则化系数 λ λ λ 控制下游节点分类损失 L c \mathcal{L}_c Lc 和 公平稳定目标损失 L s \mathcal{L}_{s} Ls 之间的权衡。

为了进一步在GNN结构中强制公平与稳定,对每层消息传递网络执行层级归一化:
W ~ a k = W a k / σ ( W a k ) \tilde{\mathbf{W}}_a^k=\mathbf{W}_a^k / \sigma\left(\mathbf{W}_a^k\right) W~ak=Wak/σ(Wak)

2.3 Learning Fair Node Representations with Graph Counterfactual Fairness

论文来源:2022年 ACM International Conference on Web Search and Data Mining(CCF-B)

论文代码:https://github.com/jma712/GEAR

Motivation

现有的反事实公平仅仅简单考虑翻转敏感属性的值来生成反事实样本,忽视了两个可能导致偏见的事实:

  1. 每个节点的敏感属性可能因果地影响当前节点的预测;
  2. 当前节点的敏感属性可能因果地影响其它特征或者图结构

image-20230422144312671

研究考虑上述两种偏见(即每个节点及其邻居的敏感属性的潜在偏见以及敏感属性对非敏感属性的因果效应所导致的偏见)的图反事实公平表示学习

Contribution

  1. 提出了一个新的公平概念——图反事实公平,它考虑了从敏感属性到图模型预测的不同因果路径所带来的潜在偏差。
  2. 提出了GEAR来学习图反事实公平性的节点表示。具体来说,对于每个节点,我们最小化了从原始数据中学习到的表示与具有不同敏感属性值的增广反事实之间的差异。
  3. 在合成图和真实世界图上进行了广泛的实验。结果表明,所提出的方法在多个公平性概念上优于现有的基线,并且在下游任务中取得了可比的预测性能。

Method

GEAR整体框架图

image-20230422154304593

GEAR旨在学习图反事实公平性的节点表示。如图所示,GEAR主要包括三个关键部分:(1)子图生成;(2)反事实数据增广;(3)公平表示学习。在子图生成中,GEAR为每个节点提取一个上下文子图,该子图包含节点本身(中心节点)及其最近邻居的局部图结构。在反事实数据增广中,GEAR生成这些子图中节点的敏感属性被扰动的反事实。基于增广的反事实,公平表示学习组件利用Siamese网络来最小化从原始数据中学习到的表示与同一节点的反事实之间的距离。

子图生成
G ( i ) = { V ( i ) , E ( i ) , X ( i ) } = { A ( i ) , X ( i ) } V ( i ) = TOP ⁡ ( R i , : , k ) A ( i ) = A V ( i ) , V ( i ) , X ( i ) = X V ( i ) , : \begin{gathered} \mathcal{G}^{(i)}=\left\{\mathcal{V}^{(i)}, \mathcal{E}^{(i)}, \mathrm{X}^{(i)}\right\}=\left\{\mathrm{A}^{(i)}, \mathrm{X}^{(i)}\right\} \\ \mathcal{V}^{(i)}=\operatorname{TOP}\left(\mathrm{R}_{i,:}, k\right) \\ \mathrm{A}^{(i)}=\mathrm{A}_{\mathcal{V}^{(i)}, \mathcal{V}^{(i)}}, \mathrm{X}^{(i)}=\mathrm{X}_{\mathcal{V}^{(i)},:} \end{gathered} G(i)={V(i),E(i),X(i)}={A(i),X(i)}V(i)=TOP(Ri,:,k)A(i)=AV(i),V(i),X(i)=XV(i),:
反事实数据增广
L a = L r + β L d \mathcal{L}_a=\mathcal{L}_r+\beta \mathcal{L}_d La=Lr+βLd

L r = E q ( H ∣ X , A ) [ − log ⁡ ( p ( X , A ∣ H ,   S ) ) ] + K L [ q ( H ∣ X , A ) ∥ p ( H ) ] \mathcal{L}_r=\mathbb{E}_{q(H \mid \mathbf{X}, \mathrm{A})}[-\log (p(\mathbf{X}, \mathrm{A} \mid H, \mathrm{~S}))]+\mathrm{KL}[q(H \mid \mathbf{X}, \mathrm{A}) \| p(H)] Lr=Eq(HX,A)[log(p(X,AH, S))]+KL[q(HX,A)p(H)]

L d = ∑ b ∈ [ B ] E [ log ⁡ ( D ( H , b ) ) ] \mathcal{L}_d=\sum_{b \in[B]} \mathbb{E}[\log (D(\mathbf{H}, b))] Ld=b[B]E[log(D(H,b))]

公平表示学习
L = L p + λ L f + μ ∥ θ ∥ 2 \mathcal{L}=\mathcal{L}_p+\lambda \mathcal{L}_f+\mu\|\theta\|^2 L=Lp+λLf+μθ2

L p = 1 n ∑ i ∈ [ n ] l ( f ( z i ) , y i ) \mathcal{L}_p=\frac{1}{n} \sum_{i \in[n]} l\left(f\left(\mathrm{z}_i\right), y_i\right) Lp=n1i[n]l(f(zi),yi)

L f = 1 ∣ V ∣ ∑ i ∈ V ( ( 1 − λ s ) d ( z i , z ‾ i ) + λ s d ( z i , z ‾ i ) ) \mathcal{L}_f=\frac{1}{|\mathcal{V}|} \sum_{i \in \mathcal{V}}\left(\left(1-\lambda_s\right) d\left(\mathrm{z}_i, \overline{\mathrm{z}}_i\right)+\lambda_s d\left(\mathrm{z}_i, \underline{\mathbf{z}}_i\right)\right) Lf=V1iV((1λs)d(zi,zi)+λsd(zi,zi))

z i = ( ϕ ( X ( i ) , A ( i ) ) ) i z ‾ i = AGG ⁡ ( { ( ϕ ( X S i ← 1 − s i ( i ) , A S i ← 1 − s i ( i ) ) ) i } ) z ‾ i = AGG ⁡ ( { ( ϕ ( X S ¬ i ( i ) ← S M P ( S ¬ i ( i ) ) ( i ) , A S ¬ i ( i ) ← S M P ( S ¬ i ( i ) ) ( i ) ) ) i } ) \begin{gathered} \mathbf{z}_i=\left(\phi\left(\mathbf{X}^{(i)}, \mathbf{A}^{(i)}\right)\right)_i \\ \overline{\mathbf{z}}_i=\operatorname{AGG}\left(\left\{\left(\phi\left(\mathbf{X}_{S_i \leftarrow 1-s_i}^{(i)}, \mathbf{A}_{S_i \leftarrow 1-s_i}^{(i)}\right)\right)_i\right\}\right) \\ \underline{\mathbf{z}}_i=\operatorname{AGG}\left(\left\{\left(\phi\left(\mathbf{X}_{S_{\neg i}^{(i)} \leftarrow \mathrm{SMP}\left(\mathrm{S}_{\neg i}^{(i)}\right)}^{(i)}, \mathbf{A}_{S_{\neg i}^{(i)} \leftarrow \mathrm{SMP}\left(\mathrm{S}_{\neg i}^{(i)}\right)}^{(i)}\right)\right)_i\right\}\right) \end{gathered} zi=(ϕ(X(i),A(i)))izi=AGG({(ϕ(XSi1si(i),ASi1si(i)))i})zi=AGG({(ϕ(XS¬i(i)SMP(S¬i(i))(i),AS¬i(i)SMP(S¬i(i))(i)))i})

2.4 Learning Fair Graph Representations via Automated Data Augmentations

论文来源:2023年 International Conference on Learning Representations

论文代码:https://github.com/divelab/DIG

Motivation

现有方法总是依赖于对公平图数据属性的某些假设,以设计固定的数据增广策略。然而,公平图数据的确切属性在不同情况下可能会有很大差异,所以这些方法并不能在所有数据集上始终如一地取得良好的性能。因此,启发式设计的增广可能并不总是在不同的应用场景中生成公平的图形数据。

研究自动化的图数据增广来学习公平的表示。

Contribution

  1. 提出了一种用于公平图表示学习的自动图增广框架Graphair。
  2. 为了提升模型的公平性,采用对手模型从增广图数据中预测敏感属性。为了确保下游性能,利用对比学习来保留原始图中的有用信息,以最大限度地提高原始图和增广图之间的一致性。
  3. 实验结果表明,在多个节点分类数据集上,Graphair在公平-准确性权衡性能方面始终优于许多基线。

Method

Graphair整体框架图

image-20230503160848495

包括三个可学习的模型,分别是GNN编码器 f f f, 数据增广模型 g g g 以及对手模型 k k k,整体优化目标如下:
min ⁡ f , g max ⁡ k L = min ⁡ f , g max ⁡ k α L adv + β L con + γ L reconst \min\limits_{f,\mathcal{g}}\max\limits_{k}L=\min\limits_{f,\mathcal{g}}\max\limits_{k}\alpha L_{\text{adv}}+\beta L_{\text{con}}+\gamma L_{\text{reconst}} f,gminkmaxL=f,gminkmaxαLadv+βLcon+γLreconst

数据增广模型 g g g:

  • 对边的扰动:
    Z A = ML ⁡ P A ( Z ) , A ′ ~ = σ ( Z A Z A T ) , A i j ′ ∼ Bernoulli ⁡ ( A ′ ~ i j ) for ⁡ i , j = 1 , ⋯   , n Z_A=\operatorname{ML}P_A(Z),\quad\widetilde{A'}=\sigma\left(Z_AZ_A^T\right),\quad A'_{ij}\sim\operatorname{Bernoulli}\left(\widetilde{A'}_{ij}\right)\operatorname{for}i,j=1,\cdots,n ZA=MLPA(Z),A =σ(ZAZAT),AijBernoulli(A ij)fori,j=1,,n

  • 对节点特征屏蔽:
    Z X = ML ⁡ P X ( Z ) , M ~ = σ ( Z X ) , M i j ∼ Bernoulli ⁡ ( M ~ i j ) for ⁡ i , j = 1 , ⋯   , n , X ′ = M ⊙ X Z_X=\operatorname{ML}P_X(Z),\widetilde M=\sigma(Z_X),M_{ij}\sim\operatorname{Bernoulli}\left(\widetilde M_{ij}\right)\operatorname{for}i,j=1,\cdots,n,X'=M\odot X ZX=MLPX(Z),M =σ(ZX),MijBernoulli(M ij)fori,j=1,,n,X=MX

对手模型 k k k k k k 被优化以最大化敏感属性的预测精度,而 g g g 被优化以减轻 A ′ A' A X ′ X' X 中的偏差,使得对手模型 k k k 难以从 A ′ A' A X ′ X' X 中识别出敏感属性信息。
min ⁡ g max ⁡ k L adv = min ⁡ g max ⁡ k 1 n ∑ i = 1 n [ S i log ⁡ S ^ i + ( 1 − S i ) log ⁡ ( 1 − S ^ i ) ] \min\limits_{g}\max\limits_{k}L_{\text{adv}}=\min\limits_{g}\max\limits_{k}\dfrac{1}{n}\sum\limits_{i=1}^{n}\left[S_i\log\hat{S}_i+(1-S_i)\log\left(1-\hat{S}_i\right)\right] gminkmaxLadv=gminkmaxn1i=1n[SilogS^i+(1Si)log(1S^i)]
仅使用对抗性训练可能会导致增强模型 g g g 崩溃为平凡的解决方案。例如, g g g 可以学习总是生成一个完全图,并将所有节点特征设置为零,其中不包含偏差,因为所有节点都是等效的。这种增广图根本没有信息量,因为它们失去了输入图中的所有信息。为了在生成的图中保留输入图中信息量最大的部分,在训练过程中还使用了对比学习目标,对比目标的节点对损失函数如下:
l ( h i , h i ′ ) = − log ⁡ exp ⁡ ( sin ⁡ ( h i , h i ′ ) / τ ) ∑ j = 1 n exp ⁡ ( sin ⁡ ( h i , h j ′ ) / τ ) + ∑ j = 1 n 1 [ j ≠ i ] exp ⁡ ( sin ⁡ ( h i , h j ) / τ ) l(h_i,h'_i)=-\log\dfrac{\exp\left(\sin(h_i,h'_i)/\tau\right)}{\sum_{j=1}^n\exp\left(\sin(h_i,h'_j)/\tau\right)+\sum_{j=1}^n1_{[j\neq i]}\exp\left(\sin(h_i,h_j)/\tau\right)} l(hi,hi)=logj=1nexp(sin(hi,hj)/τ)+j=1n1[j=i]exp(sin(hi,hj)/τ)exp(sin(hi,hi)/τ)

L con = 1 2 n ∑ i = 1 n [ l ( h i , h i ′ ) + l ( h i ′ , h i ) ] L_{\text{con}}=\dfrac{1}{2n}\sum_{i=1}^n\left[l(h_i,h_i')+l(h_i',h_i)\right] Lcon=2n1i=1n[l(hi,hi)+l(hi,hi)]

为了防止增强模型 g g g 生成的图与输入图偏差过大,在整体训练目标中添加了一个基于重构的正则化项,基于重建的正则化项损失函数如下:
L r e c o n s t = L B C E ( A , A ′ ~ ) + λ L M S E ( X , X ′ ) = − ∑ i = 1 n ∑ j = 1 n [ A i j log ⁡ ( A ′ ~ i j ) + ( 1 − A i j ) log ⁡ ( 1 − A ′ ~ i j ) ] + ∥ X − X ′ ∥ F 2 , L_{\mathrm{reconst}}= L_{\mathrm{BCE}}(A,\widetilde{A'})+\lambda L_{\mathrm{MSE}}(X,X') \\ =-\sum_{i=1}^n\sum_{j=1}^n\Big[A_{ij}\log\Big(\widetilde{A'}_{ij}\Big)+(1-A_{ij})\log\Big(1-\widetilde{A'}_{ij}\Big)\Big]+\|X-X'\|_F^2, Lreconst=LBCE(A,A )+λLMSE(X,X)=i=1nj=1n[Aijlog(A ij)+(1Aij)log(1A ij)]+XXF2,

3. 总结

  1. 大部分工作主要关注一种敏感属性,每种敏感属性也只考虑两种模态,并没有考虑数值敏感属性的情况。
  2. 同时考虑不同敏感属性需要进一步研究。调查交叉公平性并不意味着提高每个属性的模型公平性,而是同时适应几个敏感属性,如年龄和性别,我们需要确保模型对像年轻女性这样的子群体也是公平的。
  3. 现有方法主要针对的是同质图上的公平性问题,对于像异质图与二部图等图结构是否也存在公平性问题需要进一步探索。
  4. 大多数公平性方法都要求修改GNNs的模型参数,对于大图模型来说并不高效。两类方法可以参考:(1)以数据集为中心的方法:在数据集层面做一定的预处理,以消除大规模数据集自身存在的偏见,从而避免大图模型学习到其中的偏见。(2)参数高效的微调:对于训练好的大图模型,利用prompt tuning、adapter tuning等参数高效的方法去提高其公平性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SOME/IP学习笔记3

目录 1.SOMEIP Transformer 1.1 SOME/IP on-wire format 1.2 协议指定 2. SOMEIP TP 2.1 SOME/IP TP Header 3.小结 1.SOMEIP Transformer 根据autosar CP 相关规范,SOME/IP Transformer主要用于将SOME/IP格式的数据序列化,相当于一个转换器。总体…

Cesium 展示——绘制圆的几种方式

文章目录 需求分析需求 总结绘制圆的几种方式 分析 使用圆形几何体(CircleGeometry):var circle = viewer.entities.add({position: Cesium.Cartesian3.fromDegrees

七个合法学习黑客技术的网站,让你从萌新成为大佬

大家好我是若风,一个8年网络安全攻防经验的白帽黑客。 合法的学习网站,以下这些网站,虽说不上全方位的满足你的需求,但是大部分也都能。能带你了解到黑客有关的技术,视频,电子书,实践&#xff0…

Git 安装配置

目录 Linux 平台上安装 Debian/Ubuntu Centos/RedHat 源码安装 Windows 平台上安装 Mac 平台上安装 Git 配置 用户信息 文本编辑器 差异分析工具 查看配置信息 在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。 Git …

AR人脸道具SDK,打造极致用户体验

为了满足企业在AR领域的应用需求,美摄科技推出了一款领先的AR人脸道具SDK,旨在帮助企业快速、高效地开发出具有丰富玩法体验的AR应用,从而提升企业的竞争力和市场份额。 一、丰富的AR人脸道具,满足多样化需求 美摄科技AR人脸道具…

【Python图像超分】Real-ESRGAN图像超分模型(超分辨率重建)详细安装和使用教程

1 前言 图像超分是一种图像处理技术,旨在提高图像的分辨率,使其具有更高的清晰度和细节。这一技术通常用于图像重建、图像恢复、图像增强等领域,可以帮助我们更好地理解和利用图像信息。图像超分技术可以通过多种方法实现,包括插值…

ebSocket connection to ‘wss://xxx.xxxxxxx.xxx/‘ failed:

目录 1:网络连接问题:检查您是否已连接到互联网,您的网络是否稳定。您还可以尝试重置您的Internet连接或切换到另一个网络。 排除方法:直接打开个网址就知道了,这应该不用教了吧 2:防火墙或代理设置&…

Postgresql数据类型-数据类型转换

PostgreSQL数据类型转换主要有三种方式:通过格式化函数、CAST函数、::操作符,下面分别介绍。 通过格式化函数进行转换 PostgreSQL提供一系列函数用于数据类型转换,如表所示。 通过CAST函数进行转换将varchar字符类型转换成text类型&#xf…

JavaScript基础入门05

目录 1.操作结点 1.1新增节点 1.1.1. 创建元素节点 1.1.2. 插入节点到 dom 树中 1.2删除节点 2.代码案例: 猜数字 2.1预期效果 2.2代码实现 3.代码案例: 表白墙 3.1预期效果 3.2创建页面布局 3.3调整样式 3.4实现提交 3.5实现点击按钮的动画效果 4.代码案例: 待办…

简单描述下微信小程序的相关文件以及类型?

目录 前言 相关文件类型 1. JSON 配置文件 2. WXML 文件 3. WXSS 文件 4. JavaScript 文件 图片、音频、视频等资源文件 小程序配置文件(project.config.json) 理解 优缺点 优点: 缺点: 总结 结尾 前言 微信小程序…

Live800:高效工作,客服人必学的10种时间效率管理术

客服人员是企业与客户沟通的桥梁,需要在繁忙的工作环节中保持高效率。只有提高时间效率才能更好地服务客户,满足客户的需求,提升客户满意度。因此,客服人员需要掌握时间效率管理术来提高工作效率。 1、制定工作计划 在开始工作之…

C# DirectoryInfo类的用法

在C#中,DirectoryInfo类是System.IO命名空间中的一个类,用于操作文件夹(目录)。通过DirectoryInfo类,我们可以方便地创建、删除、移动和枚举文件夹。本文将详细介绍DirectoryInfo类的常用方法和属性,并提供…

车间安灯呼叫看板的功能与优势介绍

现在的工厂车间的管理变得越来越复杂,生产过程中可能会出现各种问题,如设备故障、物料短缺、工人伤病等。为了提高生产效率、优化生产管理,许多工厂引入了车间安灯呼叫看板系统。本文将介绍车间安灯呼叫看板的功能与优势。 一、功能介绍 1. 实…

图像实验室搭建

#搭建一个简单的图像实验室#,满足中低端camera产品的调试和测试需求。 目录 (1)实验室的功能 (2)实验室的设备 1、光源 2、图卡 3、辅助设备(升级) (3)实验室的布…

[单片机课程设计报告汇总] 单片机设计报告常用硬件元器件描述

[单片机课程设计必看] 单片机设计报告常用描述 硬件设计 AT89C51最小系统 AT89C51是美国ATMEL公司生产的低电压,高性能CMOS16位单片机,片内含4k bytes的可反复擦写的只读程序存储器和128 bytes的随机存取数据存储器,期间采用ATMEL公司的高…

视通科技4K30分布式编解码一体机,功能强大,性价比之王

随着信息技术的日新月异,各领域对于音视频传输、控制和显示等方面的需求呈现出爆发式的增长。这种需求的增长源于多种因素,包括但不限于高清视频的普及,实时音视频通信的广泛应用,以及各种显示设备的升级换代。 在这样的背景下&a…

Kvaser CAN硬件在Top Dutch Solar的遥测系统中发挥重要作用

Top Dutch Solar Racing(荷兰顶级太阳能赛车队)是2023年Bridgestone World Solar Challenge(普利司通世界太阳能挑战赛)的参赛车队之一,其赛车上搭载的Kvaser Ethercan HS是为基于Wifi的实时遥测系统捐赠的。Kvaser Me…

高级着色语言(HLSL)

High-Level Shading Language,简称为HLSL,可以使用HLSL编写顶点着色器和像素着色器程序,简要地说,顶点着色器和像素着色器就是我们自行编写的一些规模较小的定制程序,这些定制程序可取代固定功能流水线中某一功能模块&…

Camtasia2024中文免费版电脑录屏软件

大家都知道在视频播放中,如果有一个令人印象深刻的精彩开头,整个视频的内容都能因此得到不少升华。所以有一个好的片头对于视频的制作来说十分重要。 要怎么做出效果不错的片头呢? 首先,我们要选择合适的素材来制作片头。这里直…

Qt 之自定义控件(开关按钮)

Qt 之自定义控件(开关按钮) 原理源码运行结果 接触过IOS系统的童鞋们应该对开关按钮很熟悉,在设置里面经常遇到,切换时候的滑动效果比较帅气。 通常说的开关按钮,有两个状态:on、off。 下面,我们…