HCIP-AI语音处理理论、应用
时间:2022-10-02 16:30:00
语音处理理论和应用
- 1.语音处理介绍
-
- 1.1、语音处理
-
- 1.1.1.语音处理简介
- 1.1.2、语言学
- 1.1.3、语音学
- 1.1.4、语音特征
- 1.1.5.语音信号预处理
-
- 1.1.5.1、预加重
- 1.1.5.2、分帧
- 1.1.5.3、加窗
- 1.1.6.语音信号分析
-
- 1.1.6.1、时域分析
- 1.1.6.2、频域分析
- 1.1.6.3.语音信号的数字化
- 1.2、语音识别
- 1.3、语音合成
-
- 1.3.1.语音合成系统
-
- 1.3.2.语音合成处理过程
- 1.3.3.语音合成法
- 1.3.4.语音合成算法
- 传统语音模型
-
- 2.1、GMM高斯混合模型
-
- 2.1.1、混合模型
- 2.1.2.高斯分布(正态分布)
-
- 2.1.2.单高斯模型
- 2.1.2.高斯混合分布
- 2.1.2.3、EM算法(迭代算法)
- 2.2、HMM隐马尔可夫模型
-
- 2.2.1.马尔科夫链
-
- 2.2.1.1.马尔科夫链案例
- 2.2.1.2.马尔科夫链
- 2.2.1.3.可观察马尔科夫模型
- 2.2.1.4、穷举法
- 2.2.1.5.马尔科夫链的预测和算法
- 2.2.隐马尔科夫模型
-
- 2.2.2.1、模型解释
- 2.2.2.2、三个问题
- 2.3、GMM-HMM模型
-
- 2.3.1.语音识别过程
- 2.3.2、单字识别
- 3.神经网络语音模型
-
- 3.1、DNN深度神经网络
-
- 3.1.1.深度神经网络
- 3.1.2.前向传播原理
- 3.1.3.反向传播算法
- 3.1.4.数据预处理
- 3.1.5.模型初始化
- 3.1.6、权重衰减
- 3.1.7、dropout
- 3.1.8、batch大小选择
- 3.1.9、随机取样
- 3.1.10、学习率
- 3.1.11、网络结构
- 3.2、DNN-HMM隐马尔可夫模型深度神经网络
- 3.3、CD-DNN-HMM
- 4.高级语音模型
-
- 4.1、RNN
- 4.2.长短记忆网络LSTM
- 4.3、GRU
- 4.4、BiRNN:双向循环神经网络
- 4.5.语音数据对齐
- 4.6.端到端模型
- 5.技术前沿和未来前景
-
- 5.1、技术前沿
- 5.2、语音识别难点
- 5.3、未来展望
1.语音处理介绍
1.1、语音处理
1.1.1.语音处理简介
- 语音信号处理(Speech Signal Processing)语音处理是研究语音发声过程、语音信号统计特性、语音自动识别、机器合成和语音感知的总称。
- 由于现代语音处理技术是基于数字计算,并在微处理器、信号处理器或通用计算机的帮助下实现的,因此也被称为数字语音信号处理。
- 语音处理是语音向某一特征转换所需的所有技术;语言信息主要包括在内语音信号参数之中,因此语言信号参数准确快速地提取
语音信号处理的关键是。
1.1.2、语言学
- 语言学是一门以语言为研究对象的科学。它研究人类语言,其任务是研究和描述语言的结构、功能和历史发展,找出语言的本质,探索语言的规律。
- 语音、语法、词汇及文字这些学科注重语言本身的结构,是语言学的中心,被称为微观语言学。
1.1.3、语音学
1.1.4、语音特征
- 提取特征的一般方法
- MFCC
1.1.5.语音信号预处理
- 语音信号预处理的一般步骤
1.1.5.1、预加重
1.1.5.2、分帧
1.1.5.3、加窗
1.1.6.语音信号分析
1.1.6.1、时域分析
1.1.6.2、频域分析
1.1.6.3.语音信号的数字
1.2、语音识别
- 语音识别技术就是让机器通过识别和理解把语音信号转变为相应的文本或命令的技术。 语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。
- 发展历史
发展趋势:语音识别任务越来越复杂,使用到的模型也越来越复杂,语音识别逐渐从实验室到市场应用。
- 语音识别任务分类 - 孤立词识别
- 语音识别任务分类 - 连续词识别
- 语音识别算法
- 传统语音处理流程
- 语音识别处理的难点
地域性;
场景性;
生理性。
一句话总结语音识别的难点就是不确定性很强。同一个词、同一句话受到不同因素的影响可能发音完全不同。
1.3、语音合成
- 语音合成,又称文语转换(Text-To-Speech)技术,能将任意文字信息转化为相应语音朗读出来。 语音合成涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是中文信息处理领域的一项前沿技术。
- 为了合成出高质量的语言,除了依赖于各种规则,包括语义学规则、词汇规则、语音学规则外,还必须对文字的内容有很好的理解,这也涉及到自然语言理解的问题。
1.3.1、语音合成系统
- 一个完整的语音合成系统过程是先将文字序列转换成音韵序列,再由系统根据音韵序列生成语音波形。其中:
第一步涉及语言学处理,例如分词、字音转换等,以及一整套有效的韵律控制规则;
第二步需要先进的语音合成技术,能按要求实时合成出高质量的语音流。
1.3.2、语音合成处理流程
- 文本分析
文本归一化:对形形色色的自然文本数据进行预处理或者归一化,包括句子的词例还原,非标准词,同形异义词排歧等;不完整的词完整化
语音分析:文本归一化之后的下一步就是语音分析,具体方法包括通过大规模发音词典,字位-音位转换规则;分词
韵律分析:分析文本中的平仄格式和押韵规则,这里主要包含三方面的内容,包括:韵律的机构,韵律的突显度,音调。
1.3.3、语音合成方法
1.3.4、语音合成算法
- 基于HMM的参数合成
- WaveNet(原始音频生成模型)
- Tacotron(端到端的语音合成)
- Deep Voice 3(带有卷积序列学习的尺度文本语音转换)
2、传统语音模型
2.1、GMM高斯混合模型
2.1.1、混合模型
- GMM计算步骤
高斯混合模型函数
概率密度函数
似然函数
对数似然函数
EM算法求解- 优缺点
优点:
拟合能力强
对语音特征匹配概率最大化
缺点:
无法处理序列因素
无法处理线性或近似线性数据
-
混合模型是一个可以用来表示在总体分布中含有K个子分布的概率模型,换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由K个子分布组成的混合分布。例如:由几个高斯分布混合起来的模型叫高斯混合模型,几个线性模型混合在一起的模型叫线性混合模型。
-
混合模型是一个统计模型,包含固定效应和随机效应两种效应的混合。在统计学中,混合模型是代表一个大群体中存在子群体的概率模型;混合模型不要求观测数据提供关于子分布的信息来计算观测数据在总体分布中的概率。
2.1.2、高斯分布(正态分布)
- 分布曲线
2.1.2.1、单高斯模型
- 最大似然估计法:在实际情况中,我们不会知道当前模型是符合什么分布的,所以需要最大似然估计法来从数据推断数据属于什么分布
点估计:最后输出的是一个点
区间估计:最后输出的是一个区间,一个范围
小概率事件不太可能发生
- 概率和似然的区别
- 单高斯模型参数学习
2.1.2.2、高斯混合分布
2.1.2.3、EM算法(迭代算法)
整个EM算法可以归结为以下几个步骤:
初始化参数;
求解期望,也就是每个样本点属于每个单高斯模型的概率;
最大化过程,根据期望过程得到的结果,更新参数;
迭代上述过程直至收敛。
2.2、HMM隐马尔可夫模型
2.2.1、马尔科夫链
2.2.1.1、马尔科夫链案例
第n次购买商品只与第n-1次有关,而不依赖前面n-2次的概率
第三次概率:P(aaa)=0.20.80.8
2.2.1.2、马尔科夫链
2.2.1.3、可观测马尔科夫模型
- 可观测马尔科夫模型:状态序列可以观测
- 马尔科夫学习模型
没有人会事先告诉我们某个现象是参数为多少的马尔科夫模型,如果我们还是相对这个随机过程进行研究,那该怎么办呢?这就需要学习过程了,通过能拿到的数据,学习模型的参数。
2.2.1.4、穷举法
- 马尔科夫链学习算法 - 穷举法
2.2.1.5、马尔科夫链预测问题和算法
- 问题
- 算法
2.2.2、隐马尔科夫模型
2.2.2.1、模型解释
2.2.2.2、三个问题
- 评价问题:给定五个参数A B π R S的情况下,计算一个可观测序列出现的概率,包括前向算法和后向算法
- 前向后向算法
- 解码问题:待给定一个隐马尔可夫模型情况下,给出一个观测序列,计算能给出这个观测序列的序列最有可能是哪一个。包括动态规划算法和Viterbi算法
- 隐马尔科夫模型解码算法 - 穷举法
- 隐马尔科夫模型解码算法 - Viterbi
- 学习问题:根据已有数据,推算到模型所需要的参数的问题,包括监督式算法和非监督式Baum-Welch算法
- 隐马尔科夫模型学习算法 - 监督算法
- 隐马尔科夫模型学习算法 - Baum-Welch
2.3、GMM-HMM模型
- GMM-HMM作用:共同完成识别单个词
- GMM描述一个信号的概率密度
2.3.1、语音识别过程
2.3.2、单字识别
3、神经网络语音模型
- GMM-HMM主要的缺点有以下三个:
由于GMM-HMM中,每个隐藏状态都对应了一个GMM模型,特别是当进行连续词识别时,状态数量是很大的,因此模型训练会消耗大量的时间且参数空间很大。
隐马尔科夫模型对语音识别问题进行建模时,有一个隐藏的条件,就是隐藏状态序列之间需要满足马尔科夫特性,也就是说下一个时刻隐藏状态只和当前时刻的隐藏状态有关系,和过去以及未来的隐藏状态都没有关系,这个假设其实在实际中并不是完全合理的,很多时候是前后多个状态决定中间某个状态的。
每个模块是单独进行优化和训练的,模块之间相互耦合关联,这样就导致了不能端到端处理任务,无法根据具体的任务优化整个流程。
3.1、DNN深度神经网络
3.1.1、深度神经网络
3.1.2、前向传播原理
3.1.3、反向传播算法
3.1.4、数据预处理
3.1.5、模型初始化
3.1.6、权重衰减
3.1.7、dropout
3.1.8、batch大小选择
3.1.9、随机取样
保证样本分布的准确性
3.1.10、学习率
前期学习率大,探索,后期学习率小,希望更精确
3.1.11、网络结构
3.2、DNN-HMM深度神经网络-隐马尔可夫模型
- 训练过程
3.3、CD-DNN-HMM
DNN:
HMM:描述语音的序列化信息
一个状态先验概率分布:将先验和后验概率联系起来
-
性能升级
使用更深的神经网络DNN:更深的网络层次,这样有更好的表达
使用更长的帧作为输入:更多上下文信息,对当前状态进行更好的预测
使用三因素进行建模:语言发音因素建模
提升训练数据的标注质量:标注越准确,训练模型越好
预处理(浅层DNN):先浅训练得到结果,可以在更好的位置取向最优 -
DNN训练加速
多GPU反向传播
异步随机梯度下降
减小模型规模
记错 -
解码加速
并行计算
稀疏网络
低秩近似(大尺寸DNN训练小尺寸DNN)
多帧DNN -
DNN优于GMM
4、高级语音模型
4.1、RNN
-
循环神经网络(英文名Recurrent Neural Networks,简称RNN)是一种通过隐藏层节点周期性的连接,来捕捉序列化数据中动态信息的神经网络,可以对序列化的数据进行分类。
-
和其他前向神经网络不同,RNN可以保存一种上下文的状态,甚至能够在任意长的上下文窗口中存储、学习、表达相关信息,而且不再局限于传统神经网络在空间上的边界,可以在时间序列上有延拓。
-
RNN广泛应用在和序列有关的场景,如一帧帧图像组成的视频,一个个片段组成的音频,和一个个词汇组成的句子。
-
RNN适用的场景
循环符号代表时间的循环
-
结构展开
-
计算过程
-
标准RNN
t-1时刻会有一个输入x,并且有一个输出h和一个输出转态,当t时刻时,又会有一个输入x并且结合前面的输出转态,经过一个重复模块,转化成输出h和一个状态输出,以此重复。
-
BPTT(随时间反向传播)
-
RNN梯度消失和梯度爆炸
反向训练时,对于RNN来说,要横向往前推,一直往前推到序列开始的地方。
梯度消失,梯度爆炸都与路径长度太长有关,前面的权重都基本固定不变,没有训练效果。
4.2、长短时记忆网络LSTM
-
长短期记忆网络(Long Short-Term Memory , LSTM),是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。
-
LSTM区别于RNN的地方,主要就在于它在算法中加入了一个判断信息有用与否的“处理器”,这个处理器作用的结构被称为cell。一个cell当中被放置了三扇门,分别叫做输入门、遗忘门和输出门。一个信息进入LSTM的网络当中,可以根据规则来判断是否有用。只有符合算法认证的信息才会留下,不符的信息则通过遗忘门被遗忘。
-
LSTM与语音识别
-
LSTM的使用场景
-
标准LSTM
- 初始状态
- 遗忘门
- 输入门
- 更新信息
遗忘门+输入门- 输出门
4.3、GRU
4.4、BiRNN:双向循环神经网络
4.5、语音数据对齐
4.6、端到端模型
5、技术前沿和未来展望
5.1、技术前沿
5.2、语音识别难点
5.3、未来展望
- 更优的算法与模型
- 更先进的麦克风阵列技术
- 更先进的声学模型和范式
- 更强有力的工具
- 更深入的特征方法和预处理方法
- 多学科融合