自动语音识别(ASR)简介
自动语音识别(Automatic Speech Recognition,ASR),简单来说,就是让计算机能够听懂人类的语音,并将其转换为文本的技术。在我们的日常生活中,ASR 有着极为广泛的应用。比如大家常用的语音助手,像苹果的 Siri、小米的小爱同学等,当我们对着它们说话,它们能够快速识别我们的语音指令,进而帮我们查询信息、设置提醒、拨打电话等;在智能车载系统中,司机通过语音就能控制导航、播放音乐,无需手动操作,大大提高了驾驶的安全性;还有在会议记录、语音转写等工作场景中,ASR 技术也能极大地提高工作效率,减少人工转录的工作量。
简要介绍Transformer
从上述图片中可直观看到,Transformer 模型的核心是注意力机制与“编码器-解码器”双结构。图片中左侧堆叠的模块为编码器,主要通过自注意力组件捕捉输入序列中各元素的关联;右侧堆叠的模块为解码器,在自注意力基础上增加了与编码器的交互组件;底部还可看到位置编码模块,用于补充序列的顺序信息,整体结构简洁且聚焦于“全局信息交互”这一核心优势,为后续适配ASR任务奠定基础。
Transformer 在 ASR 中的应用
在传统的 ASR 系统中,多依赖循环神经网络(RNN),然而 RNN 结构存在难以并行化训练、训练效率低、长距离依赖建模效果差等问题。相比之下,Transformer 凭借图片中展示的自注意力机制,能高效捕捉音频序列的全局关联,在 ASR 任务中展现出显著优势。
在基于 Transformer 的 ASR 系统中,输入不再是文本序列,而是音频信号:首先对音频进行预处理,将其转换为梅尔频谱图等特征;随后这些特征输入 Transformer 编码器,经图片中所示的注意力组件处理后,转化为蕴含音频关键信息的向量;最后解码器结合与编码器的交互机制,逐步生成对应的文本序列,实现“音频-文本”的端到端映射,简化了传统ASR的复杂流程。
基于“语音识别模型整体框架图”的模块介绍
结合上述框架图,一个完整的Transformer-based ASR系统可拆解为以下核心模块,各模块功能如下:
1. 音频采集模块(Audio Acquisition Module)
框架图最左侧的模块为音频采集模块,主要功能是获取原始语音信号。其输入来源包括实时场景(如麦克风采集的人声)和离线场景(如本地存储的MP3、WAV格式音频文件),输出为未经处理的模拟/数字音频流,是整个ASR系统的“数据入口”,需保证信号无明显噪声、采样率稳定。
2. 音频预处理模块(Audio Preprocessing Module)
紧邻采集模块的是音频预处理模块,作用是优化原始音频质量。主要操作包括:去除背景噪声(如通过降噪算法过滤环境音)、消除回声(针对实时通话场景)、统一音频采样率(如转为16kHz标准采样率),最终输出干净、规整的音频信号,为后续特征提取扫清干扰。
3. 特征提取模块(Feature Extraction Module)
预处理后的音频进入特征提取模块,这是“将音频转化为模型可理解语言”的关键步骤。框架图中该模块通常与梅尔滤波组件关联,核心是将音频信号转换为梅尔频谱图:通过模拟人类听觉系统的滤波特性,将音频的频率、幅度信息映射为二维频谱特征,既保留语音的关键辨识度信息,又降低数据维度,输出的特征图直接作为Transformer编码器的输入。
4. Transformer 编码模块(Transformer Encoding Module)
框架图中间偏左、与特征提取模块连接的是Transformer编码模块,对应前文图片中展示的编码器结构。其功能是深度挖掘音频特征的语义关联:通过自注意力组件捕捉不同时间点音频特征的全局依赖(如“你好”一词中“你”和“好”的频谱关联),再经前馈网络进一步提取高层特征,最终输出蕴含完整语音语义的向量表示,为解码提供“音频语义底座”。
5. Tokenization 模块(Tokenization Module)
框架图中与Transformer解码模块关联的是Tokenization模块,这是“文本生成前的基础处理环节”。其核心功能是将目标语言的文本拆分为最小语义单元(即Token):对于中文,Token可以是单个汉字(如“你”“好”);对于英文,Token可以是单词或子词(如“apple”拆分为“app”和“le”,或直接保留“apple”)。通过该模块处理,文本被转化为离散的Token序列,为后续词嵌入和解码生成提供标准化输入格式,避免因文本格式不统一导致的解码误差。
6. Word Embedding 模块(Word Embedding Module)
紧邻Tokenization模块的是Word Embedding模块,作用是“将离散Token转化为连续向量”。由于Transformer模型无法直接处理离散的文字符号,该模块会通过预训练或模型训练过程,为每个Token分配一个固定维度的实数向量(如256维、512维)。这些向量会蕴含Token的语义信息(如“猫”和“狗”的向量距离较近,“猫”和“汽车”的向量距离较远),最终输出的Token向量序列,会作为Transformer解码器的输入之一,帮助解码器理解文本语义,提升生成文本的准确性。
7. Transformer 解码模块(Transformer Decoding Module)
位于框架图中间偏右的是Transformer解码模块,对应前文图片中的解码器结构。其核心功能是将编码器输出的音频语义向量,结合Word Embedding模块输出的Token向量,转化为完整文本:首先通过遮蔽自注意力确保“只能根据已生成Token预测下一个Token”(避免提前看到未来信息),再通过与编码器的交互组件,从编码向量中提取对应音频语义;最后通过输出层预测每个位置的Token,逐步生成完整的Token序列,再经简单转换得到最终文本(如将“n”“i”“h”“a”对应的Token向量拼出“你好”)。
Transformer 模型通过其简洁高效的结构,成为ASR系统的核心引擎;而“语音识别模型整体框架图”中的各模块则像一条完整的“流水线”,从音频采集到文本生成层层递进,尤其是Tokenization和Word Embedding模块的加入,为解码器搭建了“语义理解桥梁”,共同实现“让计算机听懂语音”的核心目标。
参考资源:
- https://github.com/owenliang/transformer-asr/tree/main
- https://zhuanlan.zhihu.com/p/648133707