CNN 深度学习框架下 CWT 时频图的特征映射机制研究

1. CWT 时频图基础

连续小波变换(CWT)将一维信号转换为二维时频表示: $$W(a,b) = \frac{1}{\sqrt{|a|}} \int_{-\infty}^{\infty} s(t) \psi^*\left(\frac{t-b}{a}\right) dt$$ 其中:

  • $s(t)$ 为原始信号
  • $\psi(t)$ 为小波母函数
  • $a$ 为尺度参数(控制频率)
  • $b$ 为平移参数(控制时间)

CWT 时频图本质是二维矩阵,横轴表示时间,纵轴表示尺度(对应频率),像素强度表示能量分布。

2. CNN 特征映射机制

在 CNN 框架下,特征映射通过卷积层实现:

import torch.nn as nn

class ConvBlock(nn.Module):
    def __init__(self, in_channels, out_channels):
        super().__init__()
        self.conv = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1)
        self.relu = nn.ReLU()
        self.pool = nn.MaxPool2d(2)
    
    def forward(self, x):
        x = self.conv(x)  # 特征提取
        x = self.relu(x)  # 非线性激活
        return self.pool(x)  # 降维

特征映射过程:

  • 浅层卷积:提取局部特征(如时频图中的边缘、纹理)
  • 深层卷积:组合低级特征形成高级特征(如频率模式、时间结构)
  • 池化层:保留显著特征并降低维度
3. 特征映射特性分析
网络层级 特征类型 物理意义
Conv1 局部时频结构 瞬时频率变化点
Conv2 频率带响应 特定频段能量聚集区
Conv3 全局模式 信号周期性/瞬态特性

特征映射的核心优势:

  • 平移不变性:卷积核在时频平面滑动检测特征
  • 层次化抽象:从$低级纹理$到$高级语义$的渐进式提取
  • 参数共享:相同卷积核处理所有时频区域
4. 优化策略
  1. 多尺度卷积
    nn.ModuleList([
        nn.Conv2d(1, 16, kernel_size=(5,20)),  # 宽时间核
        nn.Conv2d(1, 16, kernel_size=(20,5))   # 宽频率核
    ])
    

  2. 注意力机制
    • 通道注意力:增强重要频带响应
    • 空间注意力:聚焦关键时域区域
5. 实验验证方法
  • 特征可视化:通过反卷积显示激活区域
    def visualize_activation(model, layer_idx, input):
        activation = model[:layer_idx](input)
        return torch.nn.functional.interpolate(activation, scale_factor=4)
    

  • 消融实验:比较不同卷积核尺寸$(3\times3$ vs $5\times5)$对分类准确率的影响
  • 敏感性分析:计算特征图对输入扰动的梯度$\frac{\partial \mathcal{L}}{\partial x}$
6. 应用场景
  1. 故障诊断:轴承振动信号中冲击特征的映射
  2. 生理信号分析:ECG 信号中 PQRST 波群的时空定位
  3. 语音识别:共振峰结构的层次化提取

研究趋势:结合图卷积网络(GCN)处理非欧式时频结构,利用$图神经网络$建模时频点之间的拓扑关系。

更多推荐