ASR(自动语音识别)任务中的LLM(大语言模型)
一、LLM大语言模型的特点

二、大语言模型在ASR任务中的应用
浅度融合
浅层融合指的是LLM本身并没有和音频信息进行直接计算。其仅对ASR模型输出的文本结果进行重打分或者质量评估。
深度融合
LLM与ASR模型进行深度结合,统一语音和文本的编码空间或者直接利用ASR编码器的隐状态参与计算,利用大语言模型的能力得到更好的解码结果。
三、浅度融合
1、Large-scale Language Model Rescoring on Long-Form Data
利用能力更加强大的LLM为ASR模型的推理结果进行质量评分

2、Prompting Large Language Models For Zero-Shot Domain Adaptation in Speech Recognition
利用能力更加强大的LLM为语言模型的输出进行重打分

四、深度融合
1、Prompting Large Language Models For Zero-Shot Domain Adaptation in Speech Recognition
使用语音编码器编码和提示文本的信息输入到大语言模型中预测下一个token

编码器:使用HuBERT处理语音序列,并使用卷积网络对其进行下采样;
解码器:使用LLaMA作为解码器并融入Gated-XATT-FFN;
Cross-attention:使用编码器的输出作为key、value,解码器的domain prompt和历史输出作为query计算注意力,注意力使用Gated cross attention。
在训练时,保持LLaMA的参数固定,其他模块参数更新。
2、Adapting LLM with Speech for Full Formatted End-to-End Speech Recognition
使用语音编码器编码的信息输入到大语言模型中预测下一个token

Text Encoder:用于在训练阶段提供更多的文本数据使解码器可以更好地被训练,在推理阶段不再被使用;
Speech Encoder:用于编码语音并使用CTC进行解码获得对应的token;
Text Decoder:在训练时对Text Encoder计算MLM损失,对Speech Encoder计算CE损失,用来预测下一个token。在推理时对Speech Encoder的输出进行修正。

Speech Encoder:用于编码语音信息;
LM:对Speech Encoder下采样之后的输出进行下一个token预测。
3、Prompting Large Language Models with Speech Recognition Abilities
使用语音编码器编码的信息输入到大语言模型中预测下一个token

Encoder:基于Conformer的声学编码器,最后使用n个帧进行堆叠投影,得到和LLaMA相同的维度;
Decoder:基于LLaMA 7B的解码器结构;
在训练时,LLaMA使用了基于LoRA的微调方法。
4、On Decoder-Only Architecture For Speech-to-Text and Large Language Model Integration
使用语音编码器编码和提示文本的信息输入到大语言模型中预测下一个token

LLM:LLaMA 7B
CTC Compressor:通过过滤语音空白匹配标签序列文本的长度;
Audio Encoder:对CTC过滤后的语音信号进行编码;
Text Prompt:手工设计的提示词,为了达到instruct tuning的效果,本文在训练时设计了多种提示词;
为了稳定训练,在训练时第一阶段训练CTC Compressor,对LLM进行冻结;第二阶段使用LoRA对LLM进行微调。
5、Speech-to-Text Adapter and Speech-to-Entity Retriever Augmented LLMs for Speech Understanding

Speech2Text adapter:由一些自注意力子层组成,主要作用是将CTC过滤后的张量转换为可由LLM模型处理的张量。在训练期间,其他部分保持不动,仅训练此部分从而得到一个speech2text性能较好的适配器。
Speech2Entity retriever:根据过滤后的语音表征从数据库中查找与该段语音相关的topk个实体。
T5 Encoder输入:由三部分组成,分别是提示文本表征,输入语音表征以及检索到的topk实体文本表征。Topk实体会被添加到到提示文本输入前,从而提高T5模型语音识别实体的准确率。
五、深度学习方法对比

相关文章:
ASR(自动语音识别)任务中的LLM(大语言模型)
一、LLM大语言模型的特点 二、大语言模型在ASR任务中的应用 浅度融合 浅层融合指的是LLM本身并没有和音频信息进行直接计算。其仅对ASR模型输出的文本结果进行重打分或者质量评估。 深度融合 LLM与ASR模型进行深度结合,统一语音和文本的编码空间或者直接利用ASR…...
简单介绍一下centos上有什么工具可以优雅的管理开机启动项
在CentOS上,你可以使用以下工具来优雅地管理开机启动项: systemctl:systemctl 是 systemd 系统和服务管理器的主要命令。它提供了一种优雅的方式来管理启动项。你可以使用 systemctl 命令来启用、禁用、查看和管理系统服务。例如,…...
万宾燃气管网监测解决方案,守护城市生命线安全
方案背景 城市燃气管网作为连接天然气长输管线与天然气用户的桥梁,担负着向企业和居民用户直接供气的重要职责。随着城市燃气需求的急剧增加,城市燃气管网规模日趋庞大,安全隐患和风险也随之增加。目前,我国燃气管网的运行仍存在…...
Django框架 靓号管理(增删改查)
Django框架 靓号管理(增删改查) 新建一个项目 backend 使用pycharm创建app startapp app项目目录 C:\code\backend ├── app | ├── admin.py | ├── apps.py | ├── migrations | ├── models.py | ├── tests.py | ├── views.…...
责任链模式简单实现
两种实现方式 第一种 public interface IBaseTask {public void doAction(String isTask,IBaseTask iBaseTask); }public class ChainManager implements IBaseTask{//工作类的集合private List<IBaseTask> iBaseTaskList new ArrayList<>();public void addTas…...
Excel自动化办公——Openpyxl的基本使用
Excel自动化办公——Openpyxl的基本使用 个人感觉,相比Pandas,openpyxl对Excel的操作更为细致,Pandas则更适用于统计计算; 01 基本环境02 Excel数据读取操作03 案例04 向Excel写入数据05 表数据定向修改06 单元格样式制定07 单元…...
解决Fastjson2 oom(Out Of Memory),支持大对象(LargeObject 1G)json操作
在使用Fastjson中的 JSON.toJSONString时,如果对象数据太大(>64M)会出现Out Of Memory,查看源码发现为JSONWriter中的判断代码 其中maxArraySize默认最大为64M,如果超过了就会抛出oom错误 如果fastjson过多的使用内存,也可能导致java堆内存溢出,所以这…...
SpringBoot + redis处理购物车逻辑
1、pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 2、application.xml spring: characterEncodingutf-8&useSSLfalseredis:host: 127.0.…...
open cv学习 (五) 图像的阈值处理
图像的阈值处理 demo1 # 二值化处理黑白渐变图 import cv2 img cv2.imread("./img.png", 0) # 二值化处理 t1, dst cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) cv2.imshow("img", img) cv2.imshow("dst", dst) cv2.waitKey() cv2.des…...
NVIDIA vGPU License许可服务器高可用全套部署秘籍
第1章 前言 近期遇到比较多的场景使用vGPU,比如Citrix 3D场景、Horizon 3D场景,还有AI等,都需要使用显卡设计研发等,此时许可服务器尤为重要,许可断掉会出现掉帧等情况,我们此次教大家部署HA许可服务器。 …...
基于CNN卷积神经网络的口罩检测识别系统matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................ % 循环处理每张输入图像 for…...
《HeadFirst设计模式(第二版)》第九章代码——迭代器模式
情景: 一家早餐店和一家午餐点准备合并在一起,两家的点菜的菜单实现方式如下: 首先,他们的菜单选项都基于同一个类: 菜单选项类 package Chapter9_IteratorPattern.Origin;/*** Author 竹心* Date 2023/8/17**/public class Men…...
Electron入门,项目启动。
electron 简单介绍: 实现:HTML/CSS/JS桌面程序,搭建跨平台桌面应用。 electron 官方文档: [https://electronjs.org/docs] 本文是基于以下2篇文章且自行实践过的,可行性真实有效。 文章1: https://www.cnbl…...
深入理解索引B+树的基本原理
目录 1. 引言 2. 为什么要使用索引? 3. 索引的概述 4. 索引的优点是什么? 4.1 降低数据库的IO成本,提高数据查找效率 4.2 保证数据库每一行数据的唯一性 4.3 加速表与表之间的连接 4.4 减少查询中分组与排序的执行时间 5. 索引的缺点…...
vue3 简易用对话框实现点击头像放大查看
设置头像悬停手势 img:hover{cursor: pointer;}效果: 编写对话框 <el-dialog class"bigAvatar"style"border-radius: 4px;"v-model"deleteDialogVisible"title"查看头像"top"5px"><div><img src&…...
opencv 矩阵运算
1.矩阵乘(*) Mat mat1 Mat::ones(2,3,CV_32FC1);Mat mat2 Mat::ones(3,2,CV_32FC1);Mat mat3 mat1 * mat2; //矩阵乘 结果 2.元素乘法或者除法(mul) Mat m Mat::ones(2, 3, CV_32FC1);m.at<float>(0, 1) 3;m.at…...
第四章 字符串part01
344.反转字符串 public void reverseString(char[] s) {int len s.length;int left 0;int right len-1;while (left < right){char tmp s[right];s[right] s[left];s[left] tmp;left;right--;} }反转字符串II 注意String不可变,因此可使用char数组或者St…...
Python3内置函数大全
吐血整理 Python3内置函数大全 1.abs()函数2.all()函数3.any()函数4.ascii()函数5.bin()函数6.bool()函数7.bytes()函数8.challable()函数9.chr()函数10.classmethod()函数11.complex()函数12.complie()函数13.delattr()函数14.dict()函数15.dir()函数16.divmod()函数17.enumer…...
什么是“新型基础设施”?建设重点是什么?
一是信息基础设施。主要是指基于新一代信息技术演化生成的基础设施,比如,以5G、物联网、工业互联网、卫星互联网为代表的通信网络基础设施,以人工智能、云计算、区块链等为代表的新技术基础设施,以数据中心、智能计算中心为代表的…...
混杂接口模式---vlan
策略在两个地方可以用--1、重发布 2、bgp邻居 2、二层可以干的,三层也可以干 3、未知单播:交换机的MAC地址表的记录保留时间是5分钟,电脑的ARP表的记录保留时间是2小时 4、route recursive-lookup tunnel 华为默认对于bgp学习来的路由不开启标…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
