语音识别-置信度-las结构

文章探讨了在端到端语音识别模型中解决过度自信问题的方法。通过对注意力机制的序列到序列模型添加置信度估计模块(CEM),能更好地估算词的置信分数。CEM通过训练额外的全连接层来改善softmax输出的校准。实验在LibriSpeech数据集上进行,结果显示CEM能降低过度自信现象,提高置信度估计的可靠性,表现在更高的NCE和AUC值上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.CONFIDENCE ESTIMATION FOR ATTENTION-BASED SEQUENCE-TO-SEQUENCE MODELS FOR SPEECH RECOGNITION : https://arxiv.org/pdf/2010.11428.pdf

1.引言
1).置信度的目的:
在半监督学习和主动学习中,选择较高置信度的数据来进一步提高ASR性能;
利用较低的置信度分数进行筛选模糊的数据,然后通过人工确认来减少错误;
2).置信度的方法:
在传统的基于hmm的系统中,通过从假设compact空间中计算单词的后x验概率,可以很容易地获得可靠的置信分数,egs:lattice, confusion networks;
解释语音识别中的lattice与confusion network_lattice语音识别(https://blog.youkuaiyun.com/yutianzuijin/article/details/77621511),相比于lattice,我们可以很容易从混淆网络中获取one best结果,只需要从每一段中选择后验概率最大的边即可。混淆网络作为lattice的简化版,会引入原始lattice中不存在的路径。但是通常情况下,用混淆网络获取的one best结果要好于原始的one best。混淆网络还有一个好处,我们可以很容易获取每个时刻相互竞争的词有哪些。
基于神经网络构建置信度模型;

3).存在问题:

目前端到端模型语音识别模型成为主流,但在端到端语音识别中,在不使用特定解码器架构情况下,是不能生成像lattice一样的compact 空间;因此,在端到端假设空间中计算词后验变得非常复杂。一般简单的方法:使用贪婪近似将解码器每一步的softmax最大概率作为每个令牌的置信分数;但是,软最大概率估计置信度估计质量可能非常差。
在这里插入图片描述
随着置信阈值的增加,常规系统的WER单调地减小。然而,对于端到端模型,较高的阈值(置信度)并不总是意味着WER的降低,可以看出模型是overconfident。
4).解决问题

针对模型过度自信问题,提出了基于注意的序列到序列模型的置信估计模块(CEM)
2.CEM模型介绍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
细化问题:

1.在token级别的上,asr的置信度分数被定义token正确的概率,如果识别器对输出token非常自信,那么相应的置信度分数应该接近于1。

2.Word或话语平均置信分数可以通过取一个单词或一个话语中的平均值来获得。

3.对于基于注意力的序列到序列模型,自回归解码器中的每一步都被视为对所有可能的输出token的分类任务。然而,在(softmax)标准化分类和序列置信度分数之间存在细微的差异。解码器的自回归性质和使用teacher-forece 方法进行训练,对具有错误历史的序列的校准行为是不确定的。此外,当模型为了追求最先优的性能而变得非常深和大时,模型可能会很难被纠正。

4.基于此提出了CEM模型,目的是让模型的softmax输出和增加一个FC层Pt输出,来共同决策句子级别的置信度。

5.训练过程:在有监督预训练过attention-asr model基础下,即固定asr模型参数,主要进行训练FC层。

6.loss计算:模型预测结果是Pt(置信度分数,范围0~1),然后通过Pt和Ct (0/1)计算二进制交叉熵。

3.CEM模型评估
在这里插入图片描述

(1)评估指标是NCE,主要与H(c)=-Σ c * log©, H(c, p)相关,H(c, p)< 0 和loss的计算方式是相同的;当置信度估计效果比单词正确率好时候,NCE为正。对于完美的分数,NCE是等于1。说明NCE主要用来衡量置信度得分与识别单词正确率的接近程度。

在这里插入图片描述

(2)但是,我们使用置信度时候,通常去设置一个阈值P~来进行筛选正确的和不正确的,因此制定了三个指标precision和recall,AUC。通常情况下,当阈值p˜增加时,假正例更少,假负例更多,这导致准确率更高,召回率更低。精确度和召回率之间的权衡行为产生了一条从左上角到右下角的向下趋势曲线。因此,曲线下面积(AUC)可以测量置信度估计量的质量,其最大值为1。值得注意的是,两个置信度估计模型可以有相同的AUC值,但NCE值不同。

3.2.数据:LibriSpeech数据集,测试集test-clean/test-other

4.实验
4.1 正则化方法对置信度得分的影响
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
然而,AUC值并没有显示出【过度自信】这个情况。如图3所示,softmax和CEM的P-R曲线有很大差异。在图3(a)中,高置信区域急剧下降的峰值对应于低精度和低查全率。换句话说,对于一些不正确的标记,softmax概率是过度自信,这也解释了图1中所示的峰值。然而,CEM几乎没有过度自信的影响,图3(b)描述了精确度和召回率之间的权衡。总的来说,CEM在这两个指标下都是一个更可靠的置信度估计模型。

在这里插入图片描述

<think>好的,我现在需要帮助用户了解召回率-置信度曲线的概念和绘制方法。首先,我得明确用户的问题是什么。用户提到了召回率、置信度曲线以及机器学习中的绘制方法。但根据我的知识,在机器学习中,常见的评估指标组合通常是精确率、召回率、F1分数,以及ROC曲线(使用FPR和Recall)或者PR曲线(Precision-Recall)。用户提到的“置信度”可能有两种理解:一种是关联规则中的置信度,另一种是模型预测的概率置信度。不过,结合用户提供的引用内容,特别是引用[1]提到了关联规则的支持度和置信度,而引用[2]则讨论了ROC曲线和PR曲线,可能需要进一步澄清。 首先,我需要确认用户所说的“置信度”具体指什么。如果是关联规则中的置信度,那么召回率-置信度曲线可能是指在不同置信度阈值下召回率的变化情况。但关联规则的置信度通常用于衡量规则的可信度,比如在购物篮分析中,置信度表示购买商品A后购买商品B的概率。这种情况下,召回率可能不是直接相关的指标,因为关联规则更多关注的是支持度和置信度,而分类模型才涉及召回率。 另一种可能是用户混淆了“置信度”和“概率阈值”。在分类模型中,预测的概率值可以视为置信度,调整分类阈值会影响召回率等指标。例如,在二分类中,降低阈值会增加召回率,因为更多的样本被判定为正类,但可能会增加误报。这时候的曲线可能是召回率随阈值变化的曲线,或者PR曲线(Precision-Recall)。但用户明确提到了“置信度”,所以需要明确。 查看用户提供的引用,引用[2]中提到ROC曲线是FPR和Recall的关系,而PR曲线是Precision和Recall的关系。引用[1]提到了关联规则的置信度,但用户的问题可能是在分类模型中,将置信度作为阈值来调整,从而绘制召回率的变化。可能用户误将“概率阈值”称为“置信度”,或者希望了解关联规则中的置信度与召回率的关系。 接下来,我需要确定如何正确引导用户。如果用户指的是分类模型中的概率阈值,那么正确的曲线应该是PR曲线或ROC曲线。如果是关联规则中的置信度,则需要解释两者结合的可能性。但根据常见的机器学习评估指标,更可能的情况是用户想了解分类模型中基于预测置信度(概率)调整阈值时的召回率变化,即类似于PR曲线或阈值-召回率曲线。 因此,我需要解释召回率如何随置信度阈值变化,并说明绘制这种曲线的方法。同时,可能需要指出通常使用PR曲线或ROC曲线,但用户的需求可能需要定制化的曲线。此外,需要确保使用正确的中文术语和LaTeX格式,并生成相关问题。 现在,我需要组织回答结构,首先明确概念,然后分步骤说明绘制方法,最后生成相关问题。同时,引用提供的参考资料中的相关内容来支持回答,比如引用[2]中关于ROC曲线和PR曲线的讨论,以及阈值调整对指标的影响。</think>### 召回率-置信度曲线概念与绘制方法 #### 概念澄清 在机器学习中,**召回率-置信度曲线**可能指两种场景: 1. **分类模型中的概率阈值调整**:将模型预测的置信度(即概率值)作为阈值,观察召回率随阈值变化的情况。例如,在二分类中,降低置信度阈值会捕捉更多正类样本,召回率上升,但可能引入更多误判[^2]。 2. **关联规则中的置信度指标**:若问题涉及关联规则挖掘(如购物篮分析),则需结合关联规则的置信度与召回率,但此类组合非常见评估方式。需明确场景后再分析。 以下以**分类模型中的概率阈值调整**为例进行说明。 --- #### 绘制方法(分类模型场景) 1. **获取预测概率** 对测试集样本,使用模型输出正类的概率(置信度)$P(y=1|x)$。 2. **排序与阈值划分** 将样本按预测概率从高到低排序,设定一组置信度阈值(如从0到1,间隔0.01)。 3. **计算召回率** 对每个阈值$t$: - 预测概率 $\geq t$ 的样本标记为正类,其余为负类。 - 计算召回率: $$ \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} $$ 4. **生成曲线** 以置信度阈值为横轴,召回率为纵轴绘制曲线。 --- #### 示例代码(Python) ```python import numpy as np from sklearn.metrics import recall_score # 假设y_true为真实标签,y_proba为模型输出的正类概率 thresholds = np.linspace(0, 1, 100) recalls = [] for t in thresholds: y_pred = (y_proba >= t).astype(int) recalls.append(recall_score(y_true, y_pred)) # 绘制曲线 import matplotlib.pyplot as plt plt.plot(thresholds, recalls) plt.xlabel('置信度阈值') plt.ylabel('召回率') plt.title('召回率-置信度曲线') plt.show() ``` --- #### 注意事项 1. **与ROC/PR曲线的区别** - **ROC曲线**:横轴为假正率(FPR),纵轴为召回率(即真正率TPR)[^2]。 - **PR曲线**:横轴为召回率,纵轴为精确率。 - 召回率-置信度曲线直接反映阈值对召回率的影响,适用于需明确选择阈值的场景。 2. **应用场景** - 当需平衡召回率与误判成本时(如医疗诊断中漏诊风险控制)。 - 模型部署前确定最佳阈值。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值