Kaggle 宗师在 AI 大赛用 「隐藏的代码作弊」获得第一名,被 19 岁学生发现:H2O.ai 将其开除,丢掉饭碗

原标题:Kaggle 宗师在 AI 大赛用 「隐藏的代码作弊」获得第一名,被 19 岁学生发现:H2O.ai 将其开除,丢掉饭碗

这位程序员事后道歉,称渴望被评为第一名的心态“损害了我的判断力”。

谷歌资助的一项比赛旨在开发机器学习软件,以帮助被遗弃的动物找到有爱心的人家,不料爆出了获胜团队居然作弊的丑闻。

PetFinder.my这家非营利性组织列出狗、猫及其他小动物的资料,供人们领养,它举办大赛的初衷是“用创新的AI解决方案拯救无家可归的动物。”目的在于开发一种算法,可以基于宠物的详细信息(包括宠物的照片、品种、性别、大小、年龄以及是否接种过疫苗),预测多快会被人领养。

这些预测将用于优化和调整将来宠物的资料,以便它们尽快被领养。算法会使用一组资料以及每只宠物被领养之前在网上挂了多久的数据加以训练。因此,模型应该能够根据特定的资料,预测宠物何时可能被选中领养。如果等待时间太长,可加以更改,让宠物更吸引人。

主办方设立了25000美元(约合19000英镑)的奖金池,以奖励最佳解决方案。比赛在Kaggle上举行,Kaggle是谷歌旗下的平台,100多万网民使用该平台来构建AI模型,查找和共享数据集,并与其他Kaggler进行协作。

安乐死

比赛规则称:“在这项比赛中,你要开发算法以预测宠物的可领养性——具体来说,宠物多快被领养。如果成功,这类算法将被编入AI工具中,指导全球各地的收容所和救援人员改善宠物资料的吸引力,减少动物遭受的苦难和安乐死。”

2000多支团队报名参加了比赛,提交了3000多件作品:每个小组都获得了含有15000份宠物资料的训练数据集,以及信息发布到网上后,动物被领养所花的时间。几个月后主办方要求参赛团队提交代码。然后,每个模型都拿第二个数据集加以测试,该数据集由模型以前从未见过的大约4000份资料组成:将预测的领养时间与实际领养所花的时间进行比较。然后按预测性能对参赛作品进行评分。

2019年4月宣布了获胜团队。这个名为Bestpetting的团队由一个熟悉的名字Pavel Pleskov领导。他是大名鼎鼎的Kaggler,在所有Kaggle比赛的积分榜上排第三位,并拥有宗师(Grandmaster)这一头衔。他被誉为是“佼佼者”。

Bestpetting获得了10000美元的最高奖。第二名的团队获得7000美元,第三名的团队获得5000美元,第四名获得2000美元,第五名获得1000美元。

没有人起疑心,直到一名19岁的学生自愿为PetFinder.my将Bestpetting的代码部署到生产环境。随后事情变得糟糕起来。

超级侦探登场

奥地利的19岁少年Benjamin Minixhofer参加了这次比赛,获得第六名。这名少年与总部位于马来西亚的PetFinder.my的创始人兼首席执行官Andy Koh通过电话后,答应与几个顶尖团队合作,结合他们的技术,开发一套基于机器学习的总体系统。

Minixhofer本月告诉IT外媒The Register:“我以为做这件事会很有趣,因为我以前从未将模型部署到生产环境。我认为这很有挑战性。”

PetFinder.my的最终目标是用比赛中的最佳模型来开发工具,用于为需要有人养的宠物优化资料。为此,Minixhofer需要搞清楚从模型的视角来看到底什么让资料更讨人喜欢或更遭人讨厌:照片和文字等。

他告诉我们:“很显然,我更仔细地研究了获胜的模型。第一名和第二名之间的得分相差很大。”

他开始研究Bestpetting的源代码时,为某部分特定的代码感到苦恼,这部分代码添加到别人的代码中后,使其他模型的性能下降——这个结果很奇怪。他意识到,函数majority_voting秘密地隐藏了让Bestpetting得以作弊的Python代码片段。

作弊的最好方法是什么?嗯,只需偷看答案

这支获胜团队从PetFinder.my获取了成千上万份宠物资料,包含每只动物多久后被领养方面的信息。如果在比赛评委进行测试的过程中,他们的机器学习系统意识到看到的资料与某一份获取的资料相匹配,软件会使用该动物找到主人家实际所花的时间,而不是预测时间。因此,其预测不是预测,而是事实。在所有获取的资料中,3500份已在测试数据集中。覆盖范围不小。

这番完整的技术介绍(https://www.kaggle.com/bminixhofer/how-bestpetting-cheated)为熟悉Python的读者描述了作弊手法。

Pleskov及其队伍狡猾得很,确保其模型不太好,因而避免引起怀疑。只要有机会作弊,代码只在百分之十的时间里偷看答案,以便小幅提高测试分数。

Minixhofer向The Register解释:“他们只是对所有获取的图像进行编码,其中3500个图像无意中出现在测试数据集中。我猜他们知道这将来自PetFinder.my的网站,因此肯定会有所重叠。”他意识到,如果Bestpetting没有作弊,其团队在积分榜中将排在100名左右,与第一名相差甚远。

如果Kaggle当初更仔细地检查Pleskov的代码,可能会发现这起丑闻。这不是Pleskov头一回采用这种花招了。

一年多前,在一项发现并标记知名问答网站Quora上发布的虚假问题的Kaggle竞赛中,Pleskov描述了他及其团队如何取得高分。他厚颜无耻地吹嘘:“解决方案很简单:我们就是获取答案。”

Minixhofer通知了Koh,Koh随后联系Kaggle报告了这起欺诈。此后,Kaggle删除了Pleskov的帐户,并以违反使用条款为由禁止他使用该平台。

Pleskov随后也被硅谷软件公司H2O.ai解雇,丢掉了饭碗,他在该公司做了大约四个月的数据科学家。

在Kaggle上获得宗师头衔是了不起的成就,工程师们在简历上炫耀这样的头衔,帮助找到工作。实际上,H2O.ai之类的公司喜欢为特定项目招聘宗师,比如为研发自动驾驶汽车的其他数据科学家构建工具。

媒体公开宣布Pleskov及其团队被取消比赛资格后,他出面道歉,并承诺退还10000美元的奖金:

“对我来说,目的从来不是为了钱,而是为了Kaggle积分:不断成为排名第一的心态损害了我的判断力,”Pleskov继续说道。“现在被禁后,这件事终于有了一个了结,我几乎松了一口气;仍有很多想法需要总结和反思。我希望你们中至少一些人能原谅我,希望其他参赛选手能从我的错误中汲取教训。”

PetFinder.my的Koh称:“Bestpetting团队已作了道歉,主动表示退还奖金。我们目前正在等他们汇款方面的最新消息。”

累犯

这不是Pavel第一次违反Kaggle比赛的目的,也不是第一次被指控作弊。Kaggle在过去似乎并没有谴责这些手法,也没有采取相应的行动。

参考链接:

https://www.theregister.co.uk/2020/01/21/ai_kaggle_cheat/

https://www.kaggle.com/c/data-science-bowl-2018/discussion/54575

https://towardsdatascience.com/kaggle-1st-place-winner-cheated-10-000-prize-declared-irrecoverable-bb7e1b639365

https://www.kaggle.com/bminixhofer/how-bestpetting-cheated返回搜狐,查看更多

责任编辑:

声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()
免费获取
今日搜狐热点
今日推荐