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

牛津大学xDeepMind 自然语言处理(4)

牛津大学xDeepMind 自然语言处理 Natural Language Processing

语音识别 Speech Recognition
  1. 语音识别概述

    1. 问题定义:自动语音识别(ASR)、文本到语音合成(TTS)等
    2. 相关任务:说话人识别、语音增强、语音分离等
  2. 语音的表示与构成

    1. 物理实现:空气压力波、经声带、声道等调制

    2. 声学表示:

      1. 采样与量化:不同采样率和位深

      2. 傅里叶分析:短时快速傅里叶变换

      3. 梅尔频率表示:log-mel特征

        梅尔频率表示是对 FFT 结果在梅尔尺度上进行局部加权平均并取对数得到的 log-mel 特征,通常每帧 40 + 维,是神经网络语音建模的默认选择;

      4. MFCCs:梅尔频率倒谱系数

        MFCCs 是梅尔滤波器组能量的离散余弦变换,具有白化和低维特性,类似对数谱的主成分,GMM 语音识别系统可能使用 13 个 MFCCs,还可结合帧堆叠、差分和二阶差分等。

    3. 语音构成:由句子组成,句子由单词组成、最小单位是音素,涉及同音字、韵律等

    4. 数据集:TIMIT、WSJ、Broadcast News等

  3. 语音识别历史

    1960s:动态时间规整

    1970s:隐马尔可夫模型

    1986-1995:多层感知机用于语音识别

    1995-2009:GMMs成为主导

    2022-:神经网络特征(如”瓶颈“或”串联“特征 neck)

    2006-:深度网络用于语音识别,2012年称为主导范式

    1990、2012-:循环网络用于语音识别及新模型出现(注意力、LAS、神经转换器)

  4. 概率性语音识别

    1. 模型:隐马尔可夫模型

    2. 基本方程:选择最可能的单词序列,为声学模型和语言模型分数的乘积

    3. 语言模型:建模单词序列概率

    4. transduction过程:从信号到语言,涉及特征提取、声学模型、词典、语言模型等,利用加权有限状态转换器(WFST)构建图,进行组合、优化等操作。

      在这里插入图片描述

      1. 基础流程:从音频到语义的分层转换
        Audio(音频):语音识别的原始输入,是连续的声波信号(如人说话的声音)。
        Feature Extraction(特征提取):将音频转换为帧(Frame)(短时间片段,如 25ms / 帧),并提取声学特征(如梅尔频谱、MFCC 等),把物理声波转化为机器可处理的数字特征。
        Acoustic Model(声学模型):通过State(状态)和Phoneme(音素) 建模特征与语音单元的映射:
        State(状态):音素的细分状态(因发音受前后语境影响,需更细粒度建模,常通 过决策树聚类生成)。
        Phoneme(音素):语言中最小发音单位(如汉语 “啊”、英语 “/æ/” ),是连接声 学特征与文字的桥梁。
        Lexicon(词典):建立Phoneme(音素) 与Word(词) 的映射,实现 “发音组合 → 文字” 的转换(如音素 “/kæt/” 对应单词 “cat” )。
        Language Model(语言模型):基于Word(词) 序列建模,预测 “哪些词更可能连续出现”(如 “I want to” 比 “I want the” 更符合语法时,语言模型会赋予更高概率 ),提升识别合理性。
        Sentence(句子):通过词序列拼接、语言模型约束,形成完整语句。
        Meaning(含义):结合NLP(自然语言处理) 技术,解析句子语义,实现从语音到理解的最终目标(如把 “Open the door” 转化为执行指令 )。
    5. 语音单位:包括音素(如 “cat” 对应 / K/, /AE/, /T/)、上下文无关和相关的 HMM 状态、双音素、音节、字符、整个单词等,选择取决于语言、数据集大小等。

    6. 上下文相关语音聚类:音素的实现依赖前后语境,需对不同语境实现建模,但多数未被观测到,因此通过聚类(如决策树)分组并训练联合模型,对未观测语境有 “退避” 规则。

    7. 高斯混合模型:1990-2010年主导ASR,建模每个状态的声学特征概率分布,常用对角协方差高斯,通过 EM 算法训练,参数可并行估计,但难以跨状态共享参数 / 数据。

    8. 强制对齐:计算语音特征与语音状态的最大似然对齐,为每个训练话语构建真实转录的语音状态集,用维特比算法找到 ML 单调状态序列,结果为每帧的语音标签,可硬分割或软分割。

    9. 解码:与强制对齐类似,但面对的是图而非直线路径,包含单词间的可选静音、替代发音路径等,通常在对数域使用最大概率,通过 “波束” 保留最佳路径,可能丢失真实最佳路径。

  5. 神经网络语音识别

    1. 两种范式:

      一是用神经网络计算非线性特征表示(如 “瓶颈” 或 “串联” 特征),低维表示用 GMMs 建模;

      二是用神经网络估计语音单位概率。

    2. Hybrid networks 混合神经网络:

      训练网络作为分类器,用 softmax 处理语音单位,y(i)=exp(a(i,θ))/∑j=1Nexp(a(j,θ))y(i)=exp(a(i,θ))/\sum^N_{j=1}exp(a(j,θ))y(i)=exp(a(i,θ))/j=1Nexp(a(j,θ)),收敛到语音状态的后验概率P(ci∣ot)P(c_i|o_t)P(ciot),训练损失为交叉熵。解码时用神经网络替代GMMs建模P(o∣c)P(o|c)P(oc),引入”缩放后验“,经验上”先验平滑“项α≈0.8效果更好。

    3. 输入特征:神经网络可处理高维相关特征,如 26 个堆叠的 40 维梅尔滤波器组输入,第一层可学习到特定滤波器。

    4. 架构:包括全连接、卷积网络(如时间延迟神经网络、扩张卷积、Wavenet)、循环网络(如 RNN、LSTM、GRU、双向 RNN、CLDNN)等。

    5. 训练损失:

      1. 交叉熵

      2. CTC:引入可选空白符号,无需 bootstrap 模型,用软目标,不按后验缩放,结果与传统训练相似

    6. 序列判别训练:传统训练最大化给定数据的真实状态序列概率,而序列判别训练设计更接近词错误率的可微损失,使网络学习后验缩放,相对提升传统训练和 CTC 约 15%,如 bMMI、sMBR。

    7. 新架构:

      • Sequence2Sequence 序列到序列:基本模型对语音效果不佳,结合注意力的模型如 Listen, Attend and Spell(输出字符直到 EOS,整合训练集语言模型,难整合外部训练的语言模型)。
      • Watch Listen, Attend and Spell:同时应用于音频和视频流,用计划采样训练。
      • Neural transducer 神经转换器:解决序列到序列模型需完整序列的问题,一次转录单调块,减少延迟。
      • Raw waveform speech recognition 原始波形语音识别:端到端训练,学习滤波器组,可结合卷积滤波器、WaveNet 风格架构、Clockwork RNN 等。
  6. 其他主题

    1. 噪声中的语音识别:多风格训练(收集噪声数据或训练时添加随机噪声,如通过 “房间模拟器” 添加混响,可选添加干净重建损失)、训练去噪器等。(注意 Lombard 效应(噪声中声音变化)
    • Sequence2Sequence 序列到序列:基本模型对语音效果不佳,结合注意力的模型如 Listen, Attend and Spell(输出字符直到 EOS,整合训练集语言模型,难整合外部训练的语言模型)。
    • Watch Listen, Attend and Spell:同时应用于音频和视频流,用计划采样训练。
    • Neural transducer 神经转换器:解决序列到序列模型需完整序列的问题,一次转录单调块,减少延迟。
    • Raw waveform speech recognition 原始波形语音识别:端到端训练,学习滤波器组,可结合卷积滤波器、WaveNet 风格架构、Clockwork RNN 等。
  7. 其他主题

    1. 噪声中的语音识别:多风格训练(收集噪声数据或训练时添加随机噪声,如通过 “房间模拟器” 添加混响,可选添加干净重建损失)、训练去噪器等。(注意 Lombard 效应(噪声中声音变化)
    2. 多麦克风语音识别:多麦克风提供更丰富表示,“离说话人最近” 的麦克风信噪比更好。波束形成利用麦克风阵列几何和声速计算到达时间差,延迟求和实现信号建设性干涉,噪声破坏性干涉取决于方向 / 频率。神经网络可利用更多特征,需保留相位信息以实现波束形成。
http://www.lryc.cn/news/626863.html

相关文章:

  • 【Linux仓库】进程等待【进程·捌】
  • AI on Mac, Your Way!全本地化智能代理,隐私与性能兼得
  • SQL详细语法教程(七)核心优化
  • 【C语言16天强化训练】从基础入门到进阶:Day 4
  • Android 资源替换:静态替换 vs 动态替换
  • 猫头虎开源AI分享|基于大模型和RAG的一款智能text2sql问答系统:SQLBot(SQL-RAG-QABot),可以帮你用自然语言查询数据库
  • Https之(二)TLS的DH密钥协商算法
  • FFmpeg的基本概述(二)
  • 基于 Java 和 MySQL 的精品课程网站
  • 零知开源——基于STM32F103RBT6与ADXL362三轴加速度计的体感迷宫游戏设计与实现
  • AV1视频编码器2024-2025技术进展与行业应用分析
  • 全球首款 8K 全景无人机影翎 A1 发布解读:航拍进入“先飞行后取景”时代
  • 《算法导论》第 33 章 - 计算几何学
  • 189.轮转数组
  • Linux多线程——线程池
  • Dubbo 的 Java 项目间调用的完整示例
  • 新手向:Python实现文件加密解密工具
  • 【java面试day16】mysql-覆盖索引
  • 害虫检测识别数据集:近4K图像,6类,yolo标注
  • 【CocosCreator】electron/Cocos双窗口本地模拟聊天系统
  • Spring事务源码
  • PyTorch API 1
  • 【数据结构】递归与非递归:归并排序全解析
  • 第一章:认识 CAD 图形文件 —— DXF 格式
  • 车载软件架构 --- 赢得汽车软件开发竞赛
  • 好家园房产中介网后台管理完整(python+flask+mysql)
  • Scikit-learn 预处理函数分类详解
  • 【Task02】:四步构建简单rag(第一章3节)
  • 第R6周:LSTM实现糖尿病探索与预测
  • 深度学习核心技巧与实战指南