置信度学习

1、置信度学习

        置信度学习CL流程(图1)是用于表征,发现和学习带有标签错误的一系列理论和算法,该算法使用预测的概率和嘈杂的标签对未归一化的置信关节中的样本进行计数,然后归一化以估计联合分配,修剪噪音数据,生成干净的数据作为输出。

         CL生成提供了优于现有技术的三个关键优势1)直接估计标签噪声的联合分布;(2)对非均匀随机标签噪声具有鲁棒性;(3)在实际的充分条件下,可进行一致的联合估计并准确发现标签错误。我们根据经验评估CL,包括:a)联合估计的准确性,(b)发现标签错误以及(c)在CIFARImageNet上学习带有噪声标签的合成噪声和现实噪声。这些实验验证了估计联合分布的性能优势。新的CL代码可重现此处描述的所有结果,并作为cleanlab1 Python软件包完全开源。https://github.com/cgnorthcutt/cleanlab/ 

2、置信度学习过程

2.1、置信度学习输入

           置信度学习估计(嘈杂的)观察到的标签和(真实的)潜在标签之间的联合分布,这个分布可用于i)改进带有嘈杂标签的训练,以及(ii)识别现有数据集中的嘈杂标签。 主要过程包括三个步骤 :

           1.估计联合Qˆy ̃,y∗ 以表征类别条件标签噪声,

           2.滤出噪声示例

           3.进行误差消除训练,对每个类i∈M,按类别权重Qˆy∗ [i]/Qˆy ̃,y∗ [i][i] 重新加权示例。

 在本节中,我们定义这三个步骤并讨论它们的预期结果。 请注意,仅使用了两个输入

1Pˆk,i n × m的样本外预测概率pˆ(y ̃ = i; xk, θ) 矩阵

  (2)  与噪声标签y ̃(xk)相关的数组。 我们使用交叉验证来获得Pˆk,i ,因此Pˆk,i 和xk 共享相同的索引。 我们的方法不需要超参数。

2.2、联合分布估计

        我们通过对联合分布中的实例进行计数来估计Qˆy ̃,y∗ ,使用每个类别中的噪声标签的实际计数|Xy ̃=i|来校准估计计数,然后进行归一化。通过自信学习的关键结构Cy ̃,y∗ ∈Z≥0 m×m 来捕获计数。Cy ̃,y∗ 的对角项为正确标签的计数,而非对角线则记录不对称的错误标签计数。例如,Cy ̃=3,y∗=1=10表示“10个示例标记为'3',但应标记为'1'。”

混淆矩阵CconfusionCy ̃,y∗ 可以构造为给定标签y ̃(xk )和预测argmax i∈M pˆ(y ̃=i; xk , θ)的混淆矩阵。该方法经验上执行合理(第5节),且是无噪声预测概率(定理1)的一致估计器,但是当每种类别的概率分布不相似时(定理2),该方法将失败。

置信联合矩阵Cy ̃,yCy ̃,y∗ 表示标签为y ̃=i 的示例x有足够大的概率pˆx,y ̃=j属于标签y∗=j 。Cy ̃,y∗ 表示为

阈值tj 是每个类别的预期(平均)自信心。

该公式解决了Confusion 的问题,因此Cy ̃,y∗ 对于任何特定类以或大或小的概率具有鲁棒性,但是当示例x被确定地计入多个Xˆy ̃=i,y∗=j 类时,会引起标签冲突。因为给定了y ̃ ,所以碰撞仅沿Cy ̃,y∗ 的y∗ 维发生。我们通过选择yˆ∗ ← arg max pˆx,y ̃=j,来处理冲突。 结果(等式2)是置信联合:

估计联合矩阵Qˆy ̃,y*。 给定置信联合Cy ̃,y∗ ,我们估计联合为

2.3、算法流程

CL的算法如下图所示:

3、排序和修剪:数据清理

在进行联合估计之后,我们将修剪,排序和其他启发式方法用于清洁训练数据。 两种方法是:(1)使用Cy ̃,y∗ 的对角线或(2)使用Qˆy ̃,y∗ 估计标签错误的数量并通过对预测概率进行排序来消除错误。

 

 

 

 

 

 

 

 

### YOLOv8 网络结构各层输入输出详解 #### 1. 主干网络(Backbone) 主干网络是YOLOv8的重要组成部分,其设计基于CSPDarknet架构[^1]。该部分主要负责从输入图像中提取丰富的特征表示。 对于输入尺寸为 \(W \times H\) 的图像,在经过多个卷积层和残差模块之后,最终会得到一系列不同尺度的特征图。具体来说: - **输入**: 图像大小通常固定为 \(640 \times 640\) - **输出**: 多个分辨率下的特征映射,用于后续处理阶段 ```python input_shape = (batch_size, channels=3, height=640, width=640) output_shapes_backbone = [ (batch_size, c1, h1, w1), # 高级语义信息 (batch_size, c2, h2, w2), # 中间层次特征 (batch_size, c3, h3, w3) # 浅层细节保留 ] ``` 这里 `c`, `h` 和 `w` 表示通道数、高度以及宽度;随着层数加深,空间维度逐渐减小而通道数量增加。 #### 2. 颈部网络(Neck) 颈部连接着backbone与head两大部分,通过FPN(Feature Pyramid Network)或PANet等结构增强多尺度表征能力。此过程涉及上采样操作来融合高低级别特征。 - **输入**: 来自主干网的不同尺度特征图 - **输出**: 经过加强后的多层次特征表达形式 ```python neck_output_shapes = [ (batch_size, cn1, hn1, wn1), (batch_size, cn2, hn2, wn2), (batch_size, cn3, hn3, wn3) ] ``` 其中每个元组代表一层特征图的具体形状参数。 #### 3. 检测头(Head) 最后一步是在上述基础上构建预测头部完成实际的目标定位任务。它由若干个标准卷积构成,并针对特定类别生成边界框坐标及置信度得分。 - **输入**: 加强过的特征金字塔 - **输出**: 包含物体位置、分类概率在内的完整检测结果 ```python detection_head_outputs = { "boxes": torch.Tensor([num_boxes, 4]), # 边界框[x_min,y_min,x_max,y_max] "labels": torch.LongTensor(num_boxes), # 类别标签 "scores": torch.FloatTensor(num_boxes) # 对应分数 } ``` 整个流程遵循了现代目标检测框架的一般模式——先抽取广泛分布于各个抽象层面的信息再逐步聚焦至具体的实例化描述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值