信号去噪:使用专门设计的神经网络(NN)模型对测量信号进行去噪处理,使信号变得更平滑

信号去噪:使用专门设计的神经网络(NN)模型对测量信号进行去噪处理,使信号变得更平滑_第1张图片

信号预处理

为了对测量数据进行预处理,构建了一个全连接的前馈 NN 模型以将系统输入(即x 和 t)映射到其输出 u。

图显示了用于去噪的 NN 模型的结构。

它在输入层和输出层之间有五个隐藏层,神经元的数量分别为 50、100、500、100 和 50。该模型使用双曲正切激活函数(即 Tanh 函数)。建立均方误差 (MSE) 损失函数来评估测量和模型输出之间的差异。 Adam 优化器用于训练该模型,学习率设置为 0.001。 epochs 的数量设置为 20000。此外,在 NN 模型训练中采用了提前停止策略,以避免过度拟合。为此,将整个数据集分成训练集和验证集,训练与验证的比率为 80% 到 20%。在早期停止策略中,如果验证损失在 500 个 epoch 内没有连续减少(即耐心 = 500),模型训练将停止。将数据拆分为训练集和验证集并采用早期停止策略可防止 NN 过度拟合噪声分量并损害(而不是改善)信号质量。该预处理期望得到一系列平滑的信号。

Burgers 方程为例

Burgers 方程用于描述耗散系统的动力学。

表达式

初始条件,边界条件

 流体粒子的局部加速度,平流加速度,扩散项,

扩散系数(扩散系数要小得多,因此更难以正确识别。)

为了证明 NN 去噪的效果

        在 Burgers 方程的数值解中添加了 10% 的高斯白噪声,这显着改变了解的值(如图 4(b) 所示),因此对下一步计算数值导数提出了挑战。

        (噪声量化)在这项研究中,噪声水平是通过测量变量的标准偏差的百分比来量化的。例如,如果 10% 的噪声被添加到 u,那么结果是 un = u + 10% ∗ std(u) ∗ randn(size(u)) 其中 std(⋅) 计算标准差,randn(⋅)指定维度的高斯白噪声,size(·) 测量维度。

        在没有太多关于噪声特性的先验知识的情况下,应用 NN 建模对噪声测量值进行去噪,处理后的数据在图 4(c)中可视化。比较图 4 中的三个图,可以观察到 NN 去噪在很大程度上降低了收集数据中的噪声水平(从 10% 到 2%),并使解曲线比噪声测量更平滑。此外,将图 4(c) 与图 4(a) 进行比较,可以观察到,在没有过多牺牲有价值的信号分量的情况下实现了噪声抑制。

因此,NN去噪具有提高后续数值微分精度的潜力

 信号去噪:使用专门设计的神经网络(NN)模型对测量信号进行去噪处理,使信号变得更平滑_第2张图片

为了进一步降低稀疏回归中噪声的影响,应用 FFT 将  和 分别转换为频域对应的。在 FFT 之后,实施频率截止以仅保留预期不易受噪声影响的低频分量。

 图 5 (a) 到 (d) 比较了时空域和频域中的相对误差。图 5 (a) 和 (b) 显示了 50% 噪声污染数据与模拟清洁数据之间的差异。可以观察到,在进行 2D FFT 后,低频分量受添加噪声的影响较小。

信号去噪:使用专门设计的神经网络(NN)模型对测量信号进行去噪处理,使信号变得更平滑_第3张图片

 分别是使用干净数据、噪声数据和 NN 去噪数据计算的二阶导数

 

你可能感兴趣的:(神经网络)