专栏名称: 策略产品经理讲堂
全程记录策略产品经理的学习进阶之路~
目录
相关文章推荐
91产品  ·  2024年小红书直播手册 ·  昨天  
91产品  ·  抖音运营常见50问.pdf ·  4 天前  
人人都是产品经理  ·  如何让你的AI客服更懂用户? ·  4 天前  
人人都是产品经理  ·  这300个问题,暴露了从业者对AI的认知水平…… ·  5 天前  
51好读  ›  专栏  ›  策略产品经理讲堂

浅谈机器学习系统的反作弊问题

策略产品经理讲堂  · 公众号  · 产品  · 2017-05-02 00:08

正文

在如搜索、排序、广告等策略相关的产品当中, 因为各种各样的利益诉求, 作弊行为是极其常见的现象。有些平台在产品发展的特殊阶段为了数据好看,会部分容忍作弊行为如刷单等情况外。长期看,所有作弊行为都会影响平台的公正性,阻碍平台的健康发展,所以大多数平台都会对作弊行为进行监测和处理。作弊的目的多种多样,有通过作弊骗钱骗补贴的,有通过作弊做平台不允许的事情的等等,今天我们主要讨论通过作弊让item在系统中处于有利地位的作弊行为。


因为反作弊对抗的并不是数理规则,而是一个个活生生的人,因此作弊的手段的是会不断进化的,每个做反作弊的产品经理都必须必须明白一个道理,那就是反作弊是一个长期的斗智斗勇的事情,基本不可能有完全可靠一劳永逸的反作弊系统。也是在这种逻辑之下,反作弊系统的常规发展思路就是不断发现,不断优化。如果接受了这种设定,是不是觉得每一个做反作弊的人都应该混入作弊团体中?


在所有和机器学习系统有关的作弊手段中,细分起来其实只有两类,一是利用系统规则漏洞,二是利用算法策略缺陷。利用系统规则漏洞差不多就是利用产品BUG来作弊了,这一类比较好解决,除了产品经理在设计功能最初就考虑到各种边界情况之外,唯一的办法就是早发现早解决,类似于救火的方式。填补规则漏洞通常也不是策略产品经理的事,这里就不说太多了。利用算法策略缺陷作弊相对来说高端一些,解决起来也稍微麻烦一些,如果细分下来,也可以分为两类,一个是特征攻击,一个是针对策略点的攻击。


******


 特征攻击 


特征是所有机器学习系统的基础,模型输出都依靠对特征的计算,如果能够改变特征值,就一定能够改变item在系统中的地位。因为特征的重要性太为众人所知了,所以这类针对特征的作弊行为完全不需要对系统有具体的了解,只需要用最笨的方法去做就行了。


 伪造 


大家经常见到的刷单刷评价都属于通过伪造数据来作弊的方式。在电商平台上,策略会依靠销量和评分等因素对item进行优劣的判断,商家为了获得更多的曝光,就可以通过刷单刷评论来增加销量和提升评分。类似的还有SEO通过各种方式增加反链或关键词展示次数(嗯,我认为SEO过度了确实就是在作弊)等等。


对于这一类的作弊行为,最常用的方式是识别出可疑行为(另一片文章《如何识别作弊刷单》中有介绍,可供举一反三),产品策略上把可疑操作的行为从模型训练数据和特征生产上排除掉,如果作弊并不能达到商家想要的效果,长久下去他们也就没了作弊的动力。除了策略层面的处理,往往还需要配合运营手段,对有作弊行为的商家给于处罚。惩罚的度会根据平台的强势程度有所不同,比如淘宝和百度惩罚起来根本是没有讨论的余地的。


 变更 


在机器学习系统的推荐中,会有一类离散的分类特征,这类特征很有可能是人工填写完成的。假设某个特征有AB两个分类,大家都知道A分类比B分类更优势,那么如果我是B分类,我完全可以将自己的分类变更为B分类来获取优势。对于这一类的作弊行为处理,人肉处理的话就加强审核,机器处理的话就增加一些交叉验证来保证数据的准确。举个例子,假如我的资料显示我是富二代,但我还有天天坐地铁的记录,那很有可能两个数据中的某一个是错的。


 策略点攻击 


前面说的特征攻击往往不需要对产品策略细节有很多的了解,但是对于具体策略点的攻击就需要对系统本身有更深入的了解。做过策略的同学应该都知道,为了解决某些具体的问题,我们往往做一些小的策略调整来让系统更好的运转,如果这些小的策略点让作弊者了解了还恰好有利可图,那么灾难就来了。因为这类作弊行为和具体系统策略有关,实在没有办法分类讨论,这里举两个自身遇到过的例子来处理吧。


 冷启动 


对于系统中新进入的item,因为很多特征都不具有统计显著性,所以大多数的机器学习系统都会给新加入的item一个考察期。在这个考察期内,常见的方式是把item当做平均水平的item,或者高于平均水平给于更多的扶持。如果某个item本身就是平均水平之下,那TA就可以通过不断新建item来获得不该有的扶持和地位。


这个时候我们就挺为难了,完全废除冷启动扶持肯定是不可能的,怎么办呢?规则上再打补丁呗!对于操作异常的item,在账户层面给于运营和策略上的惩罚,item我们没法管的,在人上面处理。那要是人有不断的注册马甲来捣乱呢?规则上再打补丁吧...前面怎么说来着,反作弊就是斗智斗勇的持久战啊。


 特殊节点 


在策略产品中,许多连续的统计特征会做一些离散规则处理,常见的如“晚上8点后,不再考虑评分影响”“销量100以前,排序提前10位”“如果出价是其他产品的两倍,则排序提到最前”等等,如果作弊者知道了这些节点,那么他就可以将这些特征值控制在刚好能够获利的节点,欺骗系统达到作弊的目的。对于这类问题,除了职业道德层面的策略保密之外,也只能依靠探测可疑行为并从人更高层面(比如账户 )的层面进行处罚。


******


反作弊的对手是人,所以仅仅依靠机器是不可能完全解决的,大多数反作弊系统都是规则和模型并存,并配以合理的运营方案来惩恶扬善。但是作弊是除不尽的,我们唯一能做的,就是足够警惕,还有足够能作弊。