tag 标签: 语音识别

相关帖子
相关博文
  • 2024-11-3 09:16
    0 个评论
    有用户反馈离线语音识别不灵敏,跟着笔者一起分析原因吧。笔者知识能力有限,难免会误,还请大家批评指正。 1 影响离线语音识别的因素 笔者分析离线语音识别不灵敏的原因有以下几点 1.1 运行硬件的算力限制 由于离线语音识别在本地MCU进行,受限于MCU的计算能力和存储空间,无法像在线识别那样依赖云端的强大计算资源。此外,离线语音识别缺乏实时的数据更新和优化,导致其对新词汇和口音的适应能力较弱‌。虽然我们的S100D离线语音识别内置高性能 主频160Mhz的RISC-V CPU + NPU + DSP,在同类MCU里是性能很强了,但相较于服务器强大算力的GPU是弱的。离线语音识别IC,训练的模型语料库也没有运行大模型的服务器那么丰富,一般只有精简的标准普通话。 1.2 固定词条、识别率稍低 ‌离线语音识别技术将词条储存于本地设备中,由于本地存储空间有限,设置的词条内容也会受到限制。例如,如果储存的词条只有“关灯”这个命令,那么用户说“把灯关了”则无法执行,因为在数据库中找不到对应的词条命令‌ 1.3 用户使用环境影响 背景噪音、说话人的距离和方位都会影响语音信号的质量,从而降低识别率。在嘈杂的环境中,离线语音识别尤其容易受到干扰,导致识别不准确‌。 1.4 硬件问题 上面说了一些客观原因,有人会说,笔者在找借口了。下面我们来分析一下主观原因。 电源纹波,供电电路走线方式、Mic布线走线方式,也会影响识别效果,例如下面电路走线方式,就有点不合理,后面我们如何合理走线。 还有Mic增益和信噪比,也会影响识别率。增益小拾取声音也小,增益大了,声音大的同时,噪声也变大了。 1.5 语速和方言口音影响 语音太快或太慢,和方言口音都会影响语音识别,因为我们的离线语音的模型是基于正常语速的标准普通话训练的。 2 改善语音识别策略 了解影响离线语音识别的因素,下面我们看看如何改善和提升识别率。 ‌2.1 优化声学模型和语言模型‌ 通过深度学习算法,声学模型可以将语音信号转换为音素序列,而语言模型则将音素序列转换为文字。优化这两个模型可以提高识别的准确性和灵敏度‌。 ‌2.3 使用高性能的语音芯片‌ 高性能的语音芯片可以提供更快的处理速度和更高的识别精度,从而提升离线语音识别的灵敏度‌。 ‌2.3 采用轻量级NLP技术‌ 例如“离线自然说”,通过语义协议和语音识别构图结合,实现对指令的泛化理解,支持多种说法,提高识别的灵活性和准确性‌。 3 离线语音识别的应用场景和优势 离线语音识别技术在多个领域有广泛应用,如智能家居、智能车载和智能物联设备。其优势包括: ‌3.1 独立性‌ 不需要网络连接,适用于无网络或网络不稳定的场景‌3。 3‌.2 隐私保护‌ 数据不经过云端,更好地保护用户隐私‌。 ‌3.3 实时性‌ 对需要即时反馈的应用提供更好的用户体验‌。 4总结 通过以上方法和技术改进,可以有效提升离线语音识别的灵敏度和准确性,满足更多应用场景的需求。
  • 热度 2
    2023-10-27 18:12
    265 次阅读|
    0 个评论
    一.使用场景 夏天某个凉爽的早晨,当你躺在床上玩着手机,突然一阵困意袭来,原来已经中午了,此时你一个侧身准备休息,突然发现一阵酷热袭来,你定睛一看,原来是风扇没有打开,这个睡姿很舒服你又不想起床怎么办?此时如果你有一个智能语音风扇,你只需要说一句打开风扇即可。关于语音识别这个功能,市面上有多家公司开发有关离线识别的芯片和算法,可是识别效果不是很理想,但是思必驰是例外,该公司的芯片唤醒率和识别率均高于市场同行,抗噪音的能力也非常优秀。 二.思必驰芯片简介 本文主要介绍思必驰股份有限公司推出的一款离线语音识别芯片。该芯片是根据智能语音交互市场需求及思必驰算法的发展方向定义开发的“芯片+算法”人工智能人机语音交互解决方案,具有高性能、低功耗、低成本、高识别率、低误触发率、远距离唤醒、更强的抗噪能力、更快的响应时间、项目快速落地等优秀的特点。 该芯片通过软硬融合的方法,具备快速赋予各类设备语音交互的能力,赋予设备“听”和“说”的能力,从用户说出命令到执行命令只需要0.2-0.6秒的时间,极大的提高了用户体验和产品灵活性。 三.产品特色 2.词条自定义 思必驰的智云译芯平台,可以让客户自定义属于自己的词条,还可以配置不同情况下MUC的动作,不需要懂编程即可完成配置。同时平台提供10种音色供客户选择。 3.产品品类 已落地多种品类的项目。如:遥控器、空调伴侣、取暖桌、油烟机、茶吧机、集成灶、晾衣架、按摩椅、风扇、灯具、净水器、热水器等等项目。只有你想不到,没有我们做不到。 4.处理器 ●32位处理器,支持FPU ●运行频率:240MHZ ●内置2MB Flash 5.外设 该芯片有丰富的外设,有13个IO供客户二次开发使用,可以替代大部分市面上的MCU,为客户节省成本,替换MCU的同时,增加了语音识别功能。 该芯片具有丰富的外设,USB1.1,4个16位定时器,三个16位PWM发生器,三个全双工串口,两个SPI接口,一个IIC接口,内置触摸按键控制器,10位ADC模拟器,所有GPIO支持外部中断/唤醒。 6.蓝牙 支持蓝牙V5.3+BR+EDR+BLE规范,发射功率+6dB,接收器最小灵敏度-90dB。可以制作配套小程序。 外部电路简单,如果客户不需要播报应答语,还可以省一个功放。 四、思必驰的优势 在上诉介绍中可以看到,思必驰的识别效果更好,价格美丽。一定情况下还可以替换MCU。 随着智能家居市场扩大和消费者需求增加, 深圳雷龙发展 专注于行业语音交互器件标准化,致力于简化复杂事物,提供快捷的语音、智能物联网应用解决方案。我们的产品价格便宜、实用简单,适合中小型批量生产,小数量生产也可及时拿货,满足大多数用户的产品使用需求。质量有保障,提供免费技术服务、免费打样。同时,为减少客户测试时间,我们还提供功放模块。
  • 热度 11
    2023-6-29 16:27
    1060 次阅读|
    0 个评论
    电视语音助理谁好用 实测结果大公开!(下)
    Allion Labs / Franck Chen 在 上一篇 文章中,我们大致介绍了目前主要的语音助理应用、未来发展趋势、潜在风险以及百佳泰的测试能量。本篇将分享评测结果与分析。 如同上篇所提到的测试规划如下: 语音助理响应速度与稳定度测试 语音助理执行率与正确率测试 – 简单情境 语音助理执行率与正确率测试 – 普通情境 语音助理响应速度与稳定度测试 测试情境 – 在电视主画面(Home Screen)下,按下 。 – 电视显示语音助理接口。 测试项目 从 “按下 ” 到 “电视显示完整语音助理接口” 之时间。反复执行操作,总计执行300次。 量测结果 结果分析 平均响应速度: ⇨ 表现最佳为 Amazon TV – Alexa , 是唯一低于反应灵敏建议值(1,000 ms)以内的组别,整体反应含UI呈现都相当灵敏与直觉。 ⇨ 表现最差为 LG TV – AI ThinQ , 许多数据已贴近或大于1,500 ms,达到足以令人察觉到有点延迟的临界值,其整体流畅度有待提升。 相同语音助理在不同电视操作系统之比较: 以Alexa为例,在Samsung TV上平均1,234 ms的表现远不及于在Amazon TV上平均446ms的表现,因此可以推断整体响应速度主要还是受到该电视效能与设计上的影响, 并非同一个语音助理系统在不同系统上的表现都会一样 , 消费者在选购时应特别留意。 语音助理执行率与正确率测试 – 简单情境 测试情境 – 在电视主画面(Home Screen)下,按下 唤醒语音助理。 – 语音输入“Go to YouTube”后等待10秒 – 按下 key回到电视主画面Home Screen。 测试项目 – 语音助理是否能正确唤醒。 – YouTube是否能透过语音助理正确开启。 量测结果 (300 次 ) 在使用百佳泰开发的 ACSTS 测试套件 执行测试下轻松得到测试结果,若是透过一般人工检测难以发现此潜在问题,更遑论取得关键log进行分析与改善。 结果分析 表现总评 ⇨ 表现最佳为 Samsung TV-Bixby/Alexa 。 每一个组别的语音助理执行率与正确率皆有达到要求95%以上,其中又以Samsung TV-Bixby/Alexa表现最佳,没有出现任何错误。 ⇨ 表现最差为 Amazon TV-Alexa , 总计出现了最多错误(6次),并且有连续4次发生“语音助理没有唤醒”的严重问题,绝对会让消费者有不好的使用体验。 相同语音助理在不同电视操作系统之比较 ⇨以Alexa为例,在Samsung TV上的表现优于在Amazon TV上的表现,同样呼应 之结果, 并非同一个语音助理在不同电视系统上的表现都会一样 。 ⇨可能影响的因素包含各家遥控器的收音能力、语音数据传输能力、电视系统/UI设计、抗干扰能力….等等因素而造成语音助理整体表现上的落差。 厂商在开发时不能只依赖语音助理本身的能力,而是要搭配使用者实际的情境应用做全方位的模拟测试。 问题摘要 Sony TV-Google Assistant 数次出现辨识到语音指令”go to YouTube”,但是下一刻却又无所适从的窘况。 Amazon TV-Alexa 出现几次语音助理启动后,却执行错误的问题。 仅执行上面简单的情境验证便产生了一些问题和差异化,以下透过复杂一点的使用者情境进一步实测,其结果会是如何呢? 语音助理执行率与正确率测试 – 普通情境 测试情境 – 将电视 关机后等待 5 分钟 – 将电视 开机后等待 30 秒 – 按下 按键,语音输入“Open Netflix”后等待10秒 – 按下 按键,语音输入“Go to YouTube”后等待30秒 → Go to 测试项目 – : 语音助理能正常唤醒、Netflix能透过语音助理正确开启…1stAccuracy – : 语音助理能正常唤醒、YouTube能透过语音助理正确开启…2ndAccuracy 量测结果 (100 次 ) 结果分析 表现总评 ⇨ 表现最佳为 Amazon TV – Alexa 、 Sony TV – Google Assistant 。 两者表现不分轩轾,开机后第一个语音执行正确率都有达到标准,而第二个语音执行甚至没有任何错误发生。 ⇨ 表现最差为 LG TV – AI ThinQ 、 Samsung TV – Bixby LG – AI ThinQ 第一个语音指令执行正确率仅有76%,第二个语音指令执行正确率虽有提升至82%,但距离标准95%仍有一大段距离。主要问题除了”语音助理没有唤醒”外,也发生多次”可进行语音识别,但执行结果错误”的问题: Samsung TV – Bixby 第一个语音指令执正确率只有 1% ,主要原因是即使在电视 开机后等待 30 秒 ,唤醒语音助理时仍然都显示为 loading 中的相关讯息而无法使用(左下图),导致第一个语音指令几乎全都失败。有时候即使已显示“Go on, I’m ready”的信息接口(右下图),但实际上没有辨识功能。 第二个语音指令执行正确率有大幅提升至 91% ,但因为发生了多次语音助理在有唤起的状态下(左下图),却发生无法辨识或无法执行的问题(右下图),让整体执行正确率仅剩91%低于需求的95%以上。 测试总结与目前排名 目前的排名由 Amazon TV-Alexa 取得领先,而 LG- AI ThinQ 则是处于落后局面。 进阶测试与分析 由于LG-AI 、SAMSUNG Bixby这三台在普通情境出现严重问题,基于实验精神,我们进一步将这三台做进阶测试以利分析原因。我们将 当中的” 将电视开机后等待30秒”延长至40秒及60秒进行验证。 结果分析 LG – AI ThinQ 将开机后等待时间延长至40秒、60秒后,无论是第一或第二个语音指令,整体正确率并无明显提升仍低于要求的95%。显示电视关机/开机后整体处理程序影响到了语音助理的功能性。 Samsung TV – Bixby 将开机后等待时间延长至 40 秒 后 ⇨第一个语音指令:语音助理loading时间过久的问题大幅减少,然而伴随而来的问题是语音助理无法识别语音, 造成整体正确率仍是 0% 。 ⇨第二个语音指令:语音助理无法辨识的问题大幅减少,但整体89%的正确率仍低于要求标准(95%)。 将开机后等待时间延长至 60 秒 后 ⇨第一个语音指令:语音助理loading时间过久的问题仅剩1次,然而伴随而来的是语音助理无法识别语音, 造成整体正确率仍是 0% 。 ⇨第二个语音指令:语音助理无法辨识的问题仅剩2次,整体正确率提升至97%合乎标准(95%)。 Samsung TV – Alexa 将开机后等待时间延长至60秒的情境验证在Samsung-Alexa ⇨第一个语音指令:发生了语音助理无法唤醒或是可进行语音识别,但执行结果错误的问题,造成 整体正确率同样是 0% 。 ⇨第二个语音指令:没有发生任何问题, 语音指令执行正确率大幅提升至 100% 由上述验证几乎可以得到一个结果即是,该Samsung TV无论是使用Bixby或是Alexa在关/开机后的第一次的语音助理功能皆有问题,对比Amazon TV-Alexa的实测结果,再次证明 并非同一个语音助理在不同电视系统上的表现都会一样 ,无论您是语音助理系统厂商或是电视制造商在开发阶段或是消费者在选购上都应特别留意此部分 。 还在为产品负评烦恼吗 ? 从以上简单的实验案例可以了解到,若要 执行精确量测 以及提早在产品上市前拦截 机率性严重问题 ,除了需要善用 自动化工具 外, 情境设计 也是至关重要的一环,两者缺一不可。
  • 热度 12
    2022-1-6 11:58
    1948 次阅读|
    0 个评论
    来源:地平线HorizonRobotics 语音识别技术,也被称为自动语音识别Automatic Speech Recognition (ASR),其目标是将人类语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。 智能硬件行业的不断发展,对计算机深度学习能力提出了更大的挑战。为了满足人工智能技术快速产品化的诉求,进一步提升用户体验,未来的智能终端必须具备出色的与人交流、沟通的能力。人工智能产品这种交互功能的实现是与语音解码器技术密切相关的。本期“大牛讲堂”主讲潘复平博士将为我们科普“语音识别专题”之语音解码技术。 什么是语音识别解码器技术?地平线潘大牛带你飞~︿( ̄︶ ̄)︿ 基本原理 当前主流的语音识别系统多基于统计理论的贝叶斯准则。其典型框架一般包含前端处理、声学模型、语言模型、解码器和后处理等五个基本模块。解码器模块主要完成的工作包括:给定输入特征序列 的情况下,在由声学模型、声学上下文、发音词典和语言模型等四种知识源组成的搜索空间(Search Space)中,通过维特比(Viterbi)搜索,寻找最佳词串 使得满足 (1.1) 通过贝叶斯公式,公式(1.1)可以改写为: (1.2) 其中,分母项 与 无关,被省略。除了上述最优路径,如果在Viterbi搜索中还保留了次优路径,则解码器可同时产生包含多候选识别结果的词图。 引入隐马尔可夫模型和N元文法语言模型,公式(1.2)可表示为: (1.3) 其中 为单词的状态转移序列, 为状态转移概率。 公式(1.3)中,已经引入了Viterbi最大近似假设,这个假设会带来一定的精度损失,但是其运算量却大大降低了。在解码过程中,各种解码器的具体实现可以是不同的。按搜索空间的构成方式来分,有动态编译和静态编译两种方式。关于静态编译,是把所有知识源统一编译在一个状态网络中,在解码过程中,根据节点间的转移权重获得概率信息。 由AT&T提出的Weighted Finite State Transducer(WFST)方法是一种有效编译搜索空间并消除冗余信息的方法。就动态编译而言,只是预先将发音词典编译成状态网络构成搜索空间,其他知识源在解码过程中根据活跃路径上携带的历史信息动态集成。 按搜索算法的时间模式来分,有异步与同步两种方式。时间异步的搜索算法通过栈解码器(Stack Decoder)来实现。时间同步的方法就是常说的Viterbi解码。基于树拷贝的帧同步解码器是目前比较流行的方法。下面将针对搜索空间的两种构成方式与帧同步解码算法作进一步详细介绍。 动态解码网络 动态解码网络仅仅把词典编译为状态网络,构成搜索空间。编译的一般流程为:首先把词典中的所有单词并联构成并联网络;然后把单词替换为音素串;接着把每个音素根据上下文拆分为状态序列;最后把状态网络的首尾根据音素上下文一致的原则进行连接,构成回环。这样编译出来的网络一般称为线性词典(Linear Lexicon)(如图2 - 1),它的特点是每个单词的状态序列保持严格独立,不同单词的状态之间没有节点共享,因此内存占用比较大,解码过程中的重复计算比较多。 为了克服这些缺点,一般把单词首尾发音相同的部分进行合并,称为树型词典(Tree Lexicon)(如图2 - 2)。由于大量相同状态的节点被合并在一起,因此可以显著降低搜索空间的规模,减少解码过程的运算量。 图2-1 线性词典示例 图2-2 树形词典示例 基于树拷贝的动态规划搜索算法 在树形词典构成的搜索空间中进行动态解码,如果使用N-Gram语言模型,当前词 的ID只有在搜索到达树的叶子节点时才能知道。这样,语言模型的概率只有在达到N-Gram中第N个单词的结束状态后才能集成。为了能够应用动态规划准则,常用的做法是采用“树拷贝”(Tree Copy)的方式来组织搜索空间:对于每个前驱词历史 ,我们引入词典树的一份拷贝,这样在搜索的过程中,当单词结束的假设出现时,我们总能够知道它的前驱词历史 。为了方便描述,下面以Bi-Gram语言模型为例介绍解码搜索算法。 基于树拷贝的解码搜索需要用到动态规划(Dynamic Programming,DP)算法。动态规划的主要意图是把一个全局最优问题的求解分解为小的局部问题并且形成递归联系。下面首先引入两个变量的定义: • 表示时刻t到达前驱词为v的词典树状态s的最佳部分路径得分。 • 表示时刻t到达前驱词为v的词典树状态s的最佳部分路径起始时间。 这两个变量的计算可以采用如下的迭代公式: (3-1)&(3-2) 这里 表示前驱词为v时假设(t, s)的最佳前驱状态。后向指针 只是简单的根据动态规划的决策进行传播。 在词的边界,我们需要为每个单词w找到它的最佳前驱词v。为此我们定义: (3-3) 这里 表示词典树中单词w的结束状态。为了能够向下一个单词传播路径假设,我们需要在处理时刻t的数据帧前传递分数和时间索引: (3-4)&(3-5) 算法的流程见表3-1。从表中可以看出,DP递归包含两个层次: 声学层,主要是处理词内部一些假设的重新组合; 词对层,处理Bigram语言模型的使用。 该搜索过程是一个时间同步宽度有限的搜索策略。为了降低存储量的需要,可以引入一个回溯数组用于记录在每一个时间帧的词边界(v, w)和它们的开始时间。在句子的结束处,通过对回溯数组的一些查找操作可以很轻松地获得识别出来的单词序列。 束剪枝 对于大词表连续语音识别中的完全DP搜索,在每个时间帧,DP递归程序面临巨大数目的HMM状态。如果采用一定的剪枝策略,则可以把计算量降低,同时保证识别率基本不下降。常用的剪枝操作主要从如下三个方面进行: • 全局累计概率剪枝 根据搜索空间中所有活跃路径累计概率的最大值,设定一个门限,把累计概率小于该门限的那些路径裁剪掉。 • 语言模型剪枝 当活跃路径到达单词末尾后,可以取得单词ID,同时在累计概率中加入语言模型得分。由于语言模型概率的加入,增大了不同路径间的概率区分性,因此可以把到达词尾的路径归集在一起,根据累计概率最大值设置门限,把累计概率小于门限的那些路径裁剪掉。 • 直方图剪枝 这种剪枝方法是绘制活跃路径累计概率的直方图分布,然后根据事先设定的最大允许活跃路径数量上限,算出合适的累计概率门限,把小于门限的活跃路径裁剪掉,以避免路径数量的爆炸性增长。 静态解码网络 大词表连续语音识别所常用的四类模型:HMM、跨词三音子模型、词典以及语言模型实际上是在不同粒度上描述了可能的搜索空间: 1. HMM 模型定义了每个三音子所对应的HMM状态序列。语音识别时,通过对每一帧所对应的状态进行假设,可以在HMM的状态序列上进行搜索,从而产生可能的三音子序列; 2. 跨词三音子模型定义了从三音子到音素的对应关系。根据HMM模型产生的三音子序列,可以得到可能的音素序列; 3. 词典定义了音素序列所表示的词。根据跨词三音子模型产生的可能的音素序列,可以得到相应的词序列; 4. 语言模型定义了词序列出现的概率。根据词典产生的词序列,可以得到该序列的概率得分; 上述过程是非常复杂的,系统需要同时考虑4类模型以及模型之间的约束关系,以完成“从可能的状态序列到可能的词序列之间的转换”。 20世纪90年代末期,美国电话电报公司(AT&T)的Mohri率先提出了以加权有限状态转换器(Weighted Finite-state Transducer: WFST)对语音识别过程中所使用的各种模型进行描述。此后,相关的研究纷纷出现。与传统动态网络解码相比,基于 WFST的识别系统在识别之前利用上述模型产生语音识别用的静态解码网络,这个网络包含了所有可能的搜索空间。 在此基础上进行语音识别时,系统只需要将这个识别网络(WFST网络)读入内存,然后基于声学模型就可以在这个网络上完成解码,不需要像原有系统那样同时考虑声学模型、词典、语言模型等。这样简化了语音识别系统的设计与实现。实验表明,用WFST构建的语音识别系统具有识别速度快,识别效果好的特性。 所谓静态网络就是根据已知的模型,将它们代表的搜索空间进行组合,从而得到一个统一的识别网络:从输入HMM状态序列,直接得到词序列及其相关得分。基于WFST构建静态解码网络是一个相对复杂的过程。构建网络的第一步是将上述四类模型转换成WFST表示。然后再依次进行WFST网络的合并和压缩,从而得到完整的语音识别静态搜索空间。 我们用H、C、L、G分别表示上述HMM模型、三音子模型、字典和语言模型的WFST形式。不难看出,这四个模型在语音识别中相当于4个串联的子系统。每一个子系统的输出是下一个子系统的输入。使用WFST的合成操作可以实现将上述串联系统组合成一个 WFST。使用HMM的状态序列作为这个 WFST的输入时,系统将直接输出词序列以及相应的得分。 但是,直接求 空间复杂度较高,合成的结果占用内存非常之大。为了在有限的内存中完成解码网络的构建,需要对信息逐步引入,并在每一步引入信息之后进行优化,为下一步引入信息做准备。同时,建立好静态解码网络后,还需要进一步的优化,使得网络能够有较小的体积。基于上述思想,一般网络构建的流程为: (5.1) 其中的det表示确定化算法;min表示最小化算法;为 ε-Removal 算法。式(5-1) 在逐步引入信息的同时采用确定化算法对网络结构进行优化。而在将所有信息引入后,需要采用WFST的最小化算法以及ε-Removal算法完成进一步的优化,使得形成的识别网络较小。 基于静态解码网络的搜索算法与基于动态网络的动态规划搜索算法类似,也是采用了迭代计算,让概率信息在网络节点间传递更新。不同之处在于,由于静态网络已经把搜索空间全部展开,所以它不需要根据解码路径的前驱词构造搜索空间副本,也不需要在词尾节点根据历史信息查询语言模型概率,它只需要根据节点间的转移权重计算声学概率和累计概率即可,因此解码速度非常快。 来源:地平线HorizonRobotics
  • 热度 12
    2022-1-6 11:57
    2138 次阅读|
    0 个评论
    来源:地平线HorizonRobotics 语音技术在近年来开始改变我们的生活和工作方式。对于某些嵌入式设备来说,语音成为了人机交互的主要方式。出现这种趋势的原因,首先是计算能力的不断提升,通用GPU等高计算能力设备的发展,使得训练更复杂、更强大的声学模型(Acoustic Model, AM)变得可能,高性能的嵌入式处理器的出现,使语音识别的终端应用变得可能。 声学模型是人工智能领域的几大基本模型之一,基于深度学习的声学模型发展对于人工智能的拓展和交互方式的延伸都有着十分重要的意义。本期的大牛讲堂,我们邀请到地平线的语音算法工程师牛建伟为大家重磅科普何为声学模型。 1.1. 自动语音识别 自动语音识别(Automatic Speech Recognition, ASR)作为一个研究领域已经发展了五十多年。这项技术的目标是作为可以使得的人与人、人与机器更顺畅交流的桥梁。然而,语音识别技术在过去并没有真正成为一种重要的人机交流形式,一部分原因是源于当时技术的落后,语音技术在大多数实际用户使用场景下还不大可用;另一部分原因是很多情况下使用键盘、鼠标这样的形式交流比语音更有效、更准确,约束更小。 语音技术在近年来开始改变我们的生活和工作方式。对于某些嵌入式设备来说,语音成为了人机交互的主要方式。出现这种趋势的原因,首先是计算能力的不断提升,通用GPU等高计算能力设备的发展,使得训练更复杂、更强大的声学模型(Acoustic Model, AM)变得可能,高性能的嵌入式处理器的出现,使得语音识别的终端应用变得可能;其次,借助近乎无处不在的互联网和不断发展的云计算,我们可以得到了海量的语音数据资源,真实场景的数据使得语音识别系统变得更加鲁棒;最后,移动设备、可穿戴设备、智能家居设备、车载信息娱乐系统正变得越来越流行,着这些设备上语音交互变成了一个无法避免的交互方式。 1.2. 语音识别基本组成 语音识别系统主要有四部分组成:信号处理和特征提取、声学模型、语言模型(Language Model, LM)和解码器(Decoder)。 信号处理和特征提取部分以音频信号为输入,通过消除噪音、信道失真等对语音进行增强,将语音信号从时域转化到频域,并为后面的声学模型提取合适的特征。声学模型将声学和发音学的知识进行整合,以特征提取模块提取的特征为输入,生成声学模型得分。语言模型估计通过重训练语料学习词之间的相互概率,来估计假设词序列的可能性,也即语言模型得分。如果了解领域或者任务相关的先验知识,语言模型得分通常可以估计的更准确。解码器对给定的特征向量序列和若干假设词序列计算声学模型得分和语言模型得分,将总体输出分数最高的词序列作为识别结果。 关于声学模型,主要有两个问题,分别是特征向量序列的可变长和音频信号的丰富变化性。可变长特征向量序列问题在学术上通常有动态时间规划(Dynamic Time Warping, DTW)和隐马尔科夫模型(Hidden Markov Model, HMM)方法来解决。而音频信号的丰富变化性是由说话人的各种复杂特性或者说话风格与语速、环境噪声、信道干扰、方言差异等因素引起的。声学模型需要足够的鲁棒性来处理以上的情况。 在过去,主流的语音识别系统通常使用梅尔倒谱系数(Mel-Frequency Cepstral Coefficient, MFCC)或者线性感知预测(Perceptual Linear Prediction, PLP)作为特征,使用混合高斯模型-隐马尔科夫模型(GMM-HMM)作为声学模型。在近些年,区分性模型,比如深度神经网络(Deep Neural Network, DNN)在对声学特征建模上表现出更好的效果。基于深度神经网络的声学模型,比如上下文相关的深度神经网络-隐马尔科夫模型(CD-DNN-HMM)在语音识别领域已经大幅度超越了过去的GMM-HMM模型。 我们首先介绍传统的GMM-HMM声学模型,然后介绍基于深度神经网络的声学模型。 1.3. 传统声学模型(GMM-HMM) HMM模型对时序信息进行建模,在给定HMM的一个状态后,GMM对属于该状态的语音特征向量的概率分布进行建模。 1.3.1. 混合高斯模型 如果一个连续随机变量服从混合高斯分布,则它的概率密度函数为 混合高斯模型分布最明显的性质是它的多模态,这使得混合高斯模型可以描述很多显示出多模态性质的屋里数据,比如语音数据,而单高斯分布则不合适。数据中的多模态性质可能来自多种潜在因素,每一个因素决定分布中特定的混合成分。如果因素被识别出来,那么混合分布就可以被分解成有多个因素独立分布的集合。 那么将上面公式推广到多变量的多元混合高斯分布,就是语音识别上使用的混合高斯模型,其联合概率密度函数的形式如下: 在得到混合高斯模型的形式后,需要估计混合高斯模型的一系列参数变量: = ,我们主要采用最大期望值算法(Expectation Maximization, EM)进行参数估计,公式如下: 其中,j是当前迭代轮数, 为t时刻的特征向量。GMM参数通过EM算法进行估计,可以使其在训练数据上生成语音观察特征的概率最大化。此外,GMM模型只要混合的高斯分布数目足够多,GMM可以拟合任意精度的概率分布。 1.3.2. 隐马尔可夫模型 为了描述语音数据,在马尔可夫链的基础上进行了扩展,用一个观测的概率分布与马尔可夫链上的每个状态进行对应,这样引入双重随机性,使得马尔可夫链不能被直接观察,故称为隐马尔可夫模型。隐马尔可夫模型能够描述语音信号中不平稳但有规律可学习的空间变量。具体的来说,隐马尔可夫模型具有顺序排列的马尔可夫状态,使得模型能够分段的处理短时平稳的语音特征,并以此来逼近全局非平稳的语音特征序列。 隐马尔可夫模型主要有三部分组成。对于状态序列 ··· , 1. 转移概率矩阵A= " data-formula="a_{ij} ">],i,j ,描述马尔可夫链状态间的跳转概率: =P( =j | =i ) 2. 马尔可夫链的初始概率: ,其中 3. 每个状态的观察概率分布 ,按照上一节的介绍,我们会采用GMM模型来描述状态的观察概率分布。在这种情况下,公式可以表述为: 隐马尔可夫模型的参数通过Baum-Welch算法(在HMM上EM算法的推广)进行估计。 1.4. CD-DNN-HMM 虽然GMM-HMM在以往取得了很多成功,但是随着深度学习的发展,DNN模型展现出了明显超越GMM模型的性能,替代了GMM进行HMM状态建模。不同于GMM模型,DNN模型为了获得更好的性能提升,引入了上下文信息(也即前后特征帧信息),所以被称为CD-DNN-HMM(Context-Dependent DNN-HMM)模型。在很多测试集上CD-DNN-HMM模型都大幅度超越了GMM-HMM模型。 首先简单介绍一下DNN模型,DNN模型是有一个有很多隐层的多层感知机,下图就是具有5层的DNN,模型结构上包括输入层、隐层和输出层。对于第 层,有公式 其中 分别表示,L层的输出向量,权重矩阵,输入向量以及偏差向量(bias); f(·) 一般称为激活函数,常用的激活函数有sigmoid函数 或者整流线性单元(Rectifier Linear Unit)ReLU(x)=max(0,x)。在语音识别上应用的DNN模型一般采用softmax将模型输出向量进行归一化,假设模型有 L 层,在特征向量为 O,输出分类数为 C,则第 i 类的输出概率为 相比于GMM模型,DNN模型具有一些明显的优势:首先,DNN是一种判别模型,自身便带有区分性,可以更好区分标注类别;其次,DNN在大数据上有非常优异的表现,伴随着数据量的不断增加,GMM模型在2000小时左右便会出现性能的饱和,而DNN模型在数据量增加到1万小时以上时还能有性能的提升;另外,DNN模型有更强的对环境噪声的鲁棒性,通过加噪训练等方式,DNN模型在复杂环境下的识别性能甚至可以超过使用语音增强算法处理的GMM模型。 除此之外,DNN还有一些有趣的性质,比如,在一定程度上,随着DNN网络深度的增加,模型的性能会持续提升,说明DNN伴随模型深度的增加,可以提取更有表达性、更利于分类的特征;人们利用这一性质,提取DNN模型的Bottle-neck特征,然后在训练GMM-HMM模型,可以取得和DNN模型相当的语音识别效果。 DNN应用到语音识别领域后取得了非常明显的效果,DNN技术的成功,鼓舞着业内人员不断将新的深度学习工具应用到语音识别上,从CNN到RNN再到RNN与CTC的结合等等,伴随着这个过程,语音识别的性能也在持续提升,未来我们可以期望将可以和机器进行无障碍的对话。 来源:地平线HorizonRobotics
相关资源