当前位置: 首页 > article >正文

深度学习应用 - 语音识别篇

序言

在科技日新月异的今天,人工智能正以前所未有的速度渗透到我们生活的每一个角落,其中,深度学习作为人工智能领域的一股强大驱动力,正引领着一场技术革命。语音识别,作为深度学习应用的璀璨明珠,不仅极大地提升了人机交互的自然性与便捷性,还开启了智能化时代的新篇章。它让机器能够“听懂”人类的语言,从简单的指令执行到复杂的对话交流,不断跨越着技术的边界,让科幻电影中的场景逐步成为现实。

语音识别

  • 语音识别任务在于将一段包括了自然语言发音的声学信号投影到对应说话人的词序列上。
    • X = ( x ( 1 ) , x ( 2 ) , … , x ( T ) ) \boldsymbol{X}=(\boldsymbol{x}^{(1)},\boldsymbol{x}^{(2)},\dots,\boldsymbol{x}^{(T)}) X=(x(1),x(2),,x(T)) 表示语音的输入向量(传统做法以 20 ms 20\text{ms} 20ms 为一帧分割信号)。
    • 许多语音识别的系统通过特殊的手工设计方法预处理输入信号,从而提取特征,但是某些深度学习系统 ( Jaitly and Hinton, 2011 \text{Jaitly and Hinton, 2011} Jaitly and Hinton, 2011) 直接从原始输入中学习特征。
    • y = ( y 1 , y 2 , … , y N ) \boldsymbol{y}=(y_1,y_2,\dots,y_N) y=(y1,y2,,yN) 表示目标的输出序列(通常是一个词或者字符的序列)。
    • 自动语音识别 ( Automatic Speech Recognition, ASR \text{Automatic Speech Recognition, ASR} Automatic Speech Recognition, ASR) 任务指的是构造一个函数 f ASR ∗ f_{\text{ASR}}^\ast fASR ,使得它能够在给定声学序列 X \boldsymbol{X} X 的情况下计算最有可能的语言序列 y \boldsymbol{y} y
      f ASR ∗ ( X ) = arg max ⁡ P ∗ ( y ∣ X = X ) f_{\text{ASR}}^\ast(\boldsymbol{X})=\argmax P^\ast(\text{y}\mid\bold{X}=\boldsymbol{X}) fASR(X)=argmaxP(yX=X) — 公式1 \quad\textbf{---\footnotesize{公式1}} 公式1
      • 说明:其中 P ∗ P^\ast P是给定输入值 X \boldsymbol{X} X时对应目标 y \boldsymbol{y} y的真实条件分布。
  • 20 ‾ \underline{20} 20 世纪 80 ‾ \underline{80} 80 年代直到 2009 − 2012 ‾ \underline{2009-2012} 20092012 年,最先进的语音识别系统是隐马尔可夫模型 ( Hidden Markov Model, HMM ‾ \underline{\text{Hidden Markov Model, HMM}} Hidden Markov Model, HMM) 和高斯混合模型 ( Gaussian Mixture Model,GMM ‾ \underline{\text{Gaussian Mixture Model,GMM}} Gaussian Mixture Model,GMM) 的结合
    • GMM \text{GMM} GMM对声学特征和音素 ( phoneme \text{phoneme} phoneme) 之间的关系建模 ( Bahl et al., 1987 \text{Bahl et al., 1987} Bahl et al., 1987), HMM \text{HMM} HMM对音素序列建模。
    • GMM-HMM \text{GMM-HMM} GMM-HMM模型将语音信号视作由如下过程生成:
      • 首先,一个 HMM \text{HMM} HMM生成了一个音素的序列以及离散的音素子状态(比如每一个音素的开始,中间,结尾),
      • 然后 GMM \text{GMM} GMM把每一个离散的状态转化为一个简短的声音信号。
  • 尽管直到最近 GMM-HMM \text{GMM-HMM} GMM-HMM一直在 ASR \text{ASR} ASR中占据主导地位,语音识别仍然是神经网络所成功应用的第一个领域。
    • 20 20 20 世纪 80 80 80 年代末期到 90 90 90 年代初期,大量语音识别系统使用了神经网络:
      • Bourlard and Wellekens, 1989 \text{Bourlard and Wellekens, 1989} Bourlard and Wellekens, 1989
      • Waibel et al., 1989 \text{Waibel et al., 1989} Waibel et al., 1989
      • Robinson and Fallside, 1991 \text{Robinson and Fallside, 1991} Robinson and Fallside, 1991
      • Bengio et al., 1991, 1992 \text{Bengio et al., 1991, 1992} Bengio et al., 1991, 1992
      • Konig et al., 1996 \text{Konig et al., 1996} Konig et al., 1996
    • 在那段时间,基于神经网络的 ASR \text{ASR} ASR的表现和 GMM-HMM \text{GMM-HMM} GMM-HMM系统的表现差不多。
    • 比如说, Robinson and Fallside (1991) \text{Robinson and Fallside (1991)} Robinson and Fallside (1991) TIMIT \text{TIMIT} TIMIT 数据集 ( Garofolo et al., 1993 \text{Garofolo et al., 1993} Garofolo et al., 1993)(有 39 39 39 个区分的音素)上达到了 26 % 26\% 26% 的音素错误率,这个结果优于或者是可比于基于 HMM \text{HMM} HMM的结果。
    • 从那时起, TIMIT \text{TIMIT} TIMIT 成为了音素识别的一个基准数据集,在语音识别中的作用就和 MNIST \text{MNIST} MNIST 在对象识别中的作用差不多。
    • 然而,由于语音识别软件系统中复杂的工程因素以及在基于 GMM-HMM \text{GMM-HMM} GMM-HMM的系统中已经付出的巨大努力,工业界并没有迫切转向神经网络的需求。
    • 结果,直到 21 21 21 世纪 00 00 00 年代末期,学术界和工业界的研究者们更多的是用神经网络为 GMM-HMM \text{GMM-HMM} GMM-HMM系统学习一些额外的特征。
  • 之后,随着更大更深的模型以及更大的数据集的出现,通过使用神经网络代替 GMM \text{GMM} GMM来实现将声学特征转化为音素(或者音素的子状态)的过程可以大大地提高识别的精度。
    • 2009 2009 2009 年开始,语音识别的研究者们将一种无监督学习的深度学习方法应用于语音识别
    • 这种深度学习方法基于训练一个被称作是受限玻尔兹曼机的无向概率模型,从而对输入数据建模。
    • 受限玻尔兹曼机将会在后续篇章中描述。为了完成语音识别任务,无监督的预训练被用来构造一个深度前馈网络,这个神经网络每一层都是通过训练受限玻尔兹曼机来初始化的。
    • 这些网络的输入是从一个固定规格的输入窗(以当前帧为中心)的谱声学表示抽取,预测了当前帧所对应的 HMM \text{HMM} HMM状态的条件概率。
    • 训练一个这样的神经网络能够可以显著提高在 TIMIT \text{TIMIT} TIMIT 数据集上的识别率 ( Mohamed et al., 2009, 2012a \text{Mohamed et al., 2009, 2012a} Mohamed et al., 2009, 2012a),并将音素级别的错误率从大约 26 % 26\% 26% 降到了 20.7 % 20.7\% 20.7%
    • 关于这个模型成功原因的详细分析可以参考 Mohamed et al. (2012b) \text{Mohamed et al. (2012b)} Mohamed et al. (2012b)
    • 关于基本电话通道识别的一个扩展工作包括了添加说话人自适应相关特征 ( Mohamed et al., 2011 \text{Mohamed et al., 2011} Mohamed et al., 2011) 的方法,可以进一步地降低错误率。
    • 紧接着的工作是将结构从音素识别( TIMIT \text{TIMIT} TIMIT 所主要关注的)转向了大规模词汇语音识别 ( Dahl et al., 2012 \text{Dahl et al., 2012} Dahl et al., 2012),这不仅包含了识别音素,还包括了识别大规模词汇的序列。
    • 语音识别上的深度网络从最初的使用受限玻尔兹曼机进行预训练发展到了使用诸如整流线性单元和 Dropout \text{Dropout} Dropout这样的技术 ( Zeiler et al., 2013; Dahl et al., 2013 \text{Zeiler et al., 2013; Dahl et al., 2013} Zeiler et al., 2013; Dahl et al., 2013)。
    • 从那时开始,工业界的几个语音研究组开始寻求与学术圈的研究者之间的合作。
    • Hinton et al. (2012a) \text{Hinton et al. (2012a)} Hinton et al. (2012a) 描述了这些合作所带来的突破性进展,这些技术现在被广泛应用在产品中,比如移动手机端。
  • 随后,当他们使用了越来越大的带标签的数据集,加入了各种初始化,训练方法以及调试深度神经网络的结构之后,他们发现这种无监督的预训练方式是没有必要的,或者说不能带来任何显著的改进。
  • 用语音识别中词错误率来衡量,在语音识别性能上的这些突破是史无前例的(大约 30 % 30\% 30% 的提高),在这之前的长达十年左右的时间基于 GMM-HMM \text{GMM-HMM} GMM-HMM的系统的传统技术已经停滞不前了,尽管数据集的规模是随时间增长的。这也导致了语音识别领域快速地转向深度学习的研究。在大约的两年时间内,工业界的大多数的语音识别产品都包含了深度神经网络,这种成功也激发了 ASR \text{ASR} ASR领域对深度学习算法和结构的一波新的研究浪潮,并且影响至今。
  • 其中的一个创新点是卷积网络的应用 ( Sainath et al., 2013 \text{Sainath et al., 2013} Sainath et al., 2013)。
    • 卷积网络在时间和频率维度复用了权重,改进了之前的仅对时间使用重复权值的时延神经网络。
    • 这种新的二维的卷积模型并不是将输入的频谱当作一个长的向量,而是当成是一个图像,其中一个轴对应着时间,另一个轴对应的是谱分量的频率。
  • 另一个重要的至今仍然活跃的推动,是完全抛弃了 HMM \text{HMM} HMM的端到端的深度学习语音识别系统。
    • 这个领域第一个主要的突破是 Graves et al. (2013) \text{Graves et al. (2013)} Graves et al. (2013),其中训练了一个深度的长短期记忆循环神经网络(见序列建模之循环和递归网络 - 长短期记忆和其他门控RNN篇),使用了帧-音素排列的 MAP \text{MAP} MAP推断,就像 LeCun et al. (2001) \text{LeCun et al. (2001)} LeCun et al. (2001) 以及 CTC \text{CTC} CTC 框架 ( Graves et al., 2006; Graves, 2012 \text{Graves et al., 2006; Graves, 2012} Graves et al., 2006; Graves, 2012) 中一样。
    • 一个深度循环神经网络 ( Graves et al., 2013 \text{Graves et al., 2013} Graves et al., 2013) 每个时间步各层都有状态变量,有两种展开图的方式:
      • 一种是根据层的堆叠,
      • 另一种是时间展开。
    • 这个工作把 TIMIT \text{TIMIT} TIMIT 数据集上音素的错误率降到了记录的新低 17.7 % 17.7\% 17.7%
    • 关于应用于其他领域的深度循环神经网络的变种可以参考:
      • Pascanu et al. (2014a) \text{Pascanu et al. (2014a)} Pascanu et al. (2014a);
      • Chung et al. (2014) \text{Chung et al. (2014)} Chung et al. (2014)
  • 另一个端到端的深度学习语音识别方向的最新方法是让系统学习如何利用语音 ( phonetic \text{phonetic} phonetic) 层级的信息 ‘‘排列”声学 ( acoustic \text{acoustic} acoustic) 层级的信息 ( Chorowski et al., 2014;Lu et al., 2015 \text{Chorowski et al., 2014;Lu et al., 2015} Chorowski et al., 2014;Lu et al., 2015)。

总结

  • 深度学习在语音识别领域的广泛应用,不仅标志着技术的一次重大飞跃,也深刻改变了我们的生活方式和工作模式。从智能手机上的语音助手,到智能家居的语音控制,再到医疗、教育、金融等多个行业的智能化转型,语音识别技术正以其独特的魅力,推动着社会各领域的智能化进程。
  • 随着算法的不断优化、计算能力的持续提升以及大数据的丰富积累,未来,语音识别将更加精准、高效,进一步拓宽应用场景,深化人机共融的智能化未来。在这个过程中,我们见证并参与了一个时代的变革,感受着科技带来的无限可能与惊喜。

往期内容回顾

序列建模之循环和递归网络 - 长短期记忆和其他门控RNN篇


http://www.kler.cn/a/289646.html

相关文章:

  • MySQ怎么使用语法介绍(详细)
  • vue el-date-picker 日期选择器禁用失效问题
  • LeetCode【0027】移除元素
  • 科技云报到:数字化转型,从不确定性到确定性的关键路径
  • 实战指南:理解 ThreadLocal 原理并用于Java 多线程上下文管理
  • 后端:Aop 面向切面编程
  • 基于web知识库管理系统设计与实现
  • 通过EasyExcel设置自定义表头及设置特定单元格样式、颜色
  • C++:关于反向迭代器的学习分享
  • 缓存类型以及读写策略
  • RocketMQ高级特性三-消费者分类
  • java 常用并发队列- ArrayBlockingQueue
  • malab 将数据导入到excell文件代码的几种方法
  • LeetCode hot100刷题记录
  • LACP链路聚合
  • Android 9.0 SystemUI状态栏/快捷设置介绍
  • 【网络原理】Udp 的报文结构,保姆式教学,快速入门
  • 计算机网络 第2章 物理层
  • 多个Node.js版本之间切换
  • css spacing设置间距
  • redis缓存和数据库通过延迟双删除实现数据一致性
  • Ghidra逆向工具之旅与二进制代码分析【4】
  • 通过设置JVM参数来启用GC(垃圾回收)日志
  • Super Image 2.1.0 图像处理软件,修复老照片、无损放大、智能修复,本地处理保护隐私
  • 如何选择SSD
  • java实现ocr功能(Tesseract OCR)