多源迁移学习网络补充知识用于具有不可见故障的机器智能诊断

news2024/12/23 13:09:40

在这里插入图片描述
**摘要:**当前基于深度迁移学习的故障诊断的大多数成功需要两个假设:1)源机器的健康状态集合应当与目标机器的健康状态集合重叠;2)目标机器样本的数量跨健康状态平衡。然而,这样的假设在工程场景中是不现实的,其中目标机器遭受在源机器中看不到的故障类型,并且目标机器大多处于健康状态,仅偶尔发生故障。因此,来自源机器的诊断知识可能不覆盖目标机器的所有故障类型,也不解决不平衡的目标样本。因此,我们提出了一个框架,称为多源转移学习网络(MSTLN),聚合和转移诊断知识从多个源机器结合多个部分分布自适应子网络(PDA子网)和多源诊断知识融合模块。前者通过平衡因子对目标样本进行加权,以联合适应源和目标对的局部分布;后者释放多个源机器之间的差异所带来的负面影响,并进一步融合多个PDA-Subnets的诊断决策输出。两个实例研究表明,MSTLN方法能降低误诊率,对不平衡的目标样本具有更好的传输性能。

一.问题背景

迁移学习是一种很有前途的技术,可以解决丢失标签的问题,并允许将源机器的诊断知识转移到不同但相关的目标机器。常见的有三种方法,即基于实例的、基于特征的和基于参数的。基于特征的方法因其纠正严重差异的能力而特别受欢迎,这种方法构造非线性函数来将来自源机器和目标机器的样本映射到一个共同的特征空间中,其中可转移特征的分布差异被抑制。因此,应用于源机器的诊断模型可以在目标机器上重用。

两个常见的假设:1)源机器的健康状态集合应当与目标机器的健康状态集合重叠; 2)目标机器样本的数量跨健康状态平衡。然而,在现实世界的应用中,这样的假设很难被证明是合理的。首先,目标机器不可避免地遭受在源机器中从未经历过的故障类型。因此,来自各个源机器的诊断知识不足以识别从所有健康状态提取的目标机器样本。其次,目标机器大部分时间都在健康阶段运行,偶尔会出现故障。因此,收集的目标机器数据集由大量健康样本和偶尔的错误样本组成,导致标准的基于特征的迁移学习方法使可迁移特征的分布不一致。

虽然单个源机器可能无法提供足够的诊断知识,但源机器的某些组合可能会提供足够的诊断知识[20]。因此,我们提出了一个多源迁移学习网络(MSTLN),以利用多个源机器。

二.本文贡献

  1. 提出了一种部分分布自适应子网络(PDA-Subnet),它在分类层中加入一个神经元来处理源机中未发现的故障。此外,它有一个域鉴别器,用加权Wasserstein损失训练来计算平衡目标机器不平衡样本的因子。
  2. 提出了一种诊断知识融合模块,用于联合收割机多个PDA子网的诊断决策。该模块通过多源-目标自适应正则化联合训练多个PDA-子网络,以减轻多个源机器之间的差异所带来的负面影响。进一步实现了一种决策融合策略,利用源目标对的相似度对多个决策进行加权,得到最终的诊断结果

三.基础知识

3.1.问题描述

  • 给定多个源域 S = { s 1 , s 2 , . . . , s m } S=\{s_{1},s_{2},...,s_{m}\} S={s1,s2,...,sm},其中诊断知识从 M M M个源机器中收集;
  • k k k个源域 s k s_{k} sk包括 n s k n_{s_{k}} nsk个标记样本 X s k = { ( x i s k , y i s k ) ∣ i = 1 , 2 , . . . , n s k , x i s k ∼ P s k , y i s k ∈ Y s k , k ∈ ∣ S ∣ } X^{s_{k}}=\{(x^{s_{k}}_{i},y^{s_{k}}_{i})| i=1,2,...,n_{s_{k}},x^{s_{k}}_{i}∼ P_{s_{k}},y^{s_{k}}_{i} ∈Y^{s_{k}},k∈|S|\} Xsk={(xisk,yisk)i=1,2,...,nsk,xiskPsk,yiskYsk,kS},其中 Y s k = 1 , 2 , . . . , R s k Y^{s_{k}}={1,2,...,R^{s_{k}}} Ysk=1,2,...,Rsk代表源域 s k s_{k} sk的健康状态集合并且有 ∣ Y s k ∣ |Y^{s_{k}}| Ysk个健康状态;
  • 目标域有 n t n_{t} nt个未标记的样本 X t = { x i t ∣ i = 1 , 2 , n t , x i t ∼ P t } X^{t}=\{x^{t}_{i}|i=1,2,n_{t},x^{t}_{i}∼P_{t}\} Xt={xiti=1,2,nt,xitPt}
  • 目标域样本的标签来自 Y t = { 1 , 2 , . . . , R t } Y^{t}=\{1,2,...,R^{t}\} Yt={1,2,...,Rt}
  • 注意由于源机器和目标机器以及多个源机器之间的差异,则有分布差异 P s k ≠ P t P_{s_{k}}≠P_{t} Psk=Ptand P s i ≠ P s j ( i , j ∈ ∣ S ∣ P_{s_{i}}≠P_{s_{j}}(i,j∈|S| Psi=Psj(i,jS and i ≠ j ) i≠j) i=j)
  • 在许多现实世界的情况下,目标域样本可以跨健康状态不平衡,这与来自通常在受控环境中设置的源域的平衡样本相反;
  • 假设任何单个源域 s k ∈ S s_{k} ∈ S skS不覆盖目标域所需的知识,即 Y s k ⊈ Y t Y^{s_{k}}\not\subseteq{Y^{t}} YskYt,但结合诊断知识可以覆盖。交集 Y s k ∩ Y t Y^{s_{k}} ∩Y^{t} YskYt是指源域 s k s_{k} sk和目标域 t t t的共享健康状态集合,而差值 Y s k Y^{s_{k}} Ysk\ Y t Y^{t} Yt是仅可从目标域观察到的健康状态集合

多元迁移学习用于集成多个诊断模型 f S ( ⋅ ) : = { X s k → Y s k ∣ k ∈ ∣ S ∣ } f_{S}(·):=\{X^{s_{k}}\rightarrow Y^{s_{k}}|k\in|S|\} fS():={XskYskkS}并且最小化目标期望风险 R t = E x t ~ P t [ f S ( x i t ) ≠ y i t ] R_{t}=E_{x^{t}~P_{t}}[f_{S}(x^{t}_{i})\neq{y^{t}_{i}}] Rt=ExtPt[fS(xit)=yit]

首先将多源迁移学习任务分成多个部分迁移学习子任务 { s k → t ∣ k ∈ ∣ S ∣ } \{s_{k} → t| k ∈|S|\} {sktkS},然后融合多个诊断决策。
需要克服两个重大挑战:1)在源和目标域对之间部分分布的适应,2)多源诊断知识的融合。

第一个挑战是由于:在源域中看不见的故障类型可能出现在不平衡的目标域中,如图1(a)所示。来自不可见故障的目标域样本将被错误分类,并且来自共享健康状态的目标域样本可能被错误地识别。作为一种补救措施,目标域样本在分布自适应过程中加权,挑选出看不见的故障的样本,并调整来自共享健康状态样本的重要性。如图1(b)所示,目标域样本的部分分布可以与源域样本对齐。

使共享健康状态样本的重要性更大,来防止该类型的被错分?

第二个挑战是因为:多个源域为单个目标域提供了不同的诊断知识。融合机制将较大的权重应用于与目标域更相似的源域。该机制还融合了来自多个源域的诊断知识,以识别目标域中的不可见故障。具体而言,在图2中,通过遵循跨域相似性来融合共享的诊断结果,并且扩展互补结果。
在这里插入图片描述

3.2.MMD

MMD是一种非参数距离度量,用于估计两个数据集之间的分布差异。给定集合 X = { x i ∣ x i ~ p , i = 1 , 2 , . . . , n } X=\{x_{i}|x_{i}~p,i=1,2,...,n\} X={xixip,i=1,2,...,n} and Y = { y j ∣ y j ~ q , j = 1 , 2 , . . . , m } Y=\{y_{j}|y_{j}~q,j=1,2,...,m\} Y={yjyjq,j=1,2,...,m},MMD定义如下:
在这里插入图片描述
其中sup(·)是输入集合的上确界,H表示再生核希尔伯特空间(RKHS),Φ(⋅)是映射函数。如果通过使用特征核来构造RKHS,则集合X和Y之间的MMD可以被估计为:
在这里插入图片描述

四.本文方法

所提出的MSTLN可以被划分为多个PDA子网和多源诊断知识融合模块,如图3所示。多个PDA-子网被单独地应用于源-目标域对(一个用于一对)以适应源和目标域样本的部分分布。然后,通过知识融合模块将来自多个PDA子网的诊断决策进行融合。每个元素在以下小节中详细介绍。
在这里插入图片描述

4.1.PDA-子网

多个PDA子网形成MSTLN的核心。每个PDA子网具有相同的架构参数,如表1所示。图4呈现了用于源域 s k s_{k} sk和目标域 t t t的PDA子网的架构。该网络由一个域共享的深度残差网络(ResNet),一个看不见故障的分离模块和一个重要性加权分布自适应模块组成。各部分详述如下。
在这里插入图片描述

4.1.1.域共享ResNet

域共享的ResNet由两个单独的网络组成,但它们共享源域 s k s_{k} sk和目标域 t t t中样本的训练参数。它包括输入层、堆叠的残差块和全连接层

在输入层中,我们在训练批中给出了第 k k k对源-目标域样本 { ( x s k , x i t ) ∣ x s k , x i t ∈ R N , i = 1 , 2 , . . . , m } 。 \{(x^{s_{k}},x^{t}_{i})|x^{s_{k}},x^{t}_{i}∈R^{N},i = 1,2,...,m\}。 {(xsk,xit)xsk,xitRN,i=1,2,...,m}源-目标域样本首先由卷积层处理以表示可转移特征,并且注意,采用零填充来维持卷积过程之前和之后的特征的维度。然后添加最大池化层以降低由先前卷积层学习的可转移特征的维度。

之后,将多个残差块堆叠以提取高级别的可传递特征。在每个残差块中,使用两个零填充卷积层来处理来自前一层的特征,然后智能短连接输出卷积过程前后的特征之和。如图4所示,高级可转移特征在被展平为作为全连接网络的输入的一维向量之前通过另一个最大池化层。注意全连接网络具有单个隐藏层,并且网络将学习到的高级可转移特征映射到源域的健康状态集合中。

假设 G k ( ⋅ ) G_{k}(·) Gk()表示第k个源-目标域对 D k D_{k} Dk(即源域 s k s_{k} sk和目标域 t t t) 的特征提取器(包括输入层、堆叠的残差块以及全连接层F1和F2)。在层 F 2 F_{2} F2中的高维可迁移特征 v i D k = ( v i s k , v i t ) v^{D_{k}}_{i}=(v^{s_{k}}_{i},v^{t}_{i}) viDk=(visk,vit)可表示为:
在这里插入图片描述
其中 x i D k = ( x s k , x i t ) x^{D_{k}}_{i}=(x^{s_{k}},x^{t}_{i}) xiDk=(xsk,xit)是第k个源目标域对样本,且 θ D k , F E \theta^{D_{k},FE} θDk,FE是特征提取器的训练参数。

层F3使用Softmax函数来预测属于健康状态的样本的概率分布,可表示为:
在这里插入图片描述
其中 F k ( ⋅ ) F_{k}(·) Fk()被视为第k个源目标域对的健康状态预测器, σ s m ( ⋅ ) \sigma_{sm}(·) σsm()表示等式(5)中所示的Softmax函数,并且 θ D k , P R = { ω D k , P R , b D k , P R } \theta^{D_{k},PR}=\{\omega^{D_{k},PR},b^{D_{k},PR}\} θDk,PR={ωDk,PR,bDk,PR}是健康状态预测器的训练参数。

4.1.2.不可见故障分离模块

由源域样本训练的分类边界将可能对未看见故障的目标域样本进行错误分类。为了避免这样的错误分类,将神经元添加到层F3,使得第k个源域 s k s_{k} sk的健康状态集合的维度从 ∣ Y s k ∣ |Y^{s_{k}}| Ysk增加到 ∣ Y s k ∣ + 1 |Y^{s_{k}}|+1 Ysk+1。添加的神经元专注于预测目标域样本属于不可见故障的概率,并将其分类为未知的健康状态。层F3的输出可以具体表示如下:
在这里插入图片描述
其中 v i , j D k = v i D k ω j D k , F 3 + b j D k , F 3 v^{D_{k}}_{i,j}=v^{D_{k}}_{i}\omega^{D_{k},F3}_{j}+b^{D_{k},F3}_{j} vi,jDk=viDkωjDk,F3+bjDk,F3是在F3层中第 j j j个神经元的输出, j = 1 , 2 , . . . , ∣ Y s k ∣ + 1 j=1,2,...,|Y^{s_{k}}|+1 j=1,2,...,Ysk+1 F k S h a r e d ( ⋅ ) F^{Shared}_{k}(·) FkShared()输出预测的源目标域样本属于共享健康状态的概率分布,并且 F k U n k n o w n ( ⋅ ) F^{Unknown}_{k}(·) FkUnknown()生成跨域样本属于未知健康状态的预测概率。

所有目标域样本未被标记,而源域样本被标记。因此,域共享ResNet用标记的源域样本进行训练以确定分类边界。对于第 k k k个源-目标域对,源域样本的交叉熵损失为:
在这里插入图片描述
其中 I ( ⋅ ) I(·) I()是指示函数,m是小批大小,且 F k S h a r e d ( v i s k ) F^{Shared}_{k}(v^{s_{k}}_{i}) FkShared(visk)是第 i i i个源域样本特征 v i s k v^{s_{k}}_{i} visk属于共享健康状态的预测概率。

可以从源域中尚未看到的健康状态中提取一些目标域样本。在此情况下,将所述第 i i i个目标域样本特征 v i t v^{t}_{i} vit分类到未知健康状态的预测概率 F k U n k n o w n ( v i t ) F^{Unknown}_{k}(v^{t}_{i}) FkUnknown(vit)大于将来自共享健康状态的样本分类到未知健康状态的概率。因此,可以如下生成这样的目标域样本的二进制健康状态:
在这里插入图片描述
其中 y i t − s k , U n k n o w n = 1 y^{t-s_{k},Unknown}_{i}=1 yitsk,Unknown=1表示第 i i i个目标域样本来自基于包含在源域 s k s_{k} sk中的诊断知识的未知健康状态。从等式(5)以及(7),对于第k个源-目标域对,来自未知健康状态的目标域样本的交叉熵损失如下给出:在这里插入图片描述
F k U n k n o w n ( v i t ) F^{Unknown}_{k}(v^{t}_{i}) FkUnknown(vit)表示第i个目标域样本属于未知健康状态的预测概率。

此外,来自共享健康状态的目标域样本的熵被优化以减少类内距离增加类间距离,这使得分类边界能够通过低密度样本区域。结果,可以容易地分离来自未知健康状态的目标域样本。对于第k个源-目标域对,如下计算目标域样本的熵:
在这里插入图片描述
其中 F k S h a r e d ( v i t ) F^{Shared}_{k}(v^{t}_{i}) FkShared(vit)是基于来自源域sk的知识的第i个目标域样本属于共享健康状态的预测概率。

4.1.3.重要性加权分布适配模块

目标域样本在健康状态之间是不平衡的,而源域样本是平衡的。为了有效地传输,我们使用域鉴别器来估计不平衡的程度,并相应地对目标域样本进行加权。鉴别器是具有表1中所示的架构参数的多层感知器 H k ( ⋅ ) H_{k}(·) Hk(),并且将层F2的可转移特征映射到域标签空间中。鉴别器的输出表示如下:
在这里插入图片描述
其中 φ D k φ^{D_{k}} φDk是用于第k个源-目标域对的鉴别器的训练参数。感知器包括两个隐藏层。在 A d v 1 Adv_{1} Adv1 A d v 2 Adv _{2} Adv2中使用Leaky-ReLU激活函数来去除稀疏梯度,以便可以稳定地训练鉴别器。下面描述的加权Wasserstein损失被用于优化域鉴别器:
在这里插入图片描述
其中正则化项保证了作为Wasserstein距离的约束的Lipschitz连续性,μ = 10是折衷参数,且 v ^ D k = ϵ v s k + ( 1 − ϵ ) v t \widehat{v}^{D_{k}}=\epsilon{}v^{s_{k}}+(1-\epsilon)v^{t} v Dk=ϵvsk+(1ϵ)vt沿着跨域特征分布和 ε ε ε ~ U [ 0 , 1 ] U[0,1] U[01]之间的直线均匀采样。优化目标最大化来自共享健康状态的跨域样本的Wasserstein距离。根据式子(11),最佳鉴别器可以被推断为:
在这里插入图片描述
其中 v ∈ { ( v s k , v i t ) ∣ i = 1 , 2 , . . . , m } v ∈\{(v^{s_{k}},v^{t}_{i})|i=1,2,...,m\} v{(vsk,vit)i=1,2,...,m} P s k ( ⋅ ) P_{s_{k}}(·) Psk()and P t S h a r e d ( ⋅ ) P_{t}^{Shared}(·) PtShared()分别是来自共享健康状态的源域样本和目标域样本的概率密度函数,并且由于K-Lipschitz连续性的条件, H k ( v ) H_{k}(v) Hk(v)是有界的。

目标域特征 { v i t ∣ i = 1 , 2 , . . . , m } \{ v^{t}_{i}| i = 1,2,...,m \} {viti=1,2,...,m}是从共享健康状态中提取的,所述共享健康状态可以具有有限的或大量的目标域样本。如果它们是从具有有限目标域样本的共享健康状态中提取的,则很可能 P s k ( v ) > P t S h a r e d ( v ) P_{s_{k}}(v)>P^{Shared}_{t}(v) Psk(v)PtShared(v),在这种情况下,输出 H k ∗ ( v ) H^{*}_{k}(v) Hk(v)将足够大并且可能接近 H k ( v ) H_{k}(v) Hk(v)的上限。如果它们是从具有大量目标域样本的共享健康状态中提取的,则很可能 P s k ( x ) < P t S h a r e d ( x ) P_{s_{k}}(x)<P^{Shared}_{t}(x) Psk(x)PtShared(x),并且输出 H k ∗ ( v ) H^{*}_{k}(v) Hk(v)将更接近 H k ( v ) H_{k}(v) Hk(v)的下限。可以通过使用Sigmoid函数将 H k ∗ ( v ) H^{*}_{k}(v) Hk(v)进一步映射到(0,1),使得因子 σ s ( H k ∗ ) σ_{s}(H^{*}_{k}) σs(Hk)应该指示目标域样本在平衡源域的基线下的不平衡程度。 σ s ( H k ∗ ) σ_{s}(H^{*}_{k}) σs(Hk)越大(即 σ s ( H k ∗ ) σ_{s}(H^{*}_{k}) σs(Hk) → 1),目标域特征越可能来自具有有限目标域样本的共享健康状态。 σ s ( H k ∗ ) σ_{s}(H^{*}_{k}) σs(Hk)越小,特征越可能来自具有充足样本的状态。

在假设目标域样本在健康状态之间不平衡并且它们中的一些是从未知健康状态中提取的情况下,第 i i i个目标域样本的平衡因子可以计算为:
在这里插入图片描述
应注意,来自未知健康状态的目标域样本将得到非常小的因子(接近零),而来自具有大量样本的状态的目标域样本将得到小因子(不像零那么小)。结合E式子(2),层F2的可转移特征之间的重要性加权MMD被估计如下:
在这里插入图片描述
其中 ρ t − s k = { ρ i t − s k ∣ i = 1 , 2 , . . . , m } \rho^{t-s_{k}}=\{\rho^{t-s_{k}}_{i}|i=1,2,...,m\} ρtsk={ρitski=1,2,...,m}。根据[29,30]中的研究,高斯内核-MMD具有三个弱点:1)时间复杂度高; 2)忽略了高阶矩的分布差异; 3)结果对高斯核宽度敏感。因此,在这项工作中,使用多项式核来构造RKHS,这已被证明可以提高诊断模型的传输性能(更多讨论请参见[29])。给定多项式核 k ( x , y ) = ( a x T + b ) c k(x,y)=(ax^{T}+b)^{c} k(x,y)=(axT+b)c,重要性加权多项式核-MMD(PK-MMD)可以推断为:
在这里插入图片描述
其中a、b、c分别是多项式核的斜率、截距和阶数。

对于第k个源-目标域对,通过最小化以下损失函数来适应所学习的可转移特征的部分分布:
在这里插入图片描述

4.2.多源诊断知识融合

诊断知识融合模块包括多源目标联合自适应和多诊断决策融合策略。

4.2.1.多源目标联合自适应

从多个源域抽取的样本存在分布差异。受源域样本分布基线不同的影响,目标域特征的分布在通过相同配置的PDA-Subnets学习时发生偏移。对于目标域样本与多个源域联合的分布适配,每个子网必须仔细配置,否则其中的一些可能会陷入欠适配。代替配置每个子网的参数的努力,由多个PDA子网分别学习的目标域特征之间的分布差异如下所示:
在这里插入图片描述
其中 D P H 2 [ G i ( X t ) , G j ( X t ) ] D^{2}_{PH}[G_{i}(X^{t}),G_{j}(X^{t})] DPH2[Gi(Xt),Gj(Xt)]表示基于分别用于第 i i i个和第 j j j个源-目标域对的特征提取器学习的目标域特征之间的PK-MMD。如果多个PDA子网中的一个充分地适配源域特征和目标域特征的分布,则所学习的目标域特征的分布可以被视为其他源-目标对的基线。这有助于提高其他子网的分布适应性。因此,单个目标域的样本分布可以与多个源域充分地联合适配,尽管被配置有相同的架构参数。

4.2.2.多诊断决策融合策略

预测概率 { F k U n k n o w n ( v i t ) ∣ i = 1 , 2 , . . . , m } \{F^{Unknown}_{k}(v^{t}_{i})|i=1,2,...,m\} {FkUnknown(vit)i=1,2,...,m}不仅表示目标域样本是否来自未知健康状态,而且表示目标域 t t t和源域 s k s_{k} sk之间的相似性。该概率越小,目标域样本与源域样本越相似。因此,可以设计一种策略来融合多个诊断决策,如下所示:
在这里插入图片描述
其中在这里插入图片描述 F k S h a r e d ( v i t ) F^{Shared}_{k}(v^{t}_{i}) FkShared(vit)中概率元素的索引,argmax(⋅)返回具有第i个目标域样本的加权概率的最大和的预测健康状态的索引。在式子(18)中有两种情况。第一种情况是当每个PDA-子网相信目标域样本来自未知健康状态时,导致目标域样本实际上来自未知健康状态的结论。第二种情况是当多个PDA-子网中的至少一个认为目标域样本来自共享健康状态时,导致通过使用预测概率 { F k U n k n o w n ( v i t ) ∣ i = 1 , 2 , . . . , m } \{ F^{Unknown}_{k}(v^{t}_{i})|i=1,2,...,m\} {FkUnknown(vit)i=1,2,...,m}加权多个诊断决策的最终决策。具有大相似性的源和目标对将对最终决策贡献很大,而具有小相似性的对可能提供具有低置信度的结果

4.3.训练过程

提出的MSTLN的训练分为三个步骤。在第一步中,多个PDA子网中的域共享ResNet由下面的优化目标训练,以挑选出看不见的故障的目标域样本,并将它们阻塞到未知的健康状态中。
在这里插入图片描述
其中 θ D k = { θ D k , F E , θ D k , P R } \theta^{D_{k}}=\{\theta^{D_{k},FE},\theta^{D_{k},PR}\} θDk={θDk,FE,θDk,PR}是用于源-目标域对 D k D_{k} Dk的域共享ResNet的训练参数。

在第二步中,基于源域样本的不同分布基线,优化多个域鉴别器以学习目标域样本的抵消因子。优化目标如下所示:
在这里插入图片描述
最后,下面的损失函数被最小化以联合训练多个域共享的ResNet,其单独地适应所学习的可转移特征的部分分布,但共同地学习可转移特征的足够知识。结果,多个诊断模型可以从多个源域转移到单个目标域。
在这里插入图片描述
其中 λ 、 β 和 γ λ、β和γ λβγ是折衷参数。第一项是通过使用来自多个源域的标记样本来训练多个诊断模型。第二项是在存在不平衡的目标域样本的情况下,校正来自共享健康状态的所学习的可转移特征的分布差异。第三项集中于最小化目标域样本的熵。最后一个适应基于多个源域样本的不同分布基线学习的目标域特征的分布。使用Adam优化算法分别实现公式(19)-(21),训练参数依次更新为:
在这里插入图片描述
其中 η η η是学习率。MSTLN的训练过程详见表2。
在这里插入图片描述

五.实验

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

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

相关文章

【闲聊杂谈】HTTPS原理详解

HTTPS和HTTP的区别 HTTP虽然使用极为广泛, 但是却存在不小的安全缺陷, 主要是其数据的明文传送和消息完整性检测的缺乏, 而这两点恰好是网络支付, 网络交易等新兴应用中安全方面最需要关注的。 关于 HTTP的明文数据传输, 攻击者最常用的攻击手法就是网络嗅探, 试图从传输过程…

Redis高可用高性能缓存的应用系列06 - 热Key,大Key,并发竞争解决方案

概述 终于迎来了Redis系列的尾声,本文针对Redis常遇到的热Key,大Key,并发竞争解决方案进行介绍。 热Key 什么是热key?当一个key的访问量明显大于其他key的时候,他就可以被称为热key。 热Key带来的问题 热key占用大量的CPU资…

黑马在线教育数仓实战7

1. hive的相关的优化 1.1 hive的相关的函数(补充说明) if函数: 作用: 用于进行逻辑判断操作语法: if(条件, true返回信息,false返回信息) 注意: if函数支持嵌套使用 nvl函数: 作用: null值替换函数格式: nvl(T value, T default_value) COALESCE函数 作用: 非空查找函数:格式…

Windows安装GPU环境CUDA、深度学习框架Tensorflow和Pytorch

Windows安装GPU环境CUDA、深度学习框架Tensorflow和Pytorch 1、未安装CUDA使用tensorflow报错 import tensorflow as tf2022-03-06 15:14:38.869955: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library cudart64_110.dll; dl…

Django | 一文完美解决admin增加新用户只有用户名密码和确认密码的问题

文章目录 如图所示,下面给出解决方案: 如果您使用 使用 Django 默认的后台管理界面添加用户时,只看到了三个字段(通常是 username、password和 repassword),那么可以通过定义 add_fieldsets 属性来增加更多…

【JUC】原子操作类

【JUC】原子操作类 文章目录 【JUC】原子操作类1. 原子操作类1.1 基本类型原子类1.2 数组类型原子类1.3 引用类型原子类1.3.1 AtomicReference1.3.2 AtomicStampedReference1.3.3 AtomicMarkableReference 1.4 对象的属性修改原子类 1. 原子操作类 原子操作类如下所示&#xf…

【Linux】进程间通信 --- 管道 共享内存 消息队列 信号量

等明年国庆去西藏洗涤灵魂,laozi不伺候这无聊的生活了 文章目录 一、进程间通信1.什么是通信?(IPC)2.为什么要有通信?(多进程协同)3.如何进行通信? 二、基于文件系统的管道通信1.通信…

acwing17给了一个头节点,从尾到头输出链表的元素,顺便练练容器

方法一 建立一个数组,从头到尾遍历一遍链表,然后将链表的每个元素的值赋给数组 犯了一个错误 新建的vector容器是一个可变长的数组,要想像数组下标那样访问前提是这个下标所指向的元素得存在,这也就跟那个声明一维数组得写出长度来…

rk3568 适配摄像头 (CIF协议)

rk3568 适配摄像头 (CIF协议) 在RK3568处理器中,支持CIF协议的摄像头可以通过CSI接口连接到处理器,实现视频数据的采集和处理。同时,RK3568还支持多种图像处理算法和编解码器,可以对采集到的视频数据进行实时处理和压缩&#xff…

[Golang实战] 带你入手gin框架使用,以项目为例

😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘 🤗专栏:算法学习 &am…

Dear ImGui结合CMake实现基于GLFW和OpenGL3的入门级hello world代码

Dear ImGui结合CMake实现基于GLFW和OpenGL3的入门级hello world代码 如需转载请标明出处:https://blog.csdn.net/itas109 技术交流:129518033 环境: OS: windows 10 / Ubuntu 22.04 imgui: 1.89.5 glw: 3.3.8前言 Dear ImGui 是一个 用于…

alibaba arthas的新人上手教程

背景 Arthas 是Alibaba开源的Java诊断工具。 github开源地址:GitHub - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas 上手教程 1.下载arthas,并测试运行demo curl -O https://arthas.aliyun.com/arthas-boot.j…

高防IP的定义与作用

随着网络技术的发展,网络攻击的频率和威力不断升级,对企业和个人的网络安全造成了巨大风险。于是,高防IP作为一种网络安全防护工具应运而生,成为广大用户保障网络安全的重要手段。接下来让我们一起来详细了解下高防IP的定义和作用…

web实验(1)

(1) 应用html和css完成如图所示界面效果。内容相对于浏览器居中,图标见附件disc.jpg。 说明: 内容相对于浏览器居中,图标见附件disc.jpg盒子边框1px solid #ccc,内边距20px文本字体颜色#122e67&#xff…

outlook邮箱pc/mac客户端下载 含最新版

新的 Outlook for Windows or mac 为 Outlook 应用带来了最新功能、智能辅助功能和新的新式简化设计。 你可以根据自己的风格定制它,并使用新的 Outlook for Windows/mac 执行更多操作! 览版,与我们一起开始旅程,并帮助我们塑造新…

SSM整合完整流程

🏠个人主页:shark-Gao 🧑个人简介:大家好,我是shark-Gao,一个想要与大家共同进步的男人😉😉 🎉目前状况:23届毕业生,目前在某公司实习&#x1f…

Django--DRf---序列化器:序列化器嵌套

模型表: from django.db import models# Create your models here.class StudentModel(models.Model):id models.AutoField(primary_keyTrue)name models.CharField(max_length32,verbose_name姓名)age models.SmallIntegerField(verbose_name年龄)class_mate_f…

人人可用的开源数据可视化分析工具-DataEase

DataEase 介绍 DataEase是一种开源的关系型数据库管理系统,旨在帮助用户创建和管理各种类型的数据。它是一种易于使用的工具,适用于各种规模的企业和组织,从个人使用到大型公司使用。 Github 地址:GitHub - dataease/dataease: …

2023年4月份上新的Transformer模型设计系列论文(附下载链接)

来源:投稿 作者:王老师 编辑:学姐 论文1 论文标题: Slide-Transformer: Hierarchical Vision Transformer with Local Self-Attention** 滑动Transformer:具有局部自注意的分层视觉Transformer 论文链接:h…

ChatGPT 克隆方案,开源了!开箱即用

什么是 ChatGPT ChatGPT是一种基于人工智能技术的大型语言模型,它能够理解和处理人类自然语言,并且在回答问题、生成文本和模拟对话等方面表现出色。ChatGPT使用的是GPT-3.5架构,它在训练过程中接触了大量的语言数据,并利用这些数…