深度学习

理解和使用深度学习网络

用于信号处理的深度学习

我想介绍Frantz Bouchereau,信号处理工具箱的开发经理,他将深入研究信号处理的深度学习,包括完整的信号处理应用的深度学习工作流。这篇文章比平时更长,但却充满了可操作的信息。享受吧!
介绍
今天我们将重点介绍使用深度学习技术的信号处理应用。深度学习是为图像处理和计算机视觉应用而发展和发展的,但它现在越来越多地成功地用于信号和时间序列数据。深度学习在很多行业都越来越受欢迎,包括(但不限于)以下领域:
这些应用程序的统一主题是,数据不是图像,而是来自不同类型传感器的信号,如麦克风、电极、雷达、射频接收器、加速度计和振动传感器。大信号数据集的收集使工程师能够探索新的和令人兴奋的深度学习应用。

信号处理与图像处理

信号数据的深度学习通常需要预处理、变换和特征提取步骤,而图像处理应用程序通常不需要这些步骤。而大型高质量图像数据集可以用相对低成本的相机创建,信号集更难获得,通常会受到宽带噪声、干扰、非线性趋势、抖动、相位失真和缺失样本造成的大变异性。
虽然您很可能能够成功地将大量高质量的原始图像直接输入网络来训练一个深度模型,但对于有限大小、低信噪比的信号数据集,您可能无法成功地做到同样的事情。

知识与数据

我们并不总是拥有拥有大量信号数据集的奢侈。信号可能很难测量,或者应用可能不容易观察到。例如,考虑预测机器的剩余使用寿命的情况。幸运的是,我们生活在一个大多数机器都能正常工作的时代,因此故障数据不会像健康数据那样普遍。
信号处理应用深度学习的成功与否取决于您的数据集大小、计算能力以及您对数据的了解程度。你可以在下图中看到这一点:
数据集越大、质量越高,您就越接近能够对原始信号数据执行深度学习。类似地,如果您有更高的计算能力,您将能够训练更复杂的网络,以提高性能。
另一方面,如果你理解你的数据,你可能成功地提取关键特征,以提供给传统的机器学习算法,而不需要一个大的数据集和深度网络。这需要更多的信号处理知识,但结果可能令人印象深刻。
在原始信号数据和定制机器学习方法这两个极端之间,有一些有趣的考虑:
  • 一种流行的技术是使用时频变换,以便能够在一个类似于图像分类工作流的预训练卷积神经网络(CNN)上使用迁移学习。看例子
  • 另一种方法是对信号进行预处理,并提取一些特征,通过增加对应用重要的特征的显著性来降低变异性。看例子
  • 另一种技术是使用小波散射来自动提取可能提高学习算法性能的低变异特征集。看例子
注意,添加特征提取步骤还提供了其他优势,比如数据维的降低,可以显著减少训练和处理时间。
限制数据集的另一个解决方案是增加它们,或者使用模拟生成合成信号,我们将在工作流的预处理部分详细讨论。
信号工作流的深度学习
下图描述了用于信号处理应用的典型端到端深度学习工作流。尽管大多数关于深度学习的讨论都集中在预测模型的开发上,但还有其他同样重要的步骤:
接下来,我们将详细介绍每一个步骤,解决当:
  1. 你没有足够的数据,或者恰恰相反的问题:你有太多的数据需要标记。
  2. 特征提取和信号变换需要领域知识。在领域知识有限的情况下,参考体系结构的可用性有助于抢占先机,但这种体系结构在信号处理应用中非常有限。
  3. 在多个平台上部署经过训练的模型不是一件容易的任务,因为它需要C或GPU代码生成。
我还将重点介绍在最新版本中可以使用的新功能。
管理数据
通常,您需要读取信号和标记数据、预处理、转换并从中提取特征,然后将其分解为训练集和测试集,并将其输入模型。
以下是管理信号数据集的具体工具:
  • 数据存储:数据存储可以帮助您从文件中读取信号数据,而不会有内存耗尽的风险。在读取数据时,可以使用数据存储的'transform'方法进行预处理和提取特征。数据存储还将数据集划分为训练集和测试集。根据您的文件类型,有几个数据存储可供选择:例如audioDatastore、fileDatastore和imageDatastore。
信号标签:监督学习问题需要带有地面真值标签的数据集。如果数据集很大,添加标签可能是一个漫长的过程。信号贴标签机应用,在19日(新),帮助标记信号属性、区域和感兴趣的点。然后您可以可视化并及时浏览标签。
  • 合成数据生成和扩充:当您开始使用数据集训练模型时,您可能会发现需要更多的数据来提高准确性或增强健壮性。当记录和标记真实世界的数据是不切实际或不合理的,通过模拟创建合成数据集是一个选择。
    另一种常见的策略是通过对原始数据集应用变化、细微差别和转换来生成额外的信号。例如,在一个由口语单词组成的语音数据集中,您可以获取一个单词的样本,并改变其音调/频率和持续时间,或者您可以添加细微差别,如背景噪声,以有效地将一个数据条目转换为多个新条目。
相控阵系统工具箱提供了模拟行人微多普勒雷达信号的功能(新于19a),可用于自动驾驶应用。

特征可视化、预处理和提取

当您试图确定需要对信号进行何种类型的预处理和特征提取时,常见的第一步是在多个领域可视化和探索信号。
Signal Analyzer应用程序允许您在时间、频率和时频域中浏览信号,提取感兴趣的区域,转换数据并探索预处理步骤。
还有其他的应用程序,包括:
  • 信号多分辨率分析仪,它将信号分解成时间对齐的组件。这允许您只选择重要的信号组件,并使用它们来训练模型。
  • 信号去噪,(包含在小波工具箱),帮助平滑和去噪信号。
所有这些应用程序生成MATLAB代码,然后您可以在交互式确定正确的方法后使用这些代码来处理整个数据集。

变换和提取特征

虽然应用程序使入门更容易,熟悉信号处理工具箱和小波工具箱的用户将知道,我们也有数百个命令行功能,以启用更高级的工作流程。我们有时域特征提取工具,以发现信号模式,检测信号包络和变化点。
有各种各样的谱函数来测量功率、带宽和谐波。
还有时频变换函数,从连续小波变换到Wigner-Ville分布和短时傅里叶变换,这些函数是深度学习应用中常用的。您可以选择最适合您的时间和频率分辨率需要的转换。

还有一些功能可以提取特定于音频和语音、雷达、传感器融合和文本分析应用程序的特征,我们将在以后的帖子中保存这些功能。有关特定信号处理功能的链接可以在这里找到: 小波散射:小波散射网络(新在18a)是一种深度网络,为小波设置了固定的权值。该特征提取器返回低变异特征,可与机器或深度学习模型结合使用,以产生高精度的结果,需要调整的参数很少。小波散射对于非信号处理专家来说是一个很好的选择,因为它可以自动提取相关特征,而不需要对数据的性质有专门知识。为了了解小波散射的作用,这里有一些例子:

代码生成

在19a年,在支持信号处理工作流程的自动C代码生成方面有了显著的进步,包括支持滤波函数、频谱分析和连续小波变换(cwt)。万博1manbetx在19a小波工具箱中还增加了对cwt的GPU代码生成支持。万博1manbetx完整的信号处理和小波支持函数列表在这里(万博1manbetx信号处理工具箱代码生成支持万博1manbetx小波工具箱代码生成支持万博1manbetx).新例子列表最后,要查看信号处理应用深度学习的新示例列表,可以访问以下页面:希望您现在对深度学习的信号处理工作流有了更好的理解,以及我们提供的工具,使它变得更容易。关于深度学习的信号处理有什么问题吗?请在下方留言。

|
  • 打印
  • 发送电子邮件

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。