关键词识别神经网络

· 浏览次数 : 0

小编点评

**KWS 系统的软硬件实现** KWS 系统主要由卷积循环神经网络 (CRNN) 组成。 * CRNN 通过结合卷积层和循环层来利用局部结构和远程上下文。 * 实验结果表明,CRNN 模型仅使用约 230k 参数,即可产生可接受的低延迟,并在 0.5 FA/小时、5 dB 信噪比下实现 97.71% 的准确 度。 **关键技术** * 卷积层用于提取图像中的局部特征。 *循环层用于捕获全局上下文信息。 * CTC 损失用于优化模型的整体性能。 * CRNN 是一种具有 CTC 损失的循环神经网络架构。

正文

具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI
关键词识别 (KWS) 是人机界面的主要组成部分。 KWS 的目标是在低误报 (FA) 率下最大化检测精 度,同时最小化占用空间大小、延迟和复杂性。为 了实现这些目标,我们研究了卷积循环神经网络 (CRNN)。受到大规模最先进语音识别系统的启发, 我们结合了卷积层和循环层的优势来利用局部结构 和远程上下文。我们分析了架构参数的影响,并提 出了提高性能的训练策略。我们的 CRNN 模型仅使 用约 230k 参数,即可产生可接受的低延迟,并在 0.5 FA/小时、5 dB 信噪比下实现 97.71% 的准确 度。

受人类彼此交互最常见方式的推动,对话式人 机界面在众多应用中变得越来越流行。高性能 语音到文本转换和文本到语音转换构成了此类 接口的两个重要方面,因为大多数计算算法都 是针对文本输入和输出而开发的。会话界面的 另一个重要方面是关键字识别(KWS)M也 称为唤醒词检测,以根据用户提供的语音输入 实现不同计算状态之间的转换。 KWS 系统旨在 从连续的音频流中检测特定的关键字。由于它 们的输出决定了设备的不同状态,因此极高的 检测精度和极低的误报 (FA) 率对于实现令人满 意的用户体验至关重要。典型应用存在于受到 背景音频、混响失真以及嵌入 KWS 的设备的扬 声器产生的声音干扰的环境中。 KWS 系统应该 在这种广泛的情况下表现出强大的性能。此 外,计算复杂性和模型大小是 KWS 系统的重要 关注点,因为它们通常嵌入内存和计算资源有 限的消费设备中,例如智能手机或智能家居传 感器。

已经有数百万台设备配备了嵌入式 KWS 系统。 KWS 的传统方法基于带有序列搜索算法的隐马尔 可夫模型 。随着深度学习的进步和可用数据量 的增加,最先进的 KWS 已被深度学习所取代基于学习的方法由于其卓越的性能。基于深度 学习的 KWS 系统通常使用深度神经网络 (DNN) 与压缩技术 或多风格训练方法相结 合。 DNN 的潜在缺点是它们忽略输入的结构和上 下文,并且音频输入在时域或频域中可能具有很强 的依赖性。为了通过共享权重利用此类局部连接模 式,人们对 KWS 探索了卷积神经网络 (CNN) 。 CNN 的一个潜在缺点是,如果没有宽过滤 器或大深度,它们无法对整个帧的上下文进行建 模。与前面提到的具有交叉熵 (CE) 损失的 DNN 和 CNN 模型 不同,循环神经网络 (RNN) 还 研究了具有联结时间分类 (CTC) 损失的 KWS 。然而,考虑到此类系统的应用目标雄心勃 勃,无法在低 FA 率下获得高精度。与 DNN 类 似,RNN 的潜在局限性是建模是根据输入特征完 成的,而不需要学习连续时间和频率步骤之间的结 构。最近,提出了一种具有 CTC 损失的卷积 循环神经网络(CRNN)架构。然而,尽管模型尺 寸很大,与 RNN 类似,但无法在低 FA 率下获得 高精度。在本文中,我们专注于开发一个生产质量的 KWS 系 统,使用带有 CE 损失的 CRNN,用于小足迹模型, 应用于单个关键字。我们的目标是结合 CNN 和 RNN 的优势,并在训练过程中应用额外的策略来提高整体 性能,同时保持较小的占用空间。

受到成功的大规模语音识别系统 [12-14] 的启发,我 们专注于规范的 CRNN 架构。为了使这些架构适应 小规模 KWS,模型大小需要缩小两到三个数量级。 我们将分析缩小模型尺寸时不同参数对性能的影响。图 1 显示了带有相应参数的 CRNN 架构。原始时域输入被转 换为每通道能量归一化 (PCEN) 梅尔谱图 [8],以实现简洁的 表示和高效的训练。 (我们尝试过的其他输入表示结果更糟大小相当的模型架构的性能。)二维 PCEN 特征作 为卷积层的输入,卷积层在时间和频率维度上采用 二维滤波。卷积层的输出被馈送到双向循环层,其 中可能包括门循环单元(GRU)[15]或长短期记忆 (LSTM)单元[16]并处理整个帧。循环层的输出被 赋予全连接(FC)层。最后,对两个神经元应用 softmax解码,以获得相应的标量分数。我们在所 有层中使用修正线性单元作为激活函数。

在语音识别中,具有循环层的大规模架构通常使用 CTC 损失的变体来解码最可能的输出标签。除了由 于目标的条件独立性假设导致的建模限制之外, CTC 损失具有很高的计算复杂性,并且通常只有当 模型容量足够大以有效地从大型数据集中学习时才 能产生良好的性能。由于我们专注于小足迹架构, 因此选择在训练期间优化的损失函数作为估计和目 标二进制标签的 CE 损失,指示帧是否对应于关键 字。 我们使用算法 1 中所示的启发式算法获得关键字的 开始和结束时间。在切割关键字以覆盖边缘情况时 添加额外的短填充。获得的比对精度明显超出了人 类感知的时间尺度。

我们为关键字"TalkType"(可以发音为单个单词 或两个单词)开发 KWS 系统。我们选择 T = 1.5 秒 的帧长度,该长度足以捕获"TalkType"的合理发 音。使用 16 kHz 的采样率,每帧包含 24k 个原始 时域样本。获得了 10 ms 步幅和 40 个通道的相应 PCEN mel 频谱图,产生 40 × 151 的输入维度。整 个数据集由从 5k 多个说话者收集的约 16k 个不同样 本组成。数据集按照 6-1-1 的比例分为训练集、开发 集和测试集。通过应用加性噪声来增强训练样本, 其功率由从 [-5,15] dB 间隔采样的信噪比 (SNR) 确 定。加性噪声是从具有代表性的背景噪声和语音的 数据集中采样的,总长度超过300小时。为了提供针 对对准误差的鲁棒性,还通过引入随机定时抖动来 增强训练样本。我们使用ADAMoptimization算法 进行训练[17],批量大小为64。学习率最初选择为 0.001,后来降至0.0003。我们的评估考虑了一个流场景,这样对持续时间为 T 的重叠帧执行推理。帧之间的偏移选择为 100 ms(理想情况下应比频谱图步幅长得多,并且比推 理延迟短得多 - 有关更多详细信息,请参阅第 3.2 节) )。我们关注的指标是每小时的错误拒绝率 (FRR) 和错误警报 (FA),通常将后者固定在所需 值,例如 1 FA/小时 [7]。噪声被添加到开发和测试 集中,其大小取决于 SNR 值。我们注意到,收集的 样本已经有噪声,因此如果精确定义为承载信息的 信号与噪声的功率比,则实际 SNR 会较低。与我们 对训练集的增强类似,负样本和噪声数据集是从代 表性背景噪声中采样的,并且演讲。

实验结果如下

与关键词识别神经网络相似的内容:

关键词识别神经网络

具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI 关键词识别 (KWS) 是人机界面的主要组成部分。 KWS 的目标是在低误报 (FA) 率下最大化检测精 度,同时最小化占用空间大小、延迟和复杂性。为 了实现这些目标,我们研究了卷积循环神经网络 (CRN

快速了解DevSecOps:构建安全软件开发的基石!

## 关键词 - DevSecOps — 在不影响敏捷性的前提下,将安全充分融入到SDLC的所有环节中 - SDLC—软件交付生命周期 - SCA—软件组成分析-用于识别和检测软件中使用的开源/第三方组件的已知安全漏洞 - SAST—静态分析安全测试 - DAS—动态分析安全测试 - IAST—交互

基于毫米波的人体跟踪和识别算法

具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI 准确的人类活动识别(HAR)是实现新兴的上下文感知应用程序的关键,这些应用程序需要了解和识别人类行为,例如监测独居的残疾人或老年人。传统上,HAR是通过环境传感器(例如,相机)或通过可穿戴设备(例如,具有

【ASP.NET Core】标记帮助器——元素筛选

前一篇中老周从标记帮助的底层介绍关键性的接口,如 ITagHelper ,它是一个标志,用于识别哪些类属于 Tag Helper。 标记帮助器毕竟是针对 HTML 标记的,所以得筛选。说白了就是我写的这个帮助器在哪些 HTML 标记上起作用。这就需要拿出一个特性类。 [AttributeUsage(

Python colorama 设置控制台、命令行输出彩色文字

为了方便调试代码,经常会向stdout中输出一些日志,但是大量日志,有时不好定位问题。 使用终端打印特定颜色字符串,可以突出显示关键性的信息,帮助用户更好地识别和理解输出内容。 https://pypi.org/project/colorama/ Colorama 是为了在命令行界面中提供简单、方便

Web攻防--Java_SQL注入--XXE注入-- SSTI模板注入--SPEL表达式注入

预编译 编译器在编译sql语句时,会依次进行词法分析、语法分析、语义分析等操作, 预编译技术会让数据库跳过编译阶段,也就无法就进行词法分析,关键字不会被拆开,注入语句也就不会被识别为SQL的关键字,从而防止恶意注入语句改变原有SQL语句本身逻辑。 Java_JDBC注入 在使用JDBC进行数据库操作

探究:普通人都是怎么入门编程

前景提要 很多人想要入门编程语言,但是,费了九牛二虎之力为什么还是学不会,最终导致从入门到放弃,不过是一瞬间,其实,入门的关键是选择对了核心要学习的知识,而不是盲目的那本书,然后,开始看天书一样的费劲破解这本书,书上的内容就像谜语一样,而你掌握的线索不足以让你识别书上的谜语,这样的结果就是你永远无法

从数据链路到神秘的MAC地址和ARP协议

在当今互联世界中,数据的传输和通信是不可或缺的。然而,你是否曾想过,在网络通信中隐藏着哪些神秘的秘密?本文将带你深入探索数据链路层、MAC地址和ARP协议的奥秘。数据链路层是网络通信中的关键一环,负责将数据包封装为帧并进行传输。而MAC地址作为设备的唯一标识符,扮演着识别节点的重要角色。而ARP协议则解决了从IP地址到MAC地址的映射问题,确保数据的准确传输。通过揭开这些网络通信的神秘面纱,你将更

AI开发实践:关于停车场中车辆识别与跟踪

摘要:本案例我们使用FairMOT进行车辆检测与跟踪、yolov5进行车牌检测、crnn进行车牌识别,在停车场入口、出口、停车位对车辆进行跟踪与车牌识别,无论停车场路线多复杂,小车在你掌控之中! 本文分享自华为云社区《AI寻车》,作者:杜甫盖房子。 本案例我们使用FairMOT进行车辆检测与跟踪、y

[转帖]虚拟化: 物理CPU与VCPU的关系 || 内存上限说起 VMware内存分配初探

本文章整合了一下(vSphere&FusionSphere)内存的相关知识: 1.虚拟化CPU与VCPU关系 2.虚拟化的内存分配 1、vSphere 物理CPU与VCPU的关系 为方便识别虚拟的资源和物理(或叫真实的)资源,本人文章中以小写字母v前缀标识虚拟资源,小写字母p前缀标识物理资源。例如: