拒绝暴力调参!推荐一个模型Debug神器!

近些年深度学习在视觉、自然语言处理、语音等各个技术方向都诞生了不少创新应用,如智能识别医疗图像中的病灶,辅助医生做病情诊断;智能判别生产线上有质量问题的产品,减轻人工质检压力;对政务、金融等流程中的证件票据进行信息识别,加速审批并实现流程电子化;识别用户输入的语句,与知识库中相应的问答进行匹配,实现智能客服问答等。

随着智能应用的爆发式发展,构建高精模型成为每个企业都在持续探索的命题。然而,在构建深度学习模型的过程中,当遇到模型效果不能满足要求,需要进一步定位问题和调优效果时,由于深度学习模型是一个“黑盒”,开发者并不知道它做出错误决策的准确原因,因此很难采取有针对性的效果优化策略。这个时候就非常让人头疼了。

不用慌,本文就专门针对神经网络模型的黑箱特性,构建了一个模型debug神器,可以轻松帮助从业者“解释”模型的效果,甚至透视模型的决策。

针对这一诉求,百度飞桨企业版EasyDL零门槛AI开发平台在原有完善详实的模型评估报告基础上,进一步新增上线了  混淆矩阵CNN热力图 功能,即使大家对深度学习了解不多,也可以快速依据可视化评估结果制定更为精准的优化方案。下面将为大家逐一介绍模型指标、错误示例(BadCase)、混淆矩阵、CNN热力图等各个功能。

EasyDL模型评估提供多项指标,多角度展现模型效果信息

EasyDL基于飞桨开源深度学习平台,面向企业AI应用开发者提供零门槛AI开发平台,实现零算法基础定制高精度AI模型。EasyDL提供一站式的智能标注、模型训练、服务部署等全流程功能,内置丰富的预训练模型,支持公有云、设备端、私有服务器、软硬一体方案等灵活的部署方式。

目前,EasyDL通过百度智能云已经服务超过80万企业用户,在工业制造、安全生产、零售快消、智能硬件、文化教育、政府政务、交通物流、互联网等领域广泛落地。

在EasyDL完成模型开发后可以获得平台提供的各项详细的模型评估指标,以图像分类模型为例,除了整体的准确率之外,还可以看精确率、召回率、F1-score、TOP5准确率等。

除了模型整体的指标之外,还可以看每一项类别的F1-score值,从而帮助开发者发现具体哪一类别的识别效果较差。针对这些较差的类别,开发者可以有针对性地去看那些被预测错误的样本,也就是常说的BadCase。开发者可以检查这些类别是否样本量过少,需要补充数据;是否有脏数据存在,影响了模型学习。

在物体检测上也类似,整体指标上可以观测mAP、最佳阈值下检测的精确率、召回率等。因为检测模型会输出很多的检测框,而有相当一部分检测框的概率比较低,一般会设置一个阈值来过滤掉那些低概率的检测框。通过设置不同的阈值,模型便会有不同的精确率、召回率和F1-score。在模型预测时,通常取F1-score最高的阈值当做最佳阈值,这样能够较好地平衡精确率和召回率,尽量减少漏检、错检等问题。

与分类任务类似,在物体检测模型的评估中也可以查看各个类别的精度,来判断哪些类别的检测效果欠佳。找到这些问题比较大的类别之后,同样也可以查看BadCase。检测问题里的BadCase详细区分了“误识别”和“漏识别”这两种情况,从而方便开发者看检测出错的各类情况。开发者可以检查对应类别的标注框是否过少,是否有框标注错误需要修正。

新增混淆矩阵与热力图两大功能,高效展示模型效果问题

除了上面这些经典常用的方法外,为了更有针对性地比较易混淆的类别,EasyDL近期重磅上线了混淆矩阵的功能。在混淆矩阵中,开发者可以方便地看到具体哪两种类别之间容易产生混淆,例如,类别A较多地被识别成了类别B。根据这些信息,开发者可以发现是不是训练数据存在问题,例如相似类别的图片有标注错误;或是这些相似类别的图片太少,导致模型没有学习充分。开发者可以依据混淆矩阵提供的信息,对模型数据进行补充与调整。

看到这里,你会发现,EasyDL在评估模型效果时,通常是从数据的角度去发现现有模型的问题,通过优化数据来优化模型效果的。为什么会选择这样的策略呢?在深度学习领域有一句话很流行,“Garbage in , garbage out.”意思就是说如果开发者给了深度学习模型一堆标注质量差的“垃圾”数据,就会得到一个精度很低的“垃圾”模型,这句话时刻提醒开发者,数据质量与模型效果直接相关。因此,从数据角度进行模型效果的问题定位、并配合相应数据的调整,往往是最直接高效的。对于EasyDL的企业应用级开发者而言,从数据角度解决问题,不要求用户进行高深的算法研究,可以零代码快速提升模型精度。

除了上面这些方法外,还有一些更专业的透视模型手段,被业界称之为模型可解释性方法。飞桨开源了业界主流的可解释性方法在GitHub上,这里面既包括基于输入特征的方法(如Intergrated Gradients, SmoothGrad, LIME等),也包括基于中间特征的方法(如GradCAM,ScoreCAM等)。大家可以通过以下链接查阅:

https://github.com/PaddlePaddle/InterpretDL

在这些方法中,针对CNN网络有一个观察网络中激活情况的技术,可以更深入地了解模型的行为。这也是EasyDL模型评估热力图功能的技术基础。

以CAM算法为例,在CNN网络的最后一个特征图(Feature Map)上,哪些位置被激活是非常重要的信息,它直接影响后续网络中分类器的判断。但是这些特征图除了长宽两个维度外,还有一个通道的维度,开发者如何才能把不同通道的特征图叠加到一起呢?CAM提供一种加权的方法,即根据最后一个全连接层中的权重来加权。如上图示例,如果开发者想观察“狗”这个类别的激活情况,那么就把全连接层中各个通道到狗这个类别的权重W1, W2, …, Wn找出来,然后用这些权重对各通道特征图进行加权求和,就会得到一个两维的激活状态图。从这个状态图中,开发者可以看到原图里狗出现的位置被激活了,而其他区域(如人)则数值很小,没有对预测起作用。通过这样的“透视”,开发者可以更深入地了解模型内部的运作情况,一定程度地理解模型为什么得到了某个预测结果。根据这些信息,开发者可以选择通过补充、优化数据来引导模型学习地更好,也可以选择通过调整模型结构来优化模型的表现。

有些方法不仅适用于CNN的视觉模型,也适用于自然语言处理模型和传统机器学习模型。EasyDL也会不断集成相关能力。比如NLP的情感分类任务中,我们想知道为什么文本模型对一句话预测为正面或负面的评论。利用积分梯度(Integrated Gradients)的方法,在文本模型中把全零的嵌入向量作为基线,得到当前嵌入向量的积分梯度。从而反应不同输入词对预测结果的影响,可视化结果如下图:

使用EasyDL进行模型开发,在模型的评估中不仅可以参考各项详细指标来进行模型效果判断,还可以参考全新上线的混淆矩阵和热力图,以可视化、更精准的方式来定位模型效果不佳的原因,从而采取有针对性的效果提升策略。

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 - IJCAI2020 | Mucko:基于事实的多层跨模态知识推理视觉问答

论文笔记整理:陈卓,浙江大学计算机科学与技术系,博士研究生。论文链接:https://arxiv.org/pdf/2006.09073代码:https://github.com/astro-zihao/mucko发表会议:IJCAI 2020任务定义及背景VQA(视觉…

LeetCode 40. 组合总和 II(排列组合 回溯)

1. 题目 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 解集不能包含重…

质量运营在智能支付业务测试中的初步实践

背景 毋庸置疑,质量是决定产品能否成功、企业能否持续发展的关键因素之一。对于“质量时代”下的互联网企业,如何在快速迭代的节奏中兼顾质量,真正落地“人人重视质量、人人创造质量、人人享受质量”,这是对QA的要求,也…

新手手册:Pytorch分布式训练

文 | 花花机器学习算法与自然语言处理单位 | SenseTime 算法研究员目录0X01 分布式并行训练概述0X02 Pytorch分布式数据并行0X03 手把手渐进式实战A. 单机单卡B. 单机多卡DPC. 多机多卡DDPD. Launch / Slurm 调度方式0X04 完整框架 Distribuuuu0X05 Reference文中所有教学代码和…

Hotel booking酒店预订——数据分析与建模

Hotel booking酒店预订——数据分析与建模:https://zhuanlan.zhihu.com/p/196757364?utm_sourcewechat_session 写文章Hotel booking酒店预订——数据分析与建模(转载翻译自kaggle)海上泊舟数据分析师数据源:https://www.science…

论文浅尝 - ICLR2020 | Pretrained Encyclopedia: 弱监督知识预训练语言模型

论文笔记整理:陈想,浙江大学博士,研究方向为自然语言处理,知识图谱。Wenhan Xiong, Jingfei Du, William Yang Wang, Veselin Stoyanov.Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model来源&…

LeetCode 216. 组合总和 III(排列组合 回溯)

1. 题目 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输出: [[1,2,4]]示例 2: 输入: k 3, n 9 输出…

“小众”之美——Ruby在QA自动化中的应用

前言 关于测试领域的自动化,已有很多的文章做过介绍,“黑科技”也比比皆是,如通过Java字节码技术实现接口的录制,Fiddler录制内容转Python脚本,App中的插桩调试等,可见角度不同,对最佳实践的理解…

软考中级 软件设计师资料(考点分析+复习笔记+历年真题+电子版课本)

软考中级 软件设计师资料(考点分析复习笔记历年真题电子版课本): https://blog.csdn.net/weixin_44754772/article/details/113763165 软件设计师是软考中级职称,相比高级的难度而言,中级难度较低,每个人花…

关于NLP相关技术全部在这里:预训练模型、图神经网络、模型压缩、知识图谱、信息抽取、序列模型、深度学习、语法分析、文本处理...

神器推荐NLP近几年非常火,且发展特别快。像BERT、GPT-3、图神经网络、知识图谱等技术应运而生。我们正处在信息爆炸的时代、面对每天铺天盖地的网络资源和论文、很多时候我们面临的问题并不是缺资源,而是找准资源并高效学习。但很多时候你会发现&#xf…

LeetCode 77. 组合(回溯)

1. 题目 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例:输入: n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combin…

论文浅尝 - AAAI2020 | 从异质外部知识库中进行基于图的推理实现常识知识问答...

会议:AAAI2020论文链接:https://arxiv.org/pdf/1909.05311.pdf摘要常识问答旨在回答需要背景知识的问题,而背景知识并未在问题中明确表达。关键的挑战是如何从外部知识中获取证据并根据证据做出预测。最近的研究要么从昂贵的人类注释中生成证…

插件化、热补丁中绕不开的Proguard的坑

文章主体部分已经发表于《程序员》杂志2018年2月期,内容略有改动。 ProGuard简介 ProGuard是2002年由比利时程序员Eric Lafortune发布的一款优秀的开源代码优化、混淆工具,适用于Java和Android应用,目标是让程序更小,运行更快&…

互联网高端社畜行话大全(表情包)

作者 | 洋气的圆圆君前几天,字节跳动CEO张一鸣发表的演讲刷屏朋友圈,其中不忘开讽互联网黑话。燃鹅,作为一只卑微的互联网社畜,哪天被父母问起来我们行业常说的“抓手”、“赋能”都是啥,答不好的话那是要被challenge自…

论文浅尝 | DeCLUTR: 无监督文本表示的深度对比学习

Giorgi, J. M., O. Nitski, G. D. Bader and B. Wang (2020). "DeCLUTR: Deep Contrastive Learning for Unsupervised Textual Representations." arXiv preprint arXiv:2006.03659.原文链接:https://arxiv.org/pdf/2006.03659GitHub项目地址&#xff1a…

MoCoV3:何恺明团队新作!解决Transformer自监督训练不稳定问题!

文 | happy源 | 极市平台论文链接: https://arxiv.org/abs/2104.02057本文是FAIR的恺明团队针对自监督学习Transformer的一篇实证研究。针对Transformer在自监督学习框架中存在的训练不稳定问题,提出了一种简单而有效的技巧:Random Patch Projection&…

LeetCode 496. 下一个更大元素 I(哈希)

1. 题目 给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应…

论文浅尝 - AAAI2020 | 多模态基准指导的多模态自动文摘

论文笔记整理:刘雅,天津大学硕士。链接:https://aaai.org/ojs/index.php/AAAI/article/view/6525动机近年来,随着计算机视觉以及自然语言处理技术的发展,多模态自动文摘技术逐渐成为学术界和工业界研究的热点。当前的多…

改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力

改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力 代码CrissCrossAttention注意力ECAAttention通道注意力EMAU期望最大化注意力加入方法各种yaml加入结构本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方式,在本文中…

美团点评智能支付核心交易系统的可用性实践

背景 每个系统都有它最核心的指标。比如在收单领域:进件系统第一重要的是保证入件准确,第二重要的是保证上单效率。清结算系统第一重要的是保证准确打款,第二重要的是保证及时打款。我们负责的系统是美团点评智能支付的核心链路,承…