2.0 Fundamentals of Speech Recognition

语音识别基础

References for 2.0

1.3, 3.3, 3.4, 4.2, 4.3, 6.4, 7.2, 7.3, of Bechetti

C. Becchetti, L. Prina Ricotti, “Speech Recognition- Theory and C++ implementation”, Johy Wiley and Sons, 1999, 民全

|| 摘要

第2讲视频时长为2小时15分钟,主要介绍了语音识别的整体框架,可以概括为下面这张图。李老师介绍了这种图中的所有概念。

|| HMM,Hidden Markov Model,隐马尔可夫模型

这页ppt,列出了隐马尔科夫模型的组成,但是隐马尔可夫模型到底是什么?第3讲和第4讲会详细介绍。所以此处的笔记只简单列出HMM模型的五元素,但不进一步延伸。

题外话:2014-2015年,siri火起来的时候,就在知乎上看到了对语音识别和HMM模型的介绍,当时我还买了《数学之美》这本书,然并卵…

(1)观测序列o

对语音信号而言,对每一帧提取特征,形成特征向量,最大是39个特征,即39维向量。

(2)状态序列q

(3)状态转移概率矩阵A

N*N,只有右上矩阵有数值,即不会往回跳。

(4)观测概率矩阵B

GMM,Gaussian Mixture Model,高斯混合模型。由于观测序列,即特征向量不是一维的,所以高斯模型也不是一维的。

(5)初始状态概率向量π

最后我们要求解和使用的模型为λ = (A, B, π)

附:李老师花了较长的时间介绍高斯模型。

下图是一维和N维高斯模型的公式。

并举了个例子来解释二维高斯模型的协方差矩阵的不同类型和对应的意义。

右下角的第4张图,表示x1和x2是相关的。σ12=σ21,即对称矩阵,可以通过矩阵的变换,变成左下角的第3张图(x1和x2不相关)。

举个例子:左下角图3,x1是大一学生的微积分成绩,x2是体育成绩,两者都是高斯分布。如果看微积分成绩在[80 90]之间的人的体育成绩,画一条线,得到一个高斯分布。对微积分成绩在[30 40]之间的人,画一条线,也得到一个高斯分布。这两个高斯分布很像,也就是说对应的x2(体育成绩)是类似的分布,这是因为微积分成绩和体育成绩是相互独立的。

而对右下角图4,做相同的操作,对x1,在[80 90]和[30 40]分别画出两条线,得到两个高斯分布,对应在变量x2上的高斯分布很不相同,比如峰值等等。这是因为体育成绩与微积分成绩相关,理解上就是微积分成绩高的,体育成绩也偏高,危机分成绩低的,体育成绩也偏低。

|| HMM是双重随机过程

第一个是马尔科夫过程,即状态之间的转移,第二个随机过程是状态观测过程。

Double Layers of Stochastic Processes

  • hidden states with random transitions for time warping

  • random output given state for random acoustic characteristics

下图是一个最简单的HMM的例子。

有三个装了球的黑盒子,每个盒子里的球的颜色也是随机的,有Red,Green,Blue等颜色。随机从任一盒子中拿出一个球,最后我们看到的球的颜色的序列(对应了HMM中的观测序列)为RGBGGBBGRR……,那么每个球分别是从哪个黑盒子拿出来的呢?

这个过程包含了两个随机过程,(1)从任一个盒子拿出一个球的颜色是随机的,即状态观测概率(对应了HMM中的观测概率矩阵),(2)一个球是从哪个盒子拿出来的,对一个序列,也就是盒子的排序或序列是什么(对应了HMM中的状态转移概率矩阵)。

这个例子在后续课程中会再次提到,与马尔科夫过程对比理解,会变得非常容易。

HMM并不是用来专门做语音的,它是一个相当复杂且有用的model,可以做很多事情,比如手写字的辨识。HMM的三个基本问题。后续课程会讲到。

|| Feature Extraction,特征提取,前端信号处理

也就是说,输入512个采样点数据,如何变成39个参数组成的特征向量,来描述声音是什么。

涉及到很多信号处理(时频特性,傅里叶变换,Fourier Transform)和语音学(人耳的特性等)的相关知识。

【傅里叶变换的推荐资料:

傅里叶分析之掐死教程(完整版)更新于2014.06.06

https://zhuanlan.zhihu.com/p/19763358?columnSlug=wille 】

特征提取:

(1)Pre-emphasis,预处理,放大信号的高频部分

(2)Endpoint Detection,端点检测,区分语音段和非语音段,简称VAD(语音激活检测,voice activity detection),语音识别只关注有效的语音段。

这是一个难题。李老师提到了一种简单的算法:以能量作为变量来判断。用矩形窗或Hamming窗,取一帧数据,得到加窗后的一帧数据的能量之和,若此变量高于阈值,则此帧被判断为Voice,否则为非语音段。

(3)特征提取,比如MFCC

暂时不了解MFCC。

得到13个参数,然后进行1阶和2阶微分,最后得到39(=13*3)个参数。

为什么要微分?实验性的结论。

得到的特征是什么?发某个音的时候,嘴巴的样子。所谓嘴巴的样子,就是唇齿舌。发音主要是唇齿舌头相对位置各有不同。口型,唇齿舌的变化。

|| Language Modeling,语言模型

计算一长串词连在一起,成为一个句子的概率。

gram,grammar,文法,即什么词后面接什么词。

从训练文本库数据,训练并估计:词序列W = (w1, w2, ……, wn)出现的概率。

但是由于数据库很大,所以计算量很大。简化算法,假设一个word的出现只与前面N-1个word有关,即N-gram。

如何计算?举个例子,很容易理解。

|| ASR基本原理小结

还是这张图,涉及到了很多很多内容。

1,信号处理 & 语音学等,用来提取特征;

2,统计学,比如后验概率最大化(MAP),先验概率,极大似然估计,条件概率,贝叶斯定理,HMM,GMM,语言模型等概念和模型;

李老师专门讲了MAP,以及图中红色标记的几个重要概念。

回去好好补统计学。统计学是ASR最重要的基础知识。

3,结合以上,形成了ASR这一过程的整体框架。

李老师说,讲起来好像很容易,但想起来,感觉怪怪的,很难想象这到底是什么。

因此,举一个例子来理解解决问题的思路和如何计算。假设要预测天气,有三种可能,晴,雨,云。测量了各种气象参数,使问题变成:根据今天的气象参数,预测明天的天气。这个例子只有三种可能,而ASR有千千万万的可能。

|| 3.0 Map of Subject Areas(略)

语音识别技术的方方面面以及应用的扩展,也就是可以做哪些事情

ASR系统第二讲 语音识别基础相关推荐

  1. 第二讲:Android系统构架分析和应用程序目录结构分析

    2019独角兽企业重金招聘Python工程师标准>>> 本讲内容: Android系统构架简介 Android应用程序结构分析 点这里下载:Android学习指南第二讲源代码 一.A ...

  2. 直播预告|灵动MM32 MCU助力全国大学生智能汽车竞赛——基础培训第二讲

    ▌简介 基础培训第二讲--灵动MM32F3277/SPIN27手册阅读及开源固件库的使用. 1.直播时间 2021年4月8日下午14:00 2.直播内容 一.如何阅读MM32F3277微控制器的用户手 ...

  3. Js与Jq实战:第二讲:JavaScript基础

    第二讲:JavaScript基础 一.预习笔记 1.变量 1)JavaScript是一门弱语言,没有明确的数据类型,所以在声明变量时,不需要指定变量的类型,变量的类型由赋给变量的值决定.声明变量一般使 ...

  4. 计算机基础算术加法,计算机基础第二讲.ppt

    计算机基础第二讲 计算机的运算 算术运算:加.减.乘.除 逻辑运算:与.或.非 数据比较:大于.小于.等于.不等于.大于等于.小于等于 数据传送:输入.输出.赋值 二进制的算术运算 加法 0+0=0 ...

  5. 小白都能学会的Python基础 第二讲:Python基础知识

    1.华小智系列 - Python基础(案例版) <Python基础>目录 第二讲:Python基础知识 1.变量.行与缩进 2.数据类型:数字与字符串 3.列表与字典 4.运算符介绍与实践 ...

  6. 《第一阶段 java基础 Day02笔记》————————第二讲Java基本语法

    第二讲Java基本语法 课程大纲 课程内容 学习效果 掌握目标 Java基本语法 注释.关键字.标识符 掌握 熟练掌握Java的注释方式 熟练掌握Java中的关键字 熟练掌握标识符概念 数据类型.常量 ...

  7. Java基础知识第二讲:Java开发手册/JVM/集合框架/异常体系/Java反射/语法知识/Java IO

    Java基础知识第二讲(Java编程规范/JVM/集合框架/异常体系/Java反射/语法知识/Java IO/码出高效) 分享在java学习及工作中,常使用的一些基础知识,本文从JVM出发,讲解了JV ...

  8. 第二讲 html5 框架+Crosswalk 打包 app 以及 Angularjs 基础

     第二讲 html5框架+Crosswalk 打包 app 以及 Angularjs 基础(初步认识了解 Angularjs)   学习要点: 1. html5 框架+Crosswalk 打包 a ...

  9. 并行算法第二讲:并行算法基础知识

    文章目录 第二讲:并行算法基础知识 并行计算模型 复杂度度量 并行算法设计 并行算法设计与分析课程总结 第二讲:并行算法基础知识 并行计算模型 PRAM模型是重点 并行归约: 前缀和: 先序树遍历: ...

最新文章

  1. ActiveMQ学习(七)
  2. CMS GC:CMS 废弃了,该怎么办呢?
  3. 深度学习项目-神经元结构可视化
  4. Java进阶02 异常处理
  5. 题目:16版.雇员的工作职责(一)
  6. 关于grep,egrep正则表达式的常用用法
  7. ubuntu源列表(清华,阿里,官方,选一即可)
  8. 查询url包含的字符串参数(js高程笔记)
  9. linux编译内核的步骤
  10. python基础3——运算符
  11. ssh ssm mybitis逆向工程 项目 简易版下载 (经典适用初学者)
  12. 摄影测量学——解析法相对定向
  13. 小程序商城源码,很不错,推荐给开发者
  14. 关于VB中Print函数在数组中换行的理解
  15. 无人机航模新手100 问
  16. python3高级编程学习笔记(linux环境)
  17. 移动安全-APK加壳
  18. [转]XXX无法访问。你可能没有权限使用网络资源
  19. 简单病毒分析及手工查杀
  20. memcached redis基本操作

热门文章

  1. PostgreSQL 14 pageinspect新增gist索引支持
  2. eMMC SI 总结
  3. TIOBE 7 月编程语言排行榜:C、Java 和 Python 争夺第一
  4. 基于 Matlab的录屏软件
  5. 嵌入式数据库-SQLite的基本使用
  6. java解析xml文件并写入Excel表
  7. 用Python分析《斗破苍穹》
  8. python快速注释html5_python注释代码块
  9. 网络安全方面的专业词汇中英文对照
  10. 【数学建模】灰色预测法