深度学习

理解和使用深度学习网络

使用MATLAB启动您的DCASE挑战2021

以下帖子来自Brian Hemmat,MathWorks的音频信号处理开发人员。

声学场景和事件的检测和分类(DCASE)社区创建了一个年度研讨会和一系列活动,通过汇集来自学术和行业背景的研究人员,推进计算场景和事件分析的最先进水平。

每年,新的和更新的数据集和比赛都会发布探索不同的应用,要求和目标。今年,DCASE 2021任务1A挑战是执行低复杂性声学场景分类,这些分类对于各种录制设备(例如Studio - 优质麦克风等)和智能手机和摄像机中的挑战。目标是将音频分为10个声学场景之一,如机场,地铁站,乘电车旅行或公共广场。从布拉格,巴黎和巴塞罗那等城市收集样品。

在matlab中创建基线

任务1A的官方基准在Python中释放,使用TensorFlow进行深度学习,并使用提供的DCENT实用程序工具箱进行预处理。

我重新实现了Matlab的基线。MATLAB实现包含在单个脚本中,使非专家易于探索数据,了解基线实现,并修改其提交。Matlab中的音频工具箱提供了提取音频功能的功能和应用程序(audioFeatureExtractor)和扩充数据(audiodataAugmenter.),便于探索对系统的修改。

部分挑战是开发一个具有128kb非零参数上限的模型。这可以通过首先开发一个小模型来实现,通过修剪模型,或者通过将用于训练的标准32位浮点量化为更小的位数来实现。这个MATLAB基线代码利用了dlquantizer对象并量化网络与深度学习工具箱模型量化库一起使用8位整数。

注意:如果您没有访问MATLAB,Deep Learning Toolbox和Audio Toolbox,则可以获得免费30天试用

量化基线

应用量化是一种直接的任务dlquantizer.要使用它,您需要指定要校准的网络和执行环境,然后使用校准数据进行校准。

quantObj = dlquantizer(净,ExecutionEnvironment, GPU);

dlquantizer对象需要图像数据存储来执行校准。包装特性和标签AugmentedimageGedataStore.对象。

augsimdstrain = upmentedimageageataStore([Numfeatures,Numhops],训练厂,大教训);augsimdstest = augmentedimageageatory([numfeatures,numhops],testfeatures,testlables);

使用培训集来校准dlquantizer对象。

calResults =校准(quantObj augimdsTrain);

有一点要记住:目前,dlquantizer不支持audioD万博1manbetxatastore输入。要将它与基于音频的数据(在本例中是mel光谱图)一起使用,必须将训练数据放在内存中,然后将其包装为一个增强的dimagedatastore,如上面的代码所示。然后,指定扩展的dimagedatastore作为校准网络时使用的校准数据。

Mel声谱图为音频数据提供可视化

使用的一个优点是dlquantizer它量化为int8,这是一种可以部署到许多嵌入式系统的低精度数据类型。它以最小的精度损失实现了这个量化结果,有效地创建了与量化为float16的Python基线相同的网络。

展示深层网络量化器应用程序的行动。您可以使用的应用程序版本dlquantizer快速查看哪些层被量化,以及基于数据集的权重、偏差和激活的动态范围

开始的工具

本基线代码的目标是激励您对Matlab中这种有趣的挑战的解决方案。音频工具箱中的扩展功能可用于JumpStart您的设计探索。结果是更小,更包含的基线,更容易改善。虽然Python基线量化为Float16,但INT8提供更较小的推理模型。

基线正在开启GitHub.你可以下载免费试用Matlab。

我们希望这一基准能鼓励新成员加入DCASE社区,参与每年的比赛,并推进最先进的技术。

下载代码或叉子,然后开始!如果您在下面的评论中有任何疑问,请告诉我。

|
  • 打印
  • 发电子邮件

评论

要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。