人工干预如何提高模型性能?看这文就够了!
作者 | Preetam Joshi
译者 | 吴家帆
出品 | AI科技大本营(ID:rgznai100)
有一些行业对误报非常敏感,如金融行业,在对信用卡欺诈检测时,如果检测系统将用户的行为错误地分类为欺诈,这将对该金融机构的声誉产生负面影响[1]。又如在医学领域对癌症诊断时,对假阳性反应是很敏感的[3]。另外,在使用 GPT-3 等模型时,自动和客户聊天的机器人,其回复的文本不应该包含一些不合时宜的语言[2]。
下面我先从使用机器学习模型来推理系统入手,再展开人工干预的推理循环的技术介绍。
基于模型的推理
图1. 经典模型推断系统
上述为典型的信用卡欺诈用例机器学习模型,是系统和事件序列的简化视图,仅由模型负责决定给定活动是否为欺诈行为。
如何选择阈值?
阈值的大小是根据精度和召回率的要求来选择[5]。在图1的示例中,精确度定义为正确预测的欺诈活动数(真阳性样本数)除以预测为欺诈的活动总数(真阳性样本数+假阳性样本数)。召回率定义为正确预测的欺诈活动的数量(真阳性样本数)除以正确预测为欺诈的活动数量的总和,以及预测为不欺诈的实际欺诈活动的数量(真阳性样本数+假阴性样本数)。
为实现系统目标,我们需要在精度和召回率之间进行权衡。图2展示的精确率-召回率(PR)曲线是一个有效工具。
图2.精确率-召回率(PR)曲线
在较高召回率下,精度是如何降低的?当召回率为 0.72 时,精度逐渐降低到约为 0.4。为了捕获 70% 的欺诈案件,可能产生大量假阳性样本,精确率达 40%。对于这种情况,假阳性的数量是不可接受的。在合理的召回量下需要实现更高的精度,因此从图1开始,我们需要大于0.99的精度率。
尽管我们选择了更高的精度进行权衡,但在 0.99 的精度率下,召回率为 0.15,远远不够的。下面我们讨论下如何利用人工干预下,以更高的召回率实现更高的精度。
人工干预
图3.通过人机交互来提高模型性能
增加召回率的一种方法是在推理循环中人工干预。如此一来,模型置信度较低的运算结果子集将被发送给人工代理进行手动检查。当选择确定有资格作为不明确的预测子集阈值时,该考虑将多少样本交给人工代理,毕竟人力资源成本往往更贵。所以为了帮助选择阈值,可以下图:
图4.精确召回阈值曲线
在上述案例里,假设分数接近 1.0 表示正标签(欺诈),分数接近0.0表示负标签(非欺诈)。图4中显示了两个区域:
绿色区域表示正样本标签的高置信度区域,即允许进行模型自行决策,并且所得到的模型精度是可以接受的(受影响的终端用户通常可以容忍较低的假阳率)。
黄色区域表示正样本标签的置信度低的区域,在该区域中,模型自动决策的精度水平是不可接受的(假阳率很高会对业务产生重大负面影响)
黄色区域是人工干预通过手动检查提高精度的区域范围。可以使用相同的方法处理负样本标签:接近0.0的区域是高置信度区域。黄色区域中的所有项目或项目子集可进行手动检查。在人工检查过程中,人工代理决定该样本识别的最终结果。关键假设是,在对歧义案件做出决策时,人为因素要优于机器学习模型。
但由于人力资源稀缺,因此在选择阈值时,发送给人工代理的请求量是重要的考虑因素。图5展示的是针对阈值绘制的数量和召回率的示例。“数量”的定义为每小时将发送给人工代理进行检查的项目数。从图5可以看出,阈值为0.7的数量为16,000个项目(每小时)。
图5.容量图(每小时请求数量)和针对阈值的调用
图4和图5中的两个曲线图都可用来满足可接受的人工复查量,选择合适的阈值来满足期望召回率。让我们快速练习下,在召回率为0.59(阈值0.7)时,复查量(请参见图5)约为每小时16K个项目。在相同的召回率水平下,模型精度约为0.6(见图4)。假设人员代理池的容纳量为每小时16K件商品,并且还假设人员代理的准确性和召回率是95%,经过人工审查后,召回水平为0.59时所得到的精度将介于0.95和0.99之间。使用这设定,我们能将召回率从0.15提高到0.56(0.59 [模型] * 0.95 [人]),同时保持大于0.95的精确度。
使用人工干预的最佳做法
为了获得高质量的人工检查,为人工代理建立明确定义的培训是很重要的,人工代理将负责人工检查项目。培训计划和定期反馈循环将有助于长期保持人工检查项目的高质量,有助于最大程度地减少人为错误,维持每个项目决策的SLA要求。
另一种开销稍微大的策略是安排三个人工代理对同一项目进行审查,并从这三个代理的决策结果中进行多数表决来确定最终结果。
在微服务的实践也适用上述方法,这包括对以下内容的适当监视:
从系统中收到商品到对商品做出决定的时间
代理池的整体运行状况
发送给人工审查的项目数量
每小时的项目分类统计
由于各种原因模型精度和召回率可能会随时间变化[4]。重要的是要通过跟踪精确/召回率来重新访问选定的阈值。
刚才我们回顾了涉及人工干预的机器学习推理系统如何在保持较高精确度的同时,帮助提高召回率。这种方法在对假阳性敏感的业务场景案例中特别有用。精确率-召回率阈值曲线是选择人工审查和自动模型决策的阈值的好工具。但是涉及人工代理会导致开发成本增加,并可能导致增加正在经历快速增长的系统的瓶颈区域。我们需要各方面评估和权衡。
参考文献:
https://fcase.io/a-major-challenge-false-positives/#twelve
https://spectrum.ieee.org/tech-talk/artificial-intelligence/machine-learning/in-2016-microsofts-racist-chatbot-revealed-the-dangers-of-online-conversation
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5992010/
https://arxiv.org/abs/1906.02530
https://en.wikipedia.org/wiki/Precision_and_recall
作者简介:Preetam Joshi 是 Netflix 高级软件工程师,致力于应用机器学习和机器学习基础架构。他过去曾在Thumbtack和Yahoo工作,他在佐治亚理工大学计算机学院获得了理学硕士学位。
Mudit Jain 是Google的软件工程师,致力于针对GoogleCloud Platform的AutoML NLP。他曾在微软工作。他在坎普尔的印度理工学院获得了计算机科学与工程的技术学士学位。
原文链接:https://www.kdnuggets.com/2021/04/improving-model-performance-through-human-participation.html
声明:本文由AI科技大本营翻译,转载请注明来源。
更多精彩推荐
☞混沌、无序、变局?探索之中,《拟合》开启☞深入浅出,机器学习该怎么入门?☞好看又好用的 GUI,你需要这七个 Python 必备库
点分享点收藏点点赞点在看
人工干预如何提高模型性能?看这文就够了!相关推荐
- 【调参10】:如何通过组合多个神经网络提高模型性能
文章目录 前言 1. 使用融合模型减少模型的方差 2. 如何融合神经网络模型 2.1 使用不同的训练数据 2.2 使用不同的模型 2.3 使用不同的融合方式 3. tensorflow keras 实 ...
- 读懂深度迁移学习,看这文就够了 | 赠书
百度前首席科学家.斯坦福大学副教授吴恩达(Andrew Ng)曾经说过:迁移学习将是继监督学习之后的下一个促使机器学习成功商业化的驱动力. 本文选自<深度学习500问:AI工程师面试宝典> ...
- 赠书 | 读懂生成对抗神经网络 GAN,看这文就够了
生成对抗神经网络(Generative Adversarial Nets,GAN)是一种深度学习的框架,它是通过一个相互对抗的过程来完成模型训练的.典型的GAN包含两个部分,一个是生成模型(Gener ...
- Get!读懂数据科学和机器学习,看这文就够了!
作者 | luminousmen,机器人专家,擅长Python.大数据.机器学习等 译者 | Arvin,责编 | 王晓曼 头图 | CSDN下载自视觉中国 出品 | CSDN(ID:CSDNnews ...
- 如何提高模型性能?这四大方法值得尝试 | CSDN 博文精选
作者 | BoCong-Deng 编辑 | 屠敏 封图 | 自东方 IC 出品 | CSDN 博客 写在前面 在我们进行模型训练时,如果你只是想要让模型具有不错的性能,那么盲目地尝试网络架构足以达到目 ...
- 如何提高模型性能?这几个方法值得尝试 | CSDN 博文精选
2020-07-25 14:36:03 作者 | BoCong-Deng 责编 | 屠敏 出品 | CSDN 博客 封图 | CSDN 付费下载自东方 IC 写在前面 在我们进行模型训练时,如果你只是 ...
- YOLOv7改进Transformer主干系列:最新结合BoTNet Transformer结构,一种简单却功能强大的backbone,自注意力提高模型性能
- 图解一致性哈希算法,看这文就够了!
作者 | LemonCoder 来源 | 后端技术学堂(ID:lemon10240) 很多同学应该都知道什么是哈希函数,在后端面试和开发中会遇到「一致性哈希」,那么什么是一致性哈希呢?名字听起来很厉害 ...
- 还在烦恼高性能网关设计?看这文就够啦!
作者 | 码海 来源 | 码海 之前的高性能短链设计一文颇受大家好评,共被转载 「47」 次,受宠若惊,在此感谢大家的认可!在文末简单提了一下 OpenResty,一些读者比较感兴趣,刚好我们接入层网 ...
最新文章
- ubuntu 18.04 安装 opencv3.4.1 以及 opencv_contrib 3.4.1] 亲测可用
- matlab需要多大运存_提高matlab运行效率
- vue入门教程(二)
- matlab signal工具箱,免费试用Signal Processing Toolbox
- jsonarray转liast_jsonArray转换成List
- linux非阻塞输入函数,Linux fcntl函数设置阻塞与非阻塞
- 《中国大学--博弈论》
- 力扣-746. 使用最小花费爬楼梯
- linux7关闭开机自启,redhat7 设置开机自启
- IPTV Checker(直播源自动检测工具)
- openCV项目实战-信用卡数字识别PyCharm版(唐宇迪)
- windows 10字体突然变小变细,模糊
- 免费下载微软原厂Win11镜像ISO文件
- 在我的网站 Φ十三月网Φ 开站前的宣传,当我是炒作,造势都可以,但是我们要的是有内涵。
- Apk脱壳圣战之---脱掉“梆梆加固”的保护壳
- 帝国cms文件不生成html,帝国cms迁移后无法生成栏目和文章静态页怎么办?
- pascal过程与函数
- c语言实现简单的五子棋游戏
- Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
- Python中几个冷门但非常好用的内置函数