尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

当模型学会说“我不知道“:用证据深度学习量化分类不确定性

当模型学会说“我不知道“:用证据深度学习量化分类不确定性 当模型学会说我不知道用证据深度学习量化分类不确定性【免费下载链接】annotated_deep_learning_paper_implementations‍ 60 Implementations/tutorials of deep learning papers with side-by-side notes ; including transformers (original, xl, switch, feedback, vit, ...), optimizers (adam, adabelief, sophia, ...), gans(cyclegan, stylegan2, ...), reinforcement learning (ppo, dqn), capsnet, distillation, ... 项目地址: https://gitcode.com/gh_mirrors/an/annotated_deep_learning_paper_implementations试想一个场景医院的影像辅助系统对一张 X 光片给出结论肺炎置信度 99.1%而病理报告却显示那只是普通感染。问题不在准确率而在于模型不知道自己不知道——这正是 annotated_deep_learning_paper_implementations 项目里证据深度学习模块要解决的核心痛点。这个项目把论文公式逐行注解成可运行代码而labml_nn/uncertainty/evidence/目录给出了完整实现让分类模型在给出答案的同时诚实地告诉你这一次它到底有几分把握。一、先承认残酷事实softmax 的信心会骗人很多新手把 softmax 输出的概率当成置信度这是个危险的误解。它的两个天然缺陷决定了它扛不起可靠性这面旗对没见过的东西照样自信。一张训练集里完全不存在的输入softmax 依然能挤出 0.9 以上的概率。它只是矮子里拔将军。10 个类别里最不坏的选项也能拿到不错的分数概率高不等于把握大。传统的补救办法是 Monte Carlo Dropout 或深度集成本质都是多跑几遍取统计量。有效但推理成本翻几倍、训练要复制多份模型。有没有一条路一次前向传播同时拿到预测和不确定性证据深度学习就是为此设计的。二、先听一个故事陪审团如何判断证据不足把分类想象成一场庭审网络是陪审团K 个类别是 K 个嫌疑人每个嫌疑人面前堆着证词也就是证据值 e_k证词越多陪审团对某个嫌疑人的倾向越强形成信念质量b_k但当证词太少、或互相矛盾时陪审团会把信念留给所有嫌疑人都有可能——这就是不确定性 u。这套框架源自 Dempster-Shafer 证据理论核心约束只有一条信念质量之和加上不确定性恒等于 1。换句话说不确定性不是某个类别的失败而是一个独立的输出维度翻译成人话就是不是我不想选是我真的没把握。三、四步走完证据深度学习的完整链路第一步把输出修剪成非负证据模型最后一层不再直接吐概率而是先过一个 ReLU 或 Softplus 激活把任意实数压成非负值。逻辑很朴素证据是数量数量不可能是负数。第二步用狄利克雷分布描述概率的概率普通分类输出一个概率分布证据深度学习更进一步输出这个概率分布本身的可信程度。实现上把证据映射成狄利克雷分布的参数 α_k e_k 1证据越足分布越尖模型越笃定证据越稀薄分布越平怎么猜都合理。第三步三种损失各管一件事项目在labml_nn/uncertainty/evidence/__init__.py里实现了四段代码三主一辅最大似然损失把正确类别的证据往上拉负责学得准交叉熵 / 平方误差贝叶斯风险损失把预测错误的代价在整个概率分布上积分负责平衡准确率与不确定性KL 散度正则样本实在分不对时把总证据压向零惩罚模型硬猜训练中系数从 0 平滑退火到 1。第四步算出一个 0~1 的不确定性设 S Σ(e_k 1)不确定性就是 u K / S。公式背后只有一个直觉总证据越足u 越小证据越稀薄u 越接近 1。模型从此多了一个能直接当安全阀用的数值。四、20 分钟跑通你的第一个实验项目已内置 MNIST 完整训练脚本上手只需要一条命令git clone https://gitcode.com/gh_mirrors/an/annotated_deep_learning_paper_implementations训练入口在 experiment.py模型基于 LeNet 结构并且内置了几个很值得看的指标预测正确样本的不确定性u.succ.、预测错误样本的不确定性u.fail.以及两类样本的期望概率。训练结束后的理想状态是错的那批样本不确定性明显更高——模型在犯错之前就先变得犹豫这正是不确定性估计的意义所在。你还可以切换三种主损失、调节 KL 正则的退火速度对比它们对不确定性质量的影响。五、它的边界在哪里三个避坑提醒适合的场景很清晰开集识别 / 未知类别检测把 u 高于阈值的样本交给人工复核主动学习优先标注 u 高的样本把标注预算花在刀刃上高风险决策医疗、金融场景里u 过高时直接拒绝预测。但也别踩这三个坑别把 u 当成出错概率。u 高说明证据不足和一定错是两回事两者相关但不等价KL 正则系数必须退火。一上来就开满模型会倾向于什么都不说准确率直接崩掉这是分类方案不是回归方案。要量化回归的不确定性得另找回归版证据学习别硬套。六、想深入三条进阶路径给你指好读实现labml_nn/uncertainty/evidence/init.py每个损失函数都配了逐步推导注释读实验labml_nn/uncertainty/evidence/experiment.py看完整的训练配置与指标埋点读文档docs/uncertainty/evidence/index.html公式与代码逐行对照的网页版。回到开头的影像系统如果它搭载了证据深度学习那句 99.1% 的自信旁边会多一个数字——不确定性 u。当 u 足够高时系统最专业的做法不是硬给结论而是说这张片子我没有把握请医生复核。让 AI 学会承认无知不是退步而是它真正走向可信的第一步。【免费下载链接】annotated_deep_learning_paper_implementations‍ 60 Implementations/tutorials of deep learning papers with side-by-side notes ; including transformers (original, xl, switch, feedback, vit, ...), optimizers (adam, adabelief, sophia, ...), gans(cyclegan, stylegan2, ...), reinforcement learning (ppo, dqn), capsnet, distillation, ... 项目地址: https://gitcode.com/gh_mirrors/an/annotated_deep_learning_paper_implementations创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表