虽然概念上,人工智能和机器学习不等同。但是本文提及的AI,指的是基于机器学习的AI.
 
一个软件产品,出了错误叫bug,bug需要修。那一个机器学习的模型,准确率在那摆着呢,大伙心知肚明是有一定的犯错率的,怎么办。想了想,可能就是这么办吧。
 
不予理会。推荐引擎推荐错了,质量不高,也不会搞出什么大问题。continuous research,以提高转换率为目标,继续努力就好了。
和bug一样,得修,模型必须改进。比如说,公交车董明珠的广告当作董明珠闯红灯。
和bug一样,得修,可是模型该进不了了。写一些rule,强行修正,或者在模型前端写一些rule来过滤。比如说NER专名识别,可以写一些正则表达式来补捉一下被模型漏掉的词组。
或者干脆公开表示,模型是有错误的,对错误敏感的问题,请根据评分,进行人工干预纠正。
 
对于QA来说,AI Bug真的是比较头疼。什么是bug嘛。你倒是给我说一下,什么样的错误得报告。AI QA说,AI部分的测试,大部分的情况就是做一下合理性检测,保证一下没有因为软件的bug,而使得输出的都是垃圾的问题。模型质量还是必须依赖实验室的统计数据为准。确实,对于AI QA也没什么标准可循。
 
最近听一个talk,其中提到,过去十年,大部分的企业的AI feature还是nice to have. 未来十年是must have. 既然是must have,那对于质量问题就必须正面严谨对待。对于AI能够解决的问题,市场营销上也从搞噱头造势,转到更加实事求是地阐述AI在该领域能解决的问题。曾经看到一个Legal AI是这么说的,我们不是要取代你们的工作,我们是让你们的工作更加的轻松,不用浪费生命与枯燥重复的事情上。基于这样的定位,对于AI的错误,势必要严谨对待,不能向以前那样不管,以前反正是nice to have的功能嘛。
 
Amazon去年release了a2i,提供了一个用户反馈框架,让用户审核那些评分较低的预测。这看上去貌似和主潮流不符。research届不是此起彼伏报告模型准确率破纪录吗,怎么这么多年过去了,还搞人工干预纠正AI了。我想这也可能是AI implementaion走向成熟期的一个表现吧。真正的做到普及之前,必须有能力对质量有更好的monitor,对错误作出及时的反馈。目标是一个成熟可用的系统,而不是nice to have的无人问津的功能。当然a2另外一个很大的作用是收集用户的反馈来作为模型输入,以更好的提高模型质量。
 
提到修AI Bug的强有力手段,rule,想起了多年前一个朋友曾提及他的朋友在某公司从事AI,后来发现流水线上起作用的主要部分是rule,而不是机器学习算法。作为新生代AI宗教信徒的他,过不了这个fake AI的梗,果断离职。不过相信多年磨砺之后,遭遇了AI领域更多理想和现实的矛盾,现在可能没当初那么义愤填膺了。大部分的机器学习工程师对于rule的感情是很复杂的,既鄙视它,又离不开它。实际上,如果不是完全黑盒子的深度学习,AI 流水线上需要涉及到很大工作量的特征工程。而很大可能,某个特征就是一个rule产生的。纵览整个流水线,rule比重多一点还是机器学习算法比重多一点呢。AI落实到实际产品,脚踏实地必须自动化一些重复工作的时候,可能并不需要太较真。毕竟rule工作本身很繁琐,当算法在工程上达到标准后,rule被取代那是必然之势。
 
 
阅读作者更多原创文章,关注微信公众号:

让人头疼的AI bug (随想)的更多相关文章

  1. 【记录】让人淡疼的BUG之参数传送错误

    前言 面试的时候往往容易被面试官问到:“说说你遇到过的比较重大或经典的Bug有哪些,能说一说吗?”我被问时脑海的反应是:“尼玛,这个我从来没有刻意记!一时半会咋想得起来,然后还是没想起来或者是随意给了 ...

  2. 让人头疼的CSS兼容

    先说点Hack的知识(真正的高手是不用Hack的,但要成为高手必须通过Hack这一关) /* CSS属性级Hack */ color:red; /* 所有浏览器可识别*/ _color:red; /* ...

  3. 【解惑】让人头疼的"相等"关系

    Java中判断相等关系一般有两种手段:(1) “==”关系操作符  (2) equals()方法. 显然,基本数据类型变量之间只能用"==".而对象之间两种手段都是合法的.但是有很 ...

  4. 前端笔记之JavaScript(六)让人头疼的正则表达式

    一.正则表达式 1.1正则概述和体验 正则表达式是被用来匹配字符串中的字符组合的模式,常用来做表单验证.在JavaScript中,正则表达式也是对象,是一种引用类型. 案例:正确输入一个电话号码,01 ...

  5. 用CSS解决一个让人头疼的问题

    需求:下面的文字内容分别都写在一个a标签里,现在需要获取到每一行最后一个a标签的竖线,并删除  我首先想到的是用CSS3新增选择器—— :nth-child()来解决,比如 :nth-child(3n ...

  6. 让人头疼一晚上的 select 下拉框赋值问题

    一开始做这个功能 批量修改用户组 , 当勾选若干用户组后, 点击[批量修改用户组]->ajax提交后台查询->返回下拉菜单列表内容-> 弹出对话框并赋予下拉菜单select 动态数值 ...

  7. binlog真的是银弹吗?有些时候也让人头疼

    大家好,我是架构摆渡人.这是实践经验系列的第三篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友. binlog 用于记录用户对数据库操作的SQL语句信息,同时主 ...

  8. 🍓rem单位在Chrome中字体大小异常 🍓

    这是一个很少出现,而一旦出现就让人头疼难当的bug.....网上资料比较少. 解决:https://oss.so/article/87 即为html标签设置-webkit-text-size-adju ...

  9. 2019年所有人必须要掌握的一个技能 - “AI思维”

    或许很多人认为AI只是那些直接从事AI相关岗位的人必须要掌握的技能,但实际上,不分岗位所有人都需要一种能力,那就是“AI思维”.如果没能在合适的时机把自己的认知提升到一定程度,被替代是很自然的事情.在 ...

随机推荐

  1. 放苹果 POJ - 1664 递推

    把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 <= t < ...

  2. Codeforces Round #550 (Div. 3) E. Median String (思维,模拟)

    题意:给你两个字符串\(s\)和\(t\),保证\(t\)的字典序大于\(s\),求他们字典序中间的字符串. 题解:我们假设题目给的不是字符串,而是两个10禁止的正整数,那么输出他们之间的数只要把他两 ...

  3. Codeforces Round #651 (Div. 2) A. Maximum GCD (思维)

    题意:在\(1\)~\(n\)中找两个不相等的数使得他们的\(gcd\)最大. 题解:水题,如果\(n\)是偶数,那么一定取\(n\)和\(n/2\),\(n\)是奇数的话,取\(n-1\)和\((n ...

  4. Intelligent IME HDU - 4287 字典树

    题意: 给你m个字符串,每一个字符对应一个数字,如下: 2 : a, b, c    3 : d, e, f    4 : g, h, i    5 : j, k, l    6 : m, n, o ...

  5. Chapter Zero 0.2.2 内存

    目录 内存 内存的多通道设计 DRAM 和 SRAM 只读存储器(ROM) RAM.ROM以及硬盘的区别(转自百度) 内存 CPU的数据都是来自主存储器(main memory),个人计算机的主寄存器 ...

  6. MS16-032 windows本地提权

    试用系统:Tested on x32 Win7, x64 Win8, x64 2k12R2 提权powershell脚本: https://github.com/FuzzySecurity/Power ...

  7. ReactDOM API All In One

    ReactDOM API All In One React DOM API render() hydrate() unmountComponentAtNode() findDOMNode() crea ...

  8. map & forEach

    map & forEach let logs = `2018-05-23 20:24:09,876 [Timer-2] ERROR org.gil.sydb.server.table.sync ...

  9. Online analog video interview

    Online analog video interview 在线模拟视频面试 English 口语 https://www.pramp.com/#/ https://www.pramp.com/faq ...

  10. Docker & Node.js

    Docker & Node.js https://nodejs.org/en/docs/guides/nodejs-docker-webapp/ https://docs.docker.com ...