【FireRedASR-AED】目前性能最好的开源中文ASR模型

【FireRedASR-AED】目前性能最好的开源中文ASR模型(非大模型版)

  • FireRedASR
  • FireRedASR-AED模型结构
    • [FireRedASR-AED Encoder](#FireRedASR-AED Encoder)
      • 下采样模块(subsampling)
      • [Conformer Block](#Conformer Block)
        • [Conformer Macaron-style Feed-Forward Network modules](#Conformer Macaron-style Feed-Forward Network modules)
        • [Multi-Head Self-Attention Module Incorporating Relative Positional Encoding](#Multi-Head Self-Attention Module Incorporating Relative Positional Encoding)
        • [Convolution Module](#Convolution Module)
    • [FireRedASR-AED Decoder](#FireRedASR-AED Decoder)
      • [Transformer Block](#Transformer Block)
        • [Multi-Head Attention](#Multi-Head Attention)
        • [Feed-Forward Network](#Feed-Forward Network)

FireRedASR

[Paper] [Model] [Blog] [Demo] [modelscope]

FireRedASR是一个开源的工业级自动语音识别(ASR)模型家族,支持普通话、中国方言和英语,在公共普通话ASR基准测试上达到了新的最先进水平(SOTA),同时还提供了出色的歌词识别能力。

FireRedASR-AED:旨在平衡高性能和计算效率,并在基于大语言模型的语音模型中作为有效的语音表示模块。它利用基于注意力的编码器-解码器(AED)架构。

FireRedASR-AED模型结构

FireRedASR-AED采用端到端架构(end-to-end),结合了Conformer编码器(Encoder)和Transfomer解码器(Decoder)。这种设计选择利用了Conformer对语音特征中的局部和全局依赖性建模的能力以及Transformer在序列转导中的有效性。

FireRedASR-AED的整体架构如图所示:

FireRedASR-AED Encoder

编码器(Encoder)由两个核心组件构成:一个下采样模块(subsampling)和16个Conformer块(blocks)。

下采样模块(subsampling)

下采样模块采用两个串联的卷积层(每层步幅为 2、核大小为 3),后续紧跟 ReLU 激活函数。该配置将时间分辨率从每帧 10ms 降至 40ms,在保留关键声学信息的同时有效控制了计算复杂度。

Conformer Block

下采样模块处理后的特征随后送入一组 Conformer Block 进行处理,每个 Conformer Block 包含四个主要组件:位于块首尾的两个 Conformer Macaron-style Feed-Forward Network 模块、一个 multi-head self-attention module incorporating relative positional encoding 和 一个 convolution module equipped with gated linear unit (GLU) and layer normalization。最后经过一个LayerNorm(层正则化)输出

Conformer Macaron-style Feed-Forward Network modules

Conformer Macaron-style Feed-Forward Network(前馈神经网络) modules由一个残差网络网络组成。网络内部由层正则化(LayerNorm)、线性层(Linear)、激活函数(Swish)和线性层(Linear)顺序组成。

Multi-Head Self-Attention Module Incorporating Relative Positional Encoding

Multi-Head Self-Attention(多头自注意力) Module Incorporating Relative Positional Encoding在标准自注意力的基础知识增加了Relative Positional Encoding(相对位置编码)。标准自注意力由q、k、v组成即 s e l f - a t t e n t i o n = s c a l e ∗ s o f t m a x ( q ∗ k ) ∗ v self\text{-}attention=scale * softmax(q * k) * v self-attention=scale∗softmax(q∗k)∗v 。这里对q和k进行了修改,其中q和k都增加了一个科学系的偏移量。q则额外还与相对位置编码进行了额外的运算。

Convolution Module

a convolution(卷积) module 配置了gated linear unit (GLU) and layer normalization(层正则化)。此外含有三个卷积层和一个Swish函数。

FireRedASR-AED Decoder

解码器(Decoder)使用的是标准Transformer结构

Transformer Block

每个Transformer Block包含三个子层,分别是多头自注意力层(multi-head self-attention),Encoder-Decoder多头注意力层(multi-head cross-attention)和前馈神经网络层(feed-forward network),所有模块使用前作残差连接(pre-norm residual units)。

Multi-Head Attention
  • 对于多头自注意力层(self-attention),输入的Q、K、V都来自前一个子层的输入。
  • 对于Encoder-Decoder多头注意力层(cross-attention),输入的Q来自Decoder前一个子层的输出,K和V来自Encoder的输出
Feed-Forward Network

前馈神经网络层(feed-forward network)比较简单,有两个线性层组成,中间的激活函数使用的是GELU

相关推荐
未来之窗软件服务7 天前
AI人工智能(二十三)错误示范ASR 语音识别C#—东方仙盟练气期
人工智能·c#·语音识别·仙盟创梦ide·东方仙盟
山河君7 天前
四麦克风声源定位实战:基于 GCC-PHAT + 最小二乘法实现 DOA
算法·音视频·语音识别·信号处理·最小二乘法·tdoa
colicode7 天前
安卓Android语音验证码接口API示例代码:Kotlin/Java版App验证开发
android·java·前端·前端框架·kotlin·语音识别
EasyDSS8 天前
从“听见”到“理解”:EasyDSS视频会议系统智能字幕、语音转写技术的深度剖析
音视频·语音识别·语音转写·ai摘要·点播技术·流媒体直播·智能字幕
开开心心就好10 天前
文字转语音无字数限,对接微软接口比付费爽
java·linux·开发语言·人工智能·pdf·语音识别
OBS插件网10 天前
OBS弹幕助手使用教程:OBS语音读弹幕语音播报插件下载安装教程
人工智能·语音识别
阿林来了11 天前
Flutter三方库适配OpenHarmony【flutter_speech】— 持续语音识别与长录音
flutter·语音识别·harmonyos
开开心心就好11 天前
免费音频转文字工具,绿色版离线多模型可用
人工智能·windows·计算机视觉·计算机外设·ocr·excel·语音识别
OBS插件网15 天前
OBS直播如何给人脸加口罩特效?OBS口罩特效插件下载安装教程
人工智能·数码相机·语音识别·产品经理
阿林来了16 天前
Flutter三方库适配OpenHarmony【flutter_speech】— 语音识别停止与取消
flutter·语音识别·harmonyos