精华内容
下载资源
问答
  • 语音识别概述

    万次阅读 多人点赞 2017-05-30 11:30:35
    语音识别概述语音识别问题就是模式分类问题。 一个基本的语音识别系统如下图,实现是正常工作流程,虚线是训练模式分类问题中的模板(这里就是声学模型,字典和语言模型)。 图1语音识别系统组件关系图 ...

    我的书:
    在这里插入图片描述
    淘宝购买链接
    当当购买链接
    京东购买链接

    #语音识别概述
    语音识别问题就是模式分类问题。
    一个基本的语音识别系统如下图,实现是正常工作流程,虚线是训练模式分类问题中的模板(这里就是声学模型,字典和语言模型)。
    这里写图片描述
    图1语音识别系统组件关系图
    语音识别是把语音声波转换成文字。给定目标语音的训练数据,可以训练一个识别的统计模型。用傅里叶变换将声波变换成频谱和幅度。
    基于HMM的传统的声学模型依赖于语音和文本数据,以及一个单词到音素的发音字典。HMM是序列数据的生成模型。
    训练后该模型将为每一个文本语句对应的备选发声波形给一个概率。这时如果给定一个说话的声波波形,则可以根据该模型找到最有可能的文本语句,但是这并不意味着找到的语句一定是正确的。
    将音素以及音素序列用离散的类来模拟。语音识别的目标是预测正确的类序列。如果zz表示从声波提取的特征向量序列,那么语音识别系统可以根据最优分类方程来工作:
    KaTeX parse error: Limit controls must follow a math operator at position 31: …orname*{argmax}\̲l̲i̲m̲i̲t̲s̲_{w \in W}P(w|z…
    实际上w^\hat w使用贝叶斯准则来计算该值。
    KaTeX parse error: Limit controls must follow a math operator at position 31: …orname*{argmax}\̲l̲i̲m̲i̲t̲s̲_{w \in W}\frac…
    其中P(Zw)P(Z|w)是声学似然(声学打分),代表了词ww被说了的情况下,语音序列ZZ出现的概率。p(w)p(w)是语音打分,是语音序列出现的先验概率,其计算依赖于语言模型,在忽略语音序列出现概率的情况下,上式可以简化为:
    KaTeX parse error: Limit controls must follow a math operator at position 31: …orname*{argmax}\̲l̲i̲m̲i̲t̲s̲_{w \in W}{P(Z|…
    这样语音识别可以分为两个主要步骤,特征提取和解码。
    ASR主要包括四个部分:信号处理和特征提取,声学模型(AM,acoustic model),语言模型(LM,language model)和解码搜索(hypothesis search)。
    这里写图片描述
    图2 连续语音识别
    这里写图片描述
    基于深度学习的改进如下:
    这里写图片描述
    其中可以看到声学模型和语言模型是分开的,这两个部分也是分开训练的,声学模型和语言模型两者经过训练各自最优,而二组组合成的系统并不一定是最优(即系统的WER(word error rate)),这在基于深度学习领域又提出了CTC(Connectionist temporal Classification )模型,CTC是端到端模型,即由语音特征序列直接到文字串的输出,此外,端到端模型还有LAS(Listen Attend and spell)

    ##语音特征提取
    ###用于训练的数据集

    1. 经过标注的文集
    2. 发音字典
    3. 一些其它用于训练语音模型的数据
      ###kaldi依赖的工具
    4. OpenFst 加权有限自动状态转换器(Weighted Finite State Transducer)
    5. ATLAS/CLAPACK标准的线性代数库
      ###贝叶斯准则和ASR
      P(Saudio)=p(audioS)P(S)p(audio)P(S|audio)=\frac{p(audio|S)P(S)}{p(audio)}
      其中pp是概率密度,PP是概率
      SS是单词序列,P(S)P(S)是语言模型,如n-gram语言模型或者概率模型。p(audioS)p(audio|S)是由数据训练得到的在已经单词序列SS时观察到发音序列audioaudio的统计概率密度。语音识别时,根据给定的语音,找到单词序列SS,其要满足P(Saudio)P(S|audio)概率最大,p(audio)是一个归一化因子,可以忽略。
      ###语音特征处理
      对于语音识别系统,语音特征这里指图一中的Signal Analysis。对于麦克风采集到的信号,可以使用谱或者倒谱分析,对于ASR,常用的特征是FBANK,MFCCs以及PLP特征。
      - 特征应该包括足够的信息以区分音素( 好的时间分辨率10ms,好的频率分辨率20~40ms)
      - 独立于基频F0F_0和其谐波
      - 对不同的说话人要有鲁棒性
      - 对噪声和通道失真要有鲁棒性
      - 具有好的模型匹配特征(特征维度尽量低,对于GMM还要求特征之间独立,对于NN方法则无此要求)
      这里写图片描述
      预加重模块增加了高频语音信号的幅度,预加重公式如下:
      x[td]=x[td]αx[td1],0.95<α<0.99x'[t_d]=x[t_d]-\alpha x[t_d-1], 0.95<\alpha <0.99
      语音信号是非稳态信号,但是信号处理的算法通常认为信号是稳态的,通常加窗以获得短时平稳信号:
      $x[n]=w[n]s[n] x_t[n]=w[n]x’[t_d+n]$
      为了减小截断带来的影响,通常使用hanning或者hamming窗
      w[n]=(1α)αcos(2πnL1)w[n]=(1-\alpha)-\alpha cos(\frac{2\pi n}{L-1})
      这里写图片描述
      ####麦克风采集
      对于ASR情况,采样率fs20KHzf_s \le 20KHz即有效语音频谱包含10KHz10KHz就足够了。为了识别率,通常有以下指标需要关注:

    • 采样率,截止频率在8KHz,这要求采样率fs16KHzf_s \ge 16KHz,为了防止频谱混跌,通常采样率大于16KHz16KHz,经过重采样后到16KHz16KHz
    • 为了减小语音失真,通常处理过程不加AGC,可以的化也不加NS(如果服务端有抗噪训练,如果不能处理噪声,ns也是需要的)
    • 避免语音被截幅(AOP要高,120dB@1KHz120dB@1KHz),峰值电平在-20~10dBFS为宜
    • 频谱尽量平坦(±3dB\pm 3dB,1008000Hz100-8000Hz),有两层意义,一个是麦克风频谱要求尽量频谱,一个是声音传播损耗需要预加重来增强。
    • 总谐波失真要小,小于1%(从100Hz8KHz,@90dBSPL100Hz-8KHz,@90dB SPL
    • SNR要高(65dB\ge 65dB为佳),减小ADC器件本身带来的噪声。
    • 采样有效比特数,其影响的是信噪比,大于等于16bit即可
    • 语音传输到服务端,对识别率由好到差(网络带宽由大到小)是:FLAC/LINEAR16, AWR_WB,OGG_OPUS

    这里写图片描述
    频谱平坦度实例
    这里写图片描述
    THD实例
    元音的频谱共振峰特征明显。使用STFT(short time fourier specturm)将其变换到频域,这是因为声道的形状(舌头,牙齿)能用短时功率谱的包络表示出来,
    一个处理的实例过程是,对输入的16khz语音,以25ms为窗大小,对窗长内数据加窗(汉宁窗)做FFT变换,对于每一个频点取对数能量,做DCT(离散余弦变换),获得导谱,取导谱的前13个系数,然后将前述25ms的窗向后滑动10ms重复上面的操作,那么每10ms将有一个向量输出。
    在做DCT前,使用“梅尔”缩放对频率轴进行缩放,并不直接取DCT变换后的个频谱分量,而是采用和“梅尔”缩放一样的粒度对DCT后的频谱取三角窗平均;通常也会采取预加重技术抵消加窗带来的影响。对信号加噪。得到MFCC(Mel Frequency Ceptural Coeffs)。
    此外,可选取的特征还有RASTA-PLP(相对频谱变换-感知线性预测, perceptual linear prediction)
    这里写图片描述
    ##声学模型
    声学模型使用GMM-HMM(混合高斯-隐马尔科夫模型,Gaussian mixture model-HMM),训练该模型的准则有早期的最大似然准则(ML,maximum likelihood),中期的序列判别训练法(sequence hierarchical model),以及目前广泛使用的给予deep learning的特征学习法:深度神经元网络(Deep Neural Network DNN)。
    ###GMM模型
    用在说话人识别,语音特性降噪以及语音识别方面。
    若随机变量XX服从均值为μ\mu,,方差为σ\sigma的概率分布,则其概率密度函数是:
    f(x)=12πe(xμ)22σ2f(x)=\frac{1}{\sqrt{2 \pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}
    则称xx服从高斯分布(正态分布)。记作:
    XN(μ,σ2)X\sim N(\mu,\sigma^2)
    正态随机向量X=(x1,x2,...,xD)T\mathbf{X}=(x_1,x_2,...,x_D)^T的高斯分布是:
    f(x)=12πDexp[12(xμ)T](xμ)f(\mathbf{x})=\frac{1}{\sqrt[D]{2\pi}\sqrt{|{\sum}|}}exp{[-\frac{1}{2}\frac{(\mathbf{x}-\mathbf{\mu})^T]}{\sum(\mathbf{x-\mu})}}
    记作:XN(μRD,RD×D)X\sim N(\mu \in R^D,\sum \in R^{D×D}),其中\sumD×DD×D维协方差矩阵,|\sum |\sum的行列式,=E(Xμ)(Xμ)\sum=E{(X-\mu)(X-\mu)}
    一个连续标量XX的混合高斯分布的概率密度函数:
    f(X)=m=1Mcm2πσme12(xμmσm)=m=1McmN(x;μm,σm2),(<x<+;σm>0;cm>0)f(X)=\sum_{m=1}^M\frac{c_m}{\sqrt{2\pi\sigma_m}}e^{-\frac{1}{2}(\frac{x-\mu_m}{\sigma_m})}=\sum_{m=1}^Mc_mN(x;\mu_m,\sigma_m^2),(-\infty<x<+\infty;\sigma_m>0; c_m>0)
    混合权重的累加和等于一,即m=1Mcm=1.\sum_{m=1}^Mc_m=1.和单高斯分布相比,上式是一个具有多个峰值分布(混合高斯分布),体现在M>1。混合高斯分布随机变量xx的期望是E(x)=m=1McmμmE(x)=\sum_{m=1}^Mc_m\mu_m
    多元混合高斯分布的联合概率密度函数是:
    f(x)=m=1Mcm2πDme12(xμm)Tm1(xμ)=m=1McmN(x;μm,m),(cm>0)f(\mathbf{x})=\sum_{m=1}^M\frac{c_m}{\sqrt[D]{2\pi}{\sqrt{|\sum_m|}}}e^{-\frac{1}{2}(\mathbf{x-\mu_m})^T\sum_m^{-1}(\mathbf{x-\mu})}=\sum_{m=1}^Mc_mN(x;\mu_m,\sum_m),(c_m>0)
    ###参数估计
    对于多元混合高斯分布,参数变量Θ=cm,μm,m\Theta={c_m,\mu_m,\sum_m},这里参数估计的目标是选择合适的参数以使混合高斯模型符合建立的语音模型.
    使用最大似然估计法估计混合高斯分布的参数:
    cm(j+1)=1Nt=1Nhm(j)(t)c_m^{(j+1)}=\frac{1}{N}\sum_{t=1}^Nh_m^{(j)}(t)
    μm(j+1)=t=1Nhm(j)(t)X(t)t=1Nhmj(t)\mu_m^{(j+1)}=\frac{\sum_{t=1}^Nh_m^{(j)}(t)\mathbf{X}^{(t)}}{\sum_{t=1}^Nh_m^{j}(t)}
    m(j+1)=t=1Nhm(j)[xtμmj][xtμmj]Tt=1Nhm(j)(t)\sum_m^{(j+1)}=\frac{\sum_{t=1}^Nh_m^{(j)}[\mathbf{x}^t-\mu_m^j][\mathbf{x}^t-\mu_m^j]^T}{\sum_{t=1}^Nh_m^{(j)}(t)}
    后验概率hh的计算如下:
    hmj(t)=cm(j)N(Xt;μmj,mj)i=1ncijN(xt;μij,ij)h_m^j(t)=\frac{c_m^{(j)}N\mathbf(X^t;\mu_m^{j},\sum_m^j)}{\sum_{i=1}^nc_i^jN(\mathbf{x^t;\mu_i^j,\sum_i^j})}
    基于当前(第j次)的参数估计,xtx^t的条件概率取决于每一个采样。
    GMM模型适合用来对语音特征建模,而现实世界中组成的字的音节所包含的语音特征是有顺序概念在里面的,这时使用HMM来表示其次序特征。
    GMM模型不能有效的对呈非线性或者近似线性的数据进行建模。
    ##隐马尔科夫模型HMM(hidden markov model)
    HMM,的核心就是状态的概念,状态本身是离散的随机变量,用于描述随机过程。
    ###马尔科夫链
    设马尔科夫链的状态空间是qts(j),j=1,2,...,Nq_t\in {s^{(j)},j=1,2,...,N},一个马尔科夫链q1T=q1,q2,...,qT\mathbf{q}_1^T=q_1,q_2,...,q_T,可被转移概率完全表示,定义如下:
    p(qt=s(j)qt1=s(i))pij(t),i,j=1,2,...,Np(q_t=s^{(j)}|q_{t-1}=s(i))\doteq p_{ij}(t),i,j=1,2,...,N
    如果转移概率和时间无关,则得到齐次马尔科夫链,其矩阵表示方式如下:
    A=[p11p12p13...p21p22p23...p31p32p33...],pij=1A=\begin{bmatrix} p_{11}&p_{12}&p_{13}&...\\ p_{21}&p_{22}&p_{23}&...\\ p_{31}&p_{32}&p_{33}&... \end{bmatrix},\sum p_{ij}=1
    其观察概率分布P(otts(i)),i=1,2,...,NP(o_tt|s^{(i)}),i=1,2,...,N,观察向量oto_t是离散的,每个状态对应的概率分布用来描述观察v1,v2,...,vN{v_1,v_2,...,v_N}的概率:
    bi(k)=P(ot=vkqt=i),i=1,2,...,Nb_i(k)=P(o_t=v_k|q_t=i),i=1,2,...,N
    在语音识别中,使用HMM的概率密度函数来描述观察向量otRDo_t \in R^D的概率分布,其概率密度函数在语音识别中选择GMM的概率密度函数:
    bi(ot)=m=1Mcim(2π)D/2i1/2exp[12(otμi,m)Ti,m1(otμi,m)]b_i(o_t)=\sum_{m=1}^M\frac{c_im}{(2\pi)^{D/2}|\sum_i|^{1/2}}exp[-\frac{1}{2}(o_t-\mu_{i,m})^T\sum_{i,m}^{-1}(o_t-\mu_i,m)]
    隐马尔科夫模型是统计模型,其被用来描述一个含有隐含位置参数的马尔科夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来进一步的分析。例如模式识别。
    ###隐马尔科夫模型
    其是序列的概率模型,在每一个时刻都有一个状态与之对应。计算p(sequencemodel)p(sequence|model)包括以对指数状态序列求和。可以使用动态规划递归求解,模型参数训练的目标是最大化训练数据集的概率。
    其涉及两个重要的算法

    • 前向后向算法
      递归计算状态概率,在模型训练时使用。
    • 维特比算法
      对于给定的字符序列,查找到最有可能的HMM状态序列。
      早期基于HMM的语言模型使用向量量化(Vector Quantization)将语音特征映射到一个符号(通常有256个符号),每一个发音由三个马尔科夫状态表示,也就是三音素模型。
      ###HMM参数学习-Baum-Welch法
      定义“完整的数据”为y={o,h}\mathbf{y}=\mathbf{\{o,h\}},其中是oo观测值(如语音特征)。hh是隐藏随机变量(如非观测的HMM状态序列),这里要解决的是对未知模型参数θ\theta的估计,这通过最大化对数似然度logp(oθ)logp(o|\theta)可以求得,然而直接求解不易。可转换为如下公式求θ\theta的估计:
      Q(θθ0)=Eho[logp(y;θ)o;θ0]=E[logp(o,h;θ)o;θ0]Q(\theta|\theta_0)=E_{h|o}[\log p(\mathbf{y};\theta)|\mathbf{o};\theta_0]=E[\log p(\mathbf{o},\mathbf{h};\theta)|\mathbf{o};\theta_0]
      其中θ0\theta_0是前一次的估计。则上式离散情况下的期望值如下:
      Q(θtheta0)=hp(ho)logp(y:θ)Q(\theta|theta_0)=\sum_hp(\mathbf{h}|\mathbf{o})\log p(\mathbf{y}:\theta)
      为了计算的方便,将数据集改为y=[o1T,q1T]\mathbf{y}=[\mathbf{o}_1^T,\mathbf{q}_1^T],o\mathbf{o}依然是观测序列h\mathbf{h}是观测序列mathbfqmathbf{q}是马尔科夫链状态序列,BaTum-Welch算法中需要在E步骤中计算得到如下的条件期望值,或成为辅助函数Q(θθ0)Q(\theta|\theta_0):
      Q(θθ0)=E[logp(o1T,q1Tθ)o1T,θ0]Q(\theta|\theta_0)=E[\log p(\mathbf{o_1^T,q_1^T|\theta})\mathbf{o_1^T,\theta_0}]
      这里期望通过隐藏状态序列q1T\mathbf{q_1^T}确定得到。
      ###维特比算法
      在给定观察序列o1T=o1,o2,...,oT\mathbf{o}_1^T=\mathbf{o}_1,\mathbf{o}_2,...,\mathbf{o}_T的情况下,如何高效的找到最优的HMM状态序列。动态规划算法用于解决这类T\mathbf{T}阶路劲最优化的问题被称为维特比(Viterbi)算法。对于转移状态aija_{ij}给定的HMM,设状态输出概率分布为bi(ot)b_i(\mathbf{o_t}),令δi(t)\delta_i(t)表示部分观察序列o1t\mathbf{o}_1^t到达时间tt,同时相应的HMM状态序列在该时间处在状态ii时的联合似然度的最大值:
      δi(t)=maxq1,q2,...,qt1P(o1t,q1t1,qt=i)\delta_i(t)=max_{q_1,q_2,...,q_{t-1}}P(\mathbf{o}_1^t,q_1^{t-1},q_t=i)
      对于最终阶段t=Tt=T,有最优函数δiT\delta_i^T,这通过计算所有tT1t\le{T-1}的阶段来得到。当前处理t+1t+1阶段的局部最优似然度,可以使用下面的函数等式来进行递归得到:
      δjt=1=maxiδi(t)aijbj(ot+1)\delta_j^{t=1}=max_i\delta_i(t)a_{ij}b_j(\mathbf{o}_{t+1})
      在语音建模和相关语音识别应用中一个最有趣且特别的问题就是声学特征序列的长度可变性。
      ###HMM识别器
      单词序列W(w1,w2,...,wk)\mathbf{W}(w_1,w_2,...,w_k)被分解为基音序列。在已知单词序列W\mathbf{W}下观察到特征序列Y\mathbf{Y}的概率p(YW)p(\mathbf{Y}|\mathbf{W})按如下公式计算:
      P(YW)=QP(yQ)P(QW)P(Y|W)=\sum_QP(y|Q)P(Q|W)
      Q\mathbf{Q}是单词发音序列Q1,...,QkQ_1,...,Q_k,每一个序列有事基音的序列Qk=q1(k),q2(k)...,Q_k=q_1^{(k)},q_2^({k)}...,,则有:
      P(QW)=k=1KP(Qkwk)P(Q|W)=\prod_{k=1}^KP(Q_k|w_k)
      这里写图片描述
      图2 基于HMM的音素模型
      如上图所示,基音qq由隐马尔科夫密度表示,状态转移参数是aij{a_{ij}},观察分布是{b_j()},其通常是混合高斯分布:
      bj(y)=m=1McjmN(y;μjm,jm)b_j(\mathbf{y})=\sum_{m=1}^Mc_{jm}N(\mathbf{y};\mu_{jm},\sum_{jm})
      其中NN是均值为μjm\mu_{jm},方差为jm\sum_{jm},约10到20维的联合高斯分布。由于声学向量y\mathbf{y}维度较高,协方差矩阵通常限制为对角阵。状态进入和退出是非发散。Q\mathbf{Q}是基音序列的线性组合,声学似然如下:
      p(YQ)=Xp(X,YQ)p(\mathbf{Y}|\mathbf{Q})=\sum_Xp(\mathbf{X,Y|Q})
      其中X=x(0),...,x(T)\mathbf{X}=x(0),...,x(T)是混合模型的状态序列。
      p(X,YQ)=ax(0),x(1)t=1Tbx(t)(yt)ax(t),x(t+1)p(\mathbf{X,Y|Q})=a_{x(0),x(1)}\prod_{t=1}^Tb_x(t)(y_t)a_{x(t),x(t+1)}
      声学模型参数aij{a_{ij}}bj(){b_j()}可以使用期望最大化的方式从语料库中训练得到。
      由于发音通常是上下文相关的,如food和cool,通常使用三音子模型,以实现上下文相关法。如果有N个基音。那么将有N3N^3个可能的三音子。可以使用映射集群的方式缩减规模。
      逻辑到物理模型集群通常是对状态层次的集聚而非模型层级的集群,每个状态所属的集群通过决策树确定。每个音素qq的状态位置有一个二进制决策树与之相关。每一个音素模型有三个状态,树的每个节点都是语义的判断。将由qq得到的逻辑模型音素qq的状态ii的集群。以最大化训练数据集的最终状态集概率为准则设置各个节点的判断条件。

    ##语言模型
    语言模型计算单词序列的概率p(w1,w2,...,w3)p(w_1,w_2,...,w_3),传统语言模型当前词的概率依赖前n个单词,这通常由马尔科夫过程描述。
    p(w1,...,wm)=i=1mp(wiw1,...,wi1)i=1mp(wiwi(n1),...,wi1)p(w_1,...,w_m)=\prod_{i=1}^{m}p(w_i|w_1,...,w_{i-1})\approx \prod_{i=1}^{m}p(w_i|w_{i-(n-1)},...,w_{i-1})
    ###N-gram语言模型
    一个单词序列W=w1,...,wkW=w_1,...,w_k的概率由以下公式表示:
    p(W)=k=1Kp(wkwk1,...,w1)p(W)=\prod_{k=1}^Kp(w_k|w_{k-1},...,w_1)
    对于大词汇量的识别问题,第NN个单词的概率只依赖于前N1N-1个。
    p(W)=k=1Kp(wkwk1,wk2,...,wkN+1)p(W)=\prod_{k=1}^Kp(w_k|w_{k-1},w_{k-2},...,w_{k-N+1})
    通常N取2~4。通过计算训练数据集中N-gram出现的次数来形成最大似然概率。例如:
    C(wk2wk1wk)C(w_{k-2}w_{k-1}w_k)wk2wk1wkw_{k-2}w_{k-1}w_k三个词出现的次数,C(wk2wk1)C(w_{k-2}w_{k-1})wk2wk1w_{k-2}w_{k-1}出现的概率,则:
    p(wkwk1wk2)C(wk2wk1wk)C(wk2wk1)p(w_k|w_{k-1}w_{k-2})\approx \frac{C(w_{k-2}w_{k-1}w_k)}{C(w_{k-2}w_{k-1})}
    这种统计方式存在一个数据稀疏性问题。这通过结合非技术概率模型解决。
    p(wkwk1,wk2)=C(wk2wk1wk)C(wk2wk1)p(w_k|w_{k-1},w_{k-2})=\frac{C(w_{k-2}{w_{k-1}w_k})}{C(w_{k-2}w{k-1})}
    一元和二元语法模型的概率基于训练文集中单词出现的次数来统计。
    p(w2w1)=count(w1,w2)count(w1)p(w_2|w_1)=\frac{count(w_1,w_2)}{count(w_1)}
    p(w3w1,w2)=count(w1,w2,w3)count(w1,w2)c>c;=dcount(w1,w2,w3)count(w1,w2)0<C<C;=α(wk1,wk2)p(wkwk1)p(w_3|w_1,w_2)=\frac{count(w_1,w_2,w_3)}{count(w_1,w_2)},如果c>c'; =d\frac{count(w_1,w_2,w_3)}{count(w_1,w_2)},如果0<C<C'; =\alpha(w_{k-1,w_{k-2}})p(w_k|w_{k-1}),其它
    其中CC是计数门限,dd是不连续系数,α\alpha是归一化常数。
    如果语音模型完全符合HMM模型(基于对角协方差多元高斯混合分布概率模型)假设的统计特性病切训练数据是充足的,那么就最小方差和零偏场景,最大似然准则解是最优解。可以从两个方面弥补非理想性,一个是参数估计策略,一个是模型。也有很多方法从这两个方面提升性能。
    ###归一化
    归一化的目的是减小环境和说话人物理特性差异的影响。由于前端特征源于对数频谱,特征值均值归一化见笑了通道的差异影响。倒谱方差归一化缩放每一个特征系数以获得单位方差,这减小了加性噪声的影响。
    声道长度变化将导致共振峰频率近似线性变换,所以在前端特征提取时考虑线性缩放滤波器中心频率以获得近乎一致的共振峰频率,这一过程被称为VTLN(vocal-track-length normalization)。VTLN需要解决缩放函数定义和针对每个说话人的缩放函数参数估计。缩放函数可以采用分段线性函数(针对男声和女声所含信息不同)。
    另外,如果训练语音数据集不能完全覆盖测试集中的说话人和说话场景,则语音识别将会产生错误,这类问题可以通过自适应的方法进行求解。
    ##加权有限状态转换机的语音识别
    这是传统的语音识别方法,包括HMM模型,文本相关模型,发音字典,统计语法,单词和音素格。
    这里写图片描述
    图3 传统ASR流程
    ###加权有限自动机
    有限自动机定义为一个五元组:
    A=(Q,,E,q0,F)A=(Q,\sum,E,q_0,F)
    其中QQ是状态集合,\sum是输入符号集合,EE为转移(边)集,其接收一个状态和输入符号,输出一个目的状态或者空。q0Qq_0 \in Q是初始状态,FQF \subset Q是最终状态集或者接受状态集。
    ###权值的半环理论
    语音识别时,不仅仅想要知道某个字串是否能够被接受,还要知道字串在语音中出现的概率。一个半环为一个五元组:

    ##DNN(Deep neutral network)深度神经网络
    2013年算是语音识别新高度的又一个重要年份,该年提出基于深度学习的方法获得的效果比传统的好,不需要进行声学和语言进行建模,且自动学习过程可以获得比传统高斯等模型获得更加准确的毕竟(前提条件是训练模型的数据要准)。

    名字起的很霸气,神经网络,实际上和生物神经相比还差十万八千里的距离,这里的DNN实际上就是计算图,更具体的多就是矩阵运算再加上非线性计算。
    不过这里依然沿用媒体上的流行说法“神经元”。
    2013~205
    由于语音的前后相关性,所以多用RNN的方式进行处理,但是villa DNN(经典)由于其训练难度大等特性,其不同的变种RNN(区别于CNN)被各类学者提出来,这些模型包括LSTM/GRU,以及它们的很多其它的变种,这带来的好处是,计算量大大减小,很快称为新一代工程实现的首选。
    这期间为了提升性能,也有其它额外的组件出来,如attention方法,行卷积方法等等
    2016~
    由于之前的声学模型和语言模型是分开训练的,它们的判决准则并不一致,所以会有一些拟合的方法加以改进这种不足,不过以前的方法多是修修补补,这个时段提出“端到端”的思想,举例来说,输入和传统语音识别系统一样,可以是MFCC或者PLP等特征,中间模块不再区分声学模型还是语言模型,一步到位,输出可以是音素,字符或者单词,这种模型的好处是对训练数据集不再要求是按照音素对齐的(loss函数是基于对其的方式求得的),可以丢弃掉音素的概念,这里的损失函数。基本思想是对于给定的输入序列,将网络输出理解成所有可能label的一个概率分布。经过分类后可以得到一个label。CTC就是端到端用的非常广的一种方法。

    这期间还有将CNN和RNN拼接起来获得更高性能的,还有使用深度学习方法处理前端语音增强的。

    ###深度神经元网络架构
    深度神经元网络是传统的多层感知系统(MLP,multilayer perception)。
    Vl=f(zl)=f(Wlvl+bl),0<l<L\mathbf{V}^l=f(z^l)=f(\mathbf{W}^l\mathbf{v}^l+\mathbf{b}^l),0<l<L
    此处,zl=Wlvl+blRN1×l,vlRN1×l,WlRNl×1,NlRz^l=\mathbf{W}^l\mathbf{v}^l+\mathbf{b}^l \in R^{N_1×l},\mathbf{v}^l\in R^{N_1×l},\mathbf{W}^l\in R^{N_l×1},N_l \in R他们分别是激励向量,权重矩阵,偏移向量以及ll层神经元数。v0=0RN0×l\mathbf{v}^0=\mathbf{0} \in R^{N_0×l}是观测(特征)向量。N0=DN_0=D是特征维度。f()f(\cdot)是激励函数。
    ###训练评价准则
    最小期望准则:
    JEL=E(J(W,b;o,y))=oJ(W,b;o,y)p(o)d(o)J_{EL}=E(J(\mathbf{W,b;o,y}))=\int_oJ\mathbf{(W,b;o,y)}p(o)d(o)
    {w,b}\{\mathbf{w,b}\}是参数模型,o\mathbf{o}是观测向量,yy是输出向量,p(o)p(o)是观测向量oo概率密度函数,J(W,b;o,y)J\mathbf{(W,b;o,y)}是损耗函数。
    回归问题常采用均方误差准则:
    JMSEmathbf(W,b;S)=1Mm=1MJMSE(W,b;om,ym)J_{MSE}mathbf{(W,b;S)}=\frac{1}{M}\sum_{m=1}^MJ_{MSE}\mathbf{(W,b;o^m,y^m)}
    JMSEmathbf(W,b;o,y)=12vLy2J_{MSE}mathbf{(W,b;o,y)}=\frac{1}{2}||\mathbf{v^L-y}||^2
    对于分类问题,y是概率分布,则使用交叉熵准则:
    JCE=(W,b;S)=1MJCE((W,b;om,ym))J_{CE}=(\mathbf{W,b;S})=\frac{1}{M}J_{CE}(\mathbf{(W,b;o^m,y^m)})
    ###数据预处理
    在语音识别中,CMN(Cepstral Normalization)导谱系数归一化,即减去每个音节MFCC特征的均值能减小通道引入的畸变。CMN的归一化可以通过首先估算样本的均值,然后用样本值减去估算均值而得到。
    这里写图片描述
    DNN-HMM混合系统架构

    ###SyntaxNet
    谷歌2016开源,称“世界最准确解析器”,tensorflow框架下快速,高性能的句法分析器。有三个特色

    • 无标注数据-Tri-training
    • 调整过的神经网络模型
    • 结构感知
      ###Word2vec&Glove
      word2verc是谷歌2013年开源的词向量处理法,占用内存少,glove是全局向量的缩写,也是谷歌开源词向量技术,数据量充足时训练效果会优于word2vec,训练时间长。
      ####Skip-Gram模型
      每一个字wWw \in W由一个向量表示vwRdv_w \in R^d,类似的每一个上下文cCc \in C由向量vcRdv_c \in R^d表示, WW是单词,CC是上下文,dd是嵌入的维度。
      该语法模型的目的是查找使单词-上下文对最为合理的vwvcv_w \cdot v_c乘积。
      假设观察到的单词ww和上下文cc(w,c)(w,c)的数据集是DD.
      使用p(D=1w,c)p(D=1|w,c)指示(w,c)(w,c)源于数据集DD的概率。p(D=0w,c)=1p(D=1w,c)p(D=0|w,c)=1-p(D=1|w,c)表示(w,c)(w,c)不在数据集DD的概率。分布模型如下:
      p(D=1w,c)=11+evwvcp(D=1|w,c)=\frac{1}{1+e^{-v_w\cdot v_c}}
      其中vwv_wvcv_c是两个要学习的dd维向量。目标是使观察到的单词/语句对的对数概率最大化,这样可以得到目标函数:
      argmaxvw,vc(w,c)Dlog11+evcvwargmax_{v_w,v_c}\sum_{(w,c) \in D}log\frac{1}{1+e^{-v_c\cdot v_w}}
    展开全文
  • 语音识别概述

    语音识别概述

     

    数据/语料库

    英文数据
    • TIMIT:音素识别,LDC版权
    • WSJ:新闻播报,LDC版权
    • Switchboard:电话对话,LDC版权
    • Aurora4,鲁棒语音识别(WSJ加噪)(http://aurora.hsnr.de/aurora-4.html)• Librispeech:有声读物,1000小时,开源(http://openslr.org/12/)
    • AMI:会议,开源(http://openslr.org/16/)
    • TED-LIUM:演讲,开源(http://openslr.org/19/)
    • CHiME-4:平板远讲,需申请
    • CHiME-5/6:聚会聊天,需申请

    中文数据
    • THCHS-30,30小时,开源(http://openslr.org/18/)
    • HKUST,150小时,电话对话,LDC版权
    • AIShell-1:178小时,开源(http://openslr.org/33/)
    • AIShell-2:1000小时,开源需申(http://www.aishelltech.com/aishell_2)• aidatatang_200zh,200小时,开源(http://openslr.org/62/)
    • MAGICDATA,755小时,开源(http://openslr.org/68/)

    工具包

    • HTK: http://htk.eng.cam.ac.uk/ (c)
    • Kaldi: http://kaldi-asr.org/ (c++, python)【推荐】
    • ESPNet: https://github.com/espnet/ (pytorch based)
    • Lingvo: https://github.com/tensorflow/lingvo.git (Tensorflow based)

     

    推荐阅读:
    Daniel Jurafsky and James H. Martin, Speech and language processing: An introduction to natural language processing, computational linguistics, and speech recognition, Second Edition, Prentice Hall, 2008 (或第三版)

    • Xuedong Huang, Alex Aceoro, Hsiao-Wuen Hon, Spoken Language Processing: A guide to theory, algorithm, and system development, Prentice Hall, 2011

    • 韩继庆、张磊、郑铁然,《语音信号处理》,清华大学出版社• 赵力,《语音信号处理》,机械工业出版社

    • Lawrence Rabiner, Biing-Hwang Juang, Fundamentals of Speech Recognition, Prentice Hall, 1993

    • Dong Yu and Li Deng, Automatic Speech Recognition - A Deep Learning Approach, Springer, 2014

    • 俞栋、邓力著,俞凯、钱彦旻译,《解析深度学习:语音识别实践》,电 子工业出版社

    • 李航,《统计学习方法》(第二版),清华大学出版社

    • Automatic Speech Recognition (ASR) 2018-2019 Lectures, School of Informatics, University of Edinburgh,https://www.inf.ed.ac.uk/teaching/courses/asr/lectures-2019.html

    • Speech Recognition, EECS E6870 – Spring 2016, Columbia University,http://www.ee.columbia.edu/~stanchen/spring16/e6870/outline.html

    展开全文
  • 3.2 语音识别概述

    2019-12-06 16:08:55
    一、语音信息处理:从语音信号中解析各种信息的过程。...(包括:语音识别、说话人识别、情绪识别、语种识别等) 二、短时分析:短时频谱分析、滤波器组方法(Filter Bank)、线性预测分析等。 ...

    一、语音信息处理:从语音信号中解析各种信息的过程。
    (包括:语音识别、说话人识别、情绪识别、语种识别等)
    二、短时分析:短时频谱分析、滤波器组方法(Filter Bank)、线性预测分析等。

    展开全文
  • 人工智能之语音识别概述(一)

    千次阅读 2020-09-27 17:18:28
    语音识别以语音为研究对象,它是语音信号处理的一个重要研究方向,是模式识别的一个分支,涉及到生理学、心理学、语言学、计算机科学以及信号处理等诸多领域,甚至还涉及到人的体态语言,最终目标是实现人与机器进行...

    1. 语音是被研究对象和基本内容

    语音识别以语音为研究对象,它是语音信号处理的一个重要研究方向,是模式识别的一个分支,涉及到生理学、心理学、语言学、计算机科学以及信号处理等诸多领域,甚至还涉及到人的体态语言,最终目标是实现人与机器进行自然语言通信

    语音识别的基本内容

    • 语音识别的定义
    • 语音识别发展历史
    • 语音识别系统框架

    2 语音识别的定义

    语音识别的定义
    语音识别在狭义上有称为自动语音识别(Automatic Speech Recognition,ASR),它本质上是一种人机交互方式,就是让计算机通过识别和理解过程把人类的语音信号转变为想要的文本或者命令,以便计算机进行理解和产生相应的操作。
    在这里插入图片描述
    语音识别的应用
    在这里插入图片描述

    3 语音识别发展史

    语音识别发展历程

    • 现代语音识别可以追溯到1952年,Davis等人研制了世界上第一个能识别10个英文数字发音的实验系统,从此正式开启了语音识别的进程。语音识别发展到今天已经有70多年,大致可以分为四个阶段。
      在这里插入图片描述

    语音识别发展的初期

    • 70年代,语音识别主要集中在小词汇量、孤立词识别方面,使用的方法也主要是简单的模板匹配方法,即首先提取语音信号的特征构建参数模板,然后将测试语音与参考模板参数进行一一比较和匹配,取距离最近的样本所对应的词标注为该语音信号的发音。
    • 该方法对解决孤立词识别是有效的,但对于大词汇量、非特定人连续语音识别就无能为力

    HMM-GMM时代

    • 基于GMM-HMM框架,研究者提出各种改进方法,如结合上下文信息的动态贝叶斯方法、区分性训练方法、自适应训练方法、HMM/NN混合模型方法等。这些方法都对语音识别研究产生了深远影响,并为下一代语音识别技术的产生做好了准备。

    在这里插入图片描述

    DNN-HMM时代

    • 2009年,Hinton将DNN应用于语音的声学建模,在TIMIT上获得了当时最好的结果。2011年底,微软研究院的俞栋、邓力又把DNN技术应用在了大词汇量连续语音识别任务上,大大降低了语音识别错误率。从此语音识别进入DNN-HMM时代。

    在这里插入图片描述

    深度学习时代

    • 随着深度学习的发展,语音识别技术进入了端到端的技术阶段。端到端技术主要分成两类:一类是CTC方法,另一类是Sequence-to-Sequence方法。

    在这里插入图片描述

    语音识别技术发展历程

    在这里插入图片描述

    4 语音识别框架

    语音对话系统的组成

    • 我们只关注语音识别系统,语音识别系统主要包含四个组成部分:特征提取和信号处理、声学模型(Acoustic Model)、语言模型(Language Model)和解码搜索部分。

    在这里插入图片描述

    语音识别系统的组成

    -我们只关注语音识别系统,语音识别系统主要包含四个组成部分:特征提取和信号处理、声学模型(Acoustic Model)、语言模型(Language Model)和解码搜索部分。
    在这里插入图片描述

    展开全文
  • (三)语音识别概述

    2016-12-26 15:19:00
    语音识别第三步:了解语音识别的相关背景 1.语音识别的发展历史 作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注。以语音识别开发出的产品应用领域非常广泛,有...
  • ASR---自动语音识别 概述

    千次阅读 2017-08-19 18:31:50
    语音识别基本原理: 观察矢量X=X1X2…Xn 词序列W=W1W2…Wm  最优词序列W^     P(X|W): 声学模型描述了词W产生的情况下信号X的概率。 P(W): 语言模型描述了词W出现的频率 概率分布P(X|W)和P(W)被假设成某种已知...
  • 语音识别技术概述

    2020-10-04 18:56:28
    深度学习数据集Author:louwillFrom:深度学习笔记语音识别(Speech Recognition)是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类的...
  • 你一定不会怀疑自己电脑的麦克风正背着你偷偷摸摸做些什么,因为你已经很久没有用过它了。但事实真的是这样吗?难道谷歌真的在“监听”用户...对于视频中展现的“事实”,可能的操作是谷歌使用了一个语音关键词识别...
  • [语音识别] 语音识别系统化整理

    千次阅读 2020-03-22 15:59:32
    [语音识别] 01 语音识别概述 [语音识别] 02 语音信号处理及特征提取 [语音识别] 03 GMM以及EM算法 [语音识别] 04 隐马尔可夫模型 (HMM) [语音识别] 05 基于GMM-HMM的语音识别系统(单音素、三音素) [语音识别]...
  • 语音识别技术概述.pdf

    2013-08-01 16:20:12
    文章阐述语音识别的发展历史、基本原理,分析了语音识别的发展前景。
  • 语音识别发展概述

    千次阅读 2012-08-29 10:58:41
    语音识别研究从二十世纪50年代开始到现在已经历半个多世纪的蓬勃发展,在这期间获得了巨大的进展。这里仅仅按照一些重要方法的出现和发展为线索进行简要回顾。  50年代,研究人员大都致力于探索声学—语音学的基本...
  • 深度学习语音识别方法概述与分析

    千次阅读 2020-05-08 11:24:19
    1 语音识别方法研究现状 随着人机交互技术越来越受到人们的重视,而人通过语音与计算机进行交互是除了手动键盘输入之外最自然最基本的交互方式,所以也越来越引起研究人员的关注。语音识别方法即自动语音识别( ...
  • 语音识别技术概述与调研 语音识别已经成为人工智能应用的一个重点,通过语音控制设备简单方便,在各个领域兴起了研究应用的热潮。数据、算法及芯片是语音识别技术的3个关键,大量优质的数据、精准快速的算法和高性能...
  • 原标题:语音识别技术原理概述语音识别的基本原理所谓语音识别,就是将一段语音信号转换成相对应的文本信息,系统主要包含特征提取、声学模型,语言模型以及字典与解码四大部分,其中为了更有效地提取特征往往还...
  • PyTorch-Kaldi 语音识别工具包概述 THE PYTORCH-KALDI SPEECH RECOGNITION TOOLKIT Mirco Ravanelli
  • qt 语音识别

    2020-10-27 18:40:41
    广告关闭腾讯云双11爆品... 1 语音识别概述 语音识别技术最早可以追溯到20世纪50年代,是试图使机器能“听懂”人类语音的技术。 按照目前主流的研究方法,连续语音识别和孤立词语音识别采用的声学模型一般不同。 孤...
  • Nuance语音识别技术

    2021-01-19 20:35:55
    1.语音识别概述  语音识别技术,Automatic Speech Recognition,简称ASR,是一种让机器听懂人类语言的技术。语言是人类进行信息交流的主要、长用、直接的方式。语音识别技术是实现人机对话的一项重大突破,在国外...
  • 语音识别第1讲:概述

    2020-08-10 15:44:41
    自动语音识别(Automatic Speech Recognition,ASR),简称为语音识别。 参考:语音识别综述-从概念到技术 1. 概述 声音从本质是一种波,这种波可以作为一种信号来处理,所以语音识别的输入实际上就是一段随时间...
  •  1 语音识别概述  语音识别技术早可以追溯到20世纪50年代,是试图使机器能“听懂”人类语音的技术。按照目前主流的研究方法,连续语音识别和孤立词语音识别采用的声学模型一般不同。孤立词语音识别一般采用DTW...
  • 科学家在研制计算机的过程中一直在努力开发语音识别技术。如今,经过近半个世纪的发展,几百万人经常与汽车、智能电话和客户服务呼叫中心内的计算机进行语音交互。语音广告的分析这份 IBM 广告介绍了 IBM 约克镇研究...
  • 语音识别(一)——概述-附件资源
  • 概述 声音从本质是一种波,这种波可以作为一种信号来处理,所以语音识别的输入实际上就是一段随时间播放的信号序列,而输出则是一段文本序列。将语音片段输入转化为文本输出的过程就是语音识别。 一个完整的语音...
  • 语音识别(一)——概述

    万次阅读 2018-08-13 09:33:57
    虽然现在的语音识别中,DL已经应用的非常广泛了,但是语音识别终究还是有一些领域知识的,将之归类为DL或者ML,似乎都不妥当。特形成本系列文章,用以描述automatic speech recognition的领域知识和传统方法。 说...
  • 语音识别系统结构——鸟瞰

    万次阅读 多人点赞 2016-05-26 12:53:42
    语音识别概述语音识别是指将语音信号转换为文字的过程。本文简略地介绍现在通行的语音识别系统框架。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 740
精华内容 296
关键字:

语音识别概述