学雷锋网 AI 信息技术文章按:「水可载舟,亦可覆舟」,这句俗话坚信他们都很熟识,指涉到机器学习上,即是带给他们众多便捷的机器学习演算法,一个不留神,将因为意料之外的理由带回他们「精采」。原作对一则阐释此现象的学术论文进行了阐释,学雷锋网 AI 信息技术文章将之校对如下表所示。
机器学习演算法与其他电脑程式存在很大的不同。在一般程式设计行为中,人类文明开发相关人员单厢告诉计算机系统具体做些什么。来到机器学习,人类文明开发相关人员只会提供难题,演算法必须通过反复测试来搞明白如何化解它。
目前看来这套作法颇有实效——机器学习演算法已广泛用于脸部辨识、语言翻译、财务管理可视化、人脸辨识及网络广告领域。只要你上过网,就可能早已和机器学习演算法产生过可视化。
然而它并不总是运转良好。有的是时候开发相关人员认为自己的演算法早已设计得足够多好,可通过观察结果,就会发现它化解的是与开发相关人员原本想的完全不一样的难题。举个范例,我见过一个人脸辨识演算法,原该辨识山羊的它,最终却专业委员会辨识草,且时不时将荒凉的绿草地记号为所含山羊。
一大群山羊在绿树成荫的绿色生态坡地上吃草
条码:吃草、山羊、山、城堡、马
当机器学习演算法以意料之外的方式成功化解难题时,开发相关人员通常会感觉,好吧是的,有时确实挺恼人,但往往都是很单纯的满足感。
更让人感到精采的是,2018 年有几组科学研究相关人员依此写了一则更让人难忘的学术论文——该学术论文搜集了多篇「引起科学研究相关人员吃惊与惊叹」的轶闻。这篇学术论文非常值得一读,包括原初评注也是,这里有我最喜欢的几个范例。
学术论文链接:https://arxiv.org/pdf/1803.03453.pdf
扭曲规则,取得胜利!
首先,通过模拟生物来科学研究不同形式的运动是如何演化的,包括为机器人提供全新的运动思路,早已是一个悠长的传统。
既然可以扑腾,为何还要选择走路?在这个范例中,模拟机器人原本应该尽可能地快速前进,但它却没有演化自己的双腿,而是选择将自己组装成高塔,然后摔下来。当中有些机器人甚至专业委员会将摔落的动作变成翻筋斗,以增加挪腾的额外距离。
[配图:机器人成了一座倒下的塔]
既然可以跳康康,何必学跳跃?这组模拟机器人原该演化成可跳跃的形式,可由于开发相关人员一开始将跳跃的高度设置成最高挡块的高度,于是(又一次犯傻)机器人在形式上变得很高。为了化解这个难题,开发相关人员试图将跳跃高度定义为最初为最低挡块的高度。作为回应,机器人演化出一条细长的腿,化身可以将腿蹬至空中的康康舞机器人。
[配图:高大的机器人将腿伸向空中,而不是跳跃]
为了「超级能源」,黑你没商量!
势能并非模拟机器人唯一专业委员会利用的能源。事实证明,像现实生活中发生的一样,一旦存在可使用能源,肯定会有东西演化去使用它。
作为能源的浮点舍入误差:在一次模拟中,机器人习得数学中的舍入误差规则,发现这可以使它们在运动中获得额外的能量。于是,他们专业委员会了快速抽动,由此产生大量可以利用的自由能量。当机器人开始以惊人的速度在游泳时,开发相关人员才注意到这个难题。
在另一个模拟中,一部专业委员会碰撞检测规则的机器人则带来另一些难题。一旦它们设法在地板上让自己陷入困境(首先专业委员会操纵时间来使之成为可能),碰撞检测系统会意识到机器人不应在地板上,随之将它们向上射击。于是机器人专业委员会在地板上快速振动,通过反复碰撞来产生额外的能量。
的能量]
「撞击」飞行:在另一个模拟中,跳跃机器人专业委员会利用不同的碰撞检测 bug 来帮助自己飞行——每当它们彼此的部件碰到一起时,作力会将它们推至空中。如果这在现实生活中起作用,如今的商业航班将是另一番景象。
钻「漏洞」:计算机系统的游戏演算法非常擅长发现人类文明通常也会利用的矩阵故障来提高获胜速度。一个玩着旧 Atari 游戏 Q * bert 的机器演算法发现一个过去未曾发现的 bug,它选择在一个级别结束时执行一系列特定的动作,而非直接过渡下一级,由此所有平台将开始快速闪烁,玩家因此得以积累大量积分。
另外有一个主攻 Doom 的游戏演算法同样找到可以阻止敌人发射火球的特殊操作——但它只适用于演算法的「梦幻版」Doom。有个好消息是,你可以在这里玩到该版本的游戏。
游戏链接:https://worldmodels.github.io
[配图:Q * bert 玩家积累了可疑的数量积分,考虑到它并未做过太多事情]
「目标宏大」:在一个更让人毛骨悚然的范例中,有个演算法原应化解如何对试图降落航空母舰的飞机应用最小的作力,结果它发现如果应用的是一个「大型」作力,它将溢出程序的内存,进而注册成为一个非常「微小」的作力。飞行员会死,但是,嘿,完美的分数。
破坏,也是一种化解方案!
即便像列表排序演算法那样显然是良性的东西,也可能以一种无辜却险恶的方式化解难题。
你看,它们可不是「未排序」:举个范例,一个原本应该专业委员会对数字列表进行排序的演算法,竟然专业委员会删除列表,以便从技术层面消除「未排序」的东西。
完成 Kobayashi Maru 测试:该演算法原应最小化自身答案与正确答案之间的差距,结果它找着了存储与删除答案的位置,因此它获得了一个完美的分数。
在井字棋游戏中取得胜利:1997 年,一些开发相关人员构建了一个可以在无限大的板上彼此对抗玩井字棋游戏的演算法。一名开发相关人员决定放弃设计具体的演算法策略,任由其自行发展。更让人感到吃惊的是,该算法突然开始赢得所有游戏。结果证明,该演算法的策略是棋子放在一个极其远的位置,因此每当对方的计算机系统试图模拟新的扩展板时,过于巨大的游戏板将导致其耗尽内存并崩溃,从而输掉游戏。
结论
当机器学习化解难题时,它所提出的化解方案可以很聪明,也可以让人彻头彻尾感到不可思议。
生物的进化也是这样运转的——正如任何生物学家会告诉你的那样,生物总会找到最奇怪的难题化解方案,以及最奇怪的能源来进行开发。一个能够证明他们未生活在计算机系统模拟中的最可靠迹象是——如果是,一些微生物将会专业委员会利用它的缺陷。
因此,作为开发相关人员,他们必须非常留神,他们的演算法应该化解他们要求它们化解的难题,而不是抄捷径。一旦存在另一种可以更加容易化解难题的途径,机器学习很可能会找到它。
幸运的是,「杀死所有人类文明」真的很难。如果「烤一个更让人难以置信的美味蛋糕」也能化解难题,并且比「杀死所有人类文明」更容易,那么机器学习肯定会选择站在蛋糕那一边。
via https://aiweirdness.com/post/172894792687/when-algorithms-surprise-us
学雷锋网 AI 信息技术文章