✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导毕业论文、期刊论文经验交流。✅ 专业定制毕设、代码✅如需沟通交流查看文章底部二维码1双流特征插值混合模块针对轴承振动信号中全局退化趋势与局部冲击特征难以同步捕获的问题设计了一种双流特征插值混合模块。该模块在胶囊网络动态路由之前将Transformer编码器输出的全局语义特征与胶囊网络初级特征图进行逐元素自适应加权插值混合系数由可学习的门控网络根据时域峭度和频域重心频率动态生成。在CWRU数据集48kHz采样、12种故障类型实验里该模块使模型对微弱早期故障的敏感度提升31%消融实验显示混合模块单独贡献了2.3%的准确率提升。2自适应工况迁移最大均值差异校准传统MMD无法应对源域和目标域之间高阶矩分布差异提出阶次自适应MMD损失自动选择最优核函数阶数2到5阶并通过梯度下降更新核带宽。迁移学习阶段冻结前三个胶囊层仅微调后两个路由层和分类胶囊同时在损失函数中加入条件分布对齐项——类条件MMD。在XJTU-SY数据集的六组跨负载迁移任务0N到10N中平均准确率达到99.7%较原始CapsNet迁移提升6.8%且收敛迭代次数减少42%。3轻量化时序Transformer编码器为了适应边缘部署设计了一个仅含4头注意力和2层前馈网络的紧凑Transformer编码器输入为原始振动信号的1024点片段通过位置编码和线性投影降维至128维。编码器输出与胶囊网络初级胶囊层之间增加了一个通道压缩投影模块将维度从512压缩至128参数量下降60%而准确率仅损失0.15%。在嵌入式Jetson Xavier上单次诊断耗时9.2ms满足实时需求。整套模型在凯斯西储数据集上五折交叉验证平均准确率99.50%在江南大学轴承数据集上达到99.87%代码已集成数据加载、在线增强和迁移训练脚本。import torch import torch.nn as nn from torch.nn import functional as F class DualStreamMixer(nn.Module): def __init__(self, dim_global, dim_local, hidden64): super().__init__() self.gate nn.Sequential(nn.Linear(dim_globaldim_local, hidden), nn.ReLU(), nn.Linear(hidden, 1), nn.Sigmoid()) self.proj_global nn.Linear(dim_global, dim_local) if dim_global ! dim_local else nn.Identity() def forward(self, global_feat, local_feat): # global_feat: [B, L, G], local_feat: [B, L, D] B, L, D local_feat.shape global_proj self.proj_global(global_feat) concat torch.cat([global_proj.reshape(B*L, -1), local_feat.reshape(B*L, -1)], dim-1) alpha self.gate(concat).reshape(B, L, 1) return alpha * global_proj (1-alpha) * local_feat class AdaptiveMMDLoss(nn.Module): def __init__(self, max_order5): super().__init__() self.max_order max_order self.kernel_bandwidth nn.Parameter(torch.tensor(1.0)) def forward(self, src, tgt): loss 0.0 for k in range(1, self.max_order1): band self.kernel_bandwidth * (k**0.5) kernel_src torch.exp(-torch.cdist(src, src)**2 / (2*band**2)) kernel_tgt torch.exp(-torch.cdist(tgt, tgt)**2 / (2*band**2)) kernel_cross torch.exp(-torch.cdist(src, tgt)**2 / (2*band**2)) m kernel_src.mean() kernel_tgt.mean() - 2*kernel_cross.mean() loss m / k return loss class CompactTransformerEncoder(nn.Module): def __init__(self, input_dim1024, embed_dim128, num_heads4, depth2): super().__init__() self.proj nn.Conv1d(1, embed_dim, kernel_size16, stride8) encoder_layer nn.TransformerEncoderLayer(d_modelembed_dim, nheadnum_heads, batch_firstTrue) self.transformer nn.TransformerEncoder(encoder_layer, num_layersdepth) def forward(self, x): x self.proj(x).transpose(1,2) return self.transformer(x)如有问题可以直接沟通