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

语音识别核心模型的数学原理和公式

在语音识别中,深度学习模型通过对声学特征的分层学习来实现语音到文本的转换。以下是几个核心模型的数学原理和公式:

1. 循环神经网络(RNN)

RNN通过隐藏状态的循环传递捕获序列依赖关系:

ht=σ(Whhht−1+Wxhxt+bh)h_t = \sigma(W_{hh}h_{t-1} + W_{xh}x_t + b_h)ht=σ(Whhht1+Wxhxt+bh)
yt=Whyht+byy_t = W_{hy}h_t + b_yyt=Whyht+by

其中:

  • xtx_txt 是时刻 ttt 的输入向量
  • hth_tht 是时刻 ttt 的隐藏状态
  • yty_tyt 是时刻 ttt 的输出
  • WWWbbb 是可训练参数
  • σ\sigmaσ 是激活函数(如tanh或ReLU)

2. 长短期记忆网络(LSTM)

LSTM通过门控机制解决RNN的梯度消失问题:

it=σ(Wi[ht−1,xt]+bi)i_t = \sigma(W_i[h_{t-1}, x_t] + b_i)it=σ(Wi[ht1,xt]+bi)
ft=σ(Wf[ht−1,xt]+bf)f_t = \sigma(W_f[h_{t-1}, x_t] + b_f)ft=σ(Wf[ht1,xt]+bf)
ot=σ(Wo[ht−1,xt]+bo)o_t = \sigma(W_o[h_{t-1}, x_t] + b_o)ot=σ(Wo[ht1,xt]+bo)
C~t=tanh⁡(WC[ht−1,xt]+bC)\tilde{C}_t = \tanh(W_C[h_{t-1}, x_t] + b_C)C~t=tanh(WC[ht1,xt]+bC)
Ct=ft⊙Ct−1+it⊙C~tC_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_tCt=ftCt1+itC~t
ht=ot⊙tanh⁡(Ct)h_t = o_t \odot \tanh(C_t)ht=ottanh(Ct)

其中包含:

  • 输入门 iti_tit:控制新信息的流入
  • 遗忘门 ftf_tft:控制历史信息的保留
  • 输出门 oto_tot:控制当前状态的输出
  • 细胞状态 CtC_tCt:长期记忆通道

3. 门控循环单元(GRU)

GRU是LSTM的简化变体,合并了细胞状态和隐藏状态:

zt=σ(Wz[ht−1,xt])z_t = \sigma(W_z[h_{t-1}, x_t])zt=σ(Wz[ht1,xt])
rt=σ(Wr[ht−1,xt])r_t = \sigma(W_r[h_{t-1}, x_t])rt=σ(Wr[ht1,xt])
h~t=tanh⁡(W[ht−1⊙rt,xt])\tilde{h}_t = \tanh(W[h_{t-1} \odot r_t, x_t])h~t=tanh(W[ht1rt,xt])
ht=(1−zt)⊙ht−1+zt⊙h~th_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_tht=(1zt)ht1+zth~t

其中:

  • 更新门 ztz_tzt:控制历史信息和当前输入的融合比例
  • 重置门 rtr_trt:控制忽略历史状态的程度

4. 卷积神经网络(CNN)

CNN通过卷积操作提取局部特征:

yi,j=∑m=0M−1∑n=0N−1xi+m,j+n⋅wm,n+by_{i,j} = \sum_{m=0}^{M-1}\sum_{n=0}^{N-1} x_{i+m,j+n} \cdot w_{m,n} + byi,j=m=0M1n=0N1xi+m,j+nwm,n+b

其中:

  • xxx 是输入特征图
  • www 是卷积核权重
  • bbb 是偏置
  • M×NM \times NM×N 是卷积核大小

5. Transformer模型

Transformer完全基于注意力机制,其核心是多头自注意力:

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax}(\frac{QK^T}{\sqrt{d_k}})VAttention(Q,K,V)=softmax(dkQKT)V
MultiHead(Q,K,V)=Concat(head1,...,headh)WO\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h)W^OMultiHead(Q,K,V)=Concat(head1,...,headh)WO
where headi=Attention(QWiQ,KWiK,VWiV)\text{where head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)where headi=Attention(QWiQ,KWiK,VWiV)

其中:

  • QQQKKKVVV 分别是查询、键、值矩阵
  • dkd_kdk 是键向量的维度
  • hhh 是注意力头的数量

端到端语音识别模型

在端到端架构中,CTC(Connectionist Temporal Classification)损失函数被广泛用于处理时序对齐问题:

LCTC(y,π)=−log⁡P(π∣x)\mathcal{L}_{CTC}(y, \pi) = -\log P(\pi|x)LCTC(y,π)=logP(πx)

其中:

  • xxx 是输入特征序列
  • yyy 是预测的标签序列
  • π\piπ 是对齐路径
  • P(π∣x)P(\pi|x)P(πx) 是给定输入下路径的概率

这些模型通常结合使用,例如CNN提取声学特征,RNN/LSTM/GRU建模时序依赖,Transformer捕获长距离关联,最终通过CTC或注意力机制实现端到端语音识别。

http://www.lryc.cn/news/583040.html

相关文章:

  • 从互联网电脑迁移Dify到内网部署Dify方法记录
  • 【编程史】IDE 是谁发明的?从 punch cards 到 VS Code
  • 计算机网络实验——访问H3C网络设备
  • Java项目集成Log4j2全攻略
  • Using Spring for Apache Pulsar:Publishing and Consuming Partitioned Topics
  • 飞算 JavaAI 智能编程助手 - 重塑编程新模态
  • bash 判断 /opt/wslibs-cuda11.8 是否为软连接, 如果是,获取连接目的目录并自动创建
  • (C++)任务管理系统(正式版)(迭代器)(list列表基础教程)(STL基础知识)
  • `fatal: bad config value for ‘color.ui‘`错误解决方案
  • ali linux 安装libreoffice
  • Markdown入门
  • 类和对象拓展——日期类
  • Django核心知识点详解:JSON、AJAX、Cookie、Session与用户认证
  • npu-smi info 华为昇腾NPU 状态监控工具解读
  • 类与对象【下篇】-- 关于类的其它语法
  • 树莓派vsftpd文件传输服务器的配置方法
  • 【02】MFC入门到精通——MFC 手动添加创建新的对话框模板
  • overleaf 改为XeLatex
  • Vue响应式原理四:响应式-监听属性变化
  • 正点原子学习 用户权限管理
  • 【python基础】运算符与布尔值全解析
  • 智慧航天运载体系全生命周期监测 | 图扑数字孪生
  • Shader面试题100道之(41-60)
  • 从0实现线性回归模型
  • vue3.2 前端动态分页算法
  • 「Java案例」打印数字金字塔
  • [Backlog] 核心协调器 | 终端用户界面(TUI)实现 | 多分支任务冲突解决 | 测试验证体系
  • 技术支持丨解决 ServBay 在 Windows 启动时反复提示安装 .NET 的问题
  • Python(30)基于itertools生成器的量子计算模拟技术深度解析
  • 使用LLaMA-Factory微调Qwen2.5-VL-3B 的目标检测任务-数据集格式转换(voc 转 ShareGPT)