0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

人工智能 | 惊喜还是惊吓?盘点机器学习算法的“高能”瞬间

机器学习与人工智能 来源:YXQ 2019-05-09 08:38 次阅读

「水可载舟,亦可覆舟」,这句老话相信我们都很熟悉,套用到机器学习上,即是带给我们诸多便利的机器学习算法,一个不小心,将因为意想不到的理由带到我们「惊喜」。原作者对一篇论述此现象的论文进行了解读,我们将之编译如下。

机器学习算法与其他计算机程序存在很大的不同。在一般编程行为中,人类程序员都会告诉计算机具体做些什么。来到机器学习,人类程序员只会提供问题,算法必须通过反复试验来搞明白如何解决它。

目前看来这套做法颇有成效——机器学习算法已广泛用于面部识别、语言翻译、财务建模、图像识别及广告投放领域。只要你上过网,就可能已经和机器学习算法产生过交互。

然而它并不总是运作良好。有的时候程序员认为自己的算法已经设计得足够好,可仔细观察结果,就会发现它解决的是与程序员原先想要的完全不一样的问题。举个例子,我见过一个图像识别算法,原该识别绵羊的它,最终却学会识别草,且不停将空旷的绿草地标记为含有绵羊。

一群绵羊在郁郁葱葱的绿色山坡上吃草

标签:吃草、绵羊、山、城堡、马

当机器学习算法以意想不到的方式成功解决问题时,程序员通常会感觉,好吧是的,有时确实挺烦人,但往往都是很纯粹的愉悦感。

令人感到惊喜的是,2018 年有一组研究人员据此写了一篇引人入胜的论文——该论文收集了数十篇「引起研究人员惊讶与赞叹」的轶事。这篇论文非常值得一读,包括原始参考文献也是,这里有我最喜欢的几个例子。

论文链接:

https://arxiv.org/pdf/1803.03453.pdf

扭曲规则,取得胜利!

首先,通过模拟生物来研究不同形式的运动是如何演化的,包括为机器人提供全新的运动思路,已经是一个悠长的传统。

既然可以扑腾,为何还要选择走路?在这个例子中,模拟机器人原本应该尽可能地快速前进,但它却没有演化自己的双腿,而是选择将自己组装成高塔,然后摔下来。当中有些机器人甚至学会将摔落的动作变成翻筋斗,以增加挪腾的额外距离。

[配图:机器人成了一座倒下的塔]

既然可以跳康康,何必学跳跃?这组模拟机器人原该演化成可跳跃的形式,可由于程序员一开始将跳跃的高度设置成最高挡块的高度,于是(又一次犯傻)机器人在形式上变得很高。为了解决这个问题,程序员试图将跳跃高度定义为最初为最低挡块的高度。作为回应,机器人演化出一条细长的腿,化身可以将腿蹬至空中的康康舞机器人。

[配图:高大的机器人将腿伸向空中,而不是跳跃]

为了「超级能源」,黑你没商量!

势能并非模拟机器人唯一学会利用的能源。事实证明,像现实生活中发生的一样,一旦存在可使用能源,肯定会有东西演化去使用它。

作为能源的浮点舍入误差:在一次模拟中,机器人习得数学中的舍入误差规则,发现这可以使它们在运动中获得额外的能量。于是,他们学会了快速抽动,由此产生大量可以利用的自由能量。当机器人开始以惊人的速度在游泳时,程序员才注意到这个问题。

与地板的碰撞中获取能量:在另一个模拟中,一部学会碰撞检测规则的机器人则带来另一些问题。一旦它们设法在地板上让自己陷入困境(首先学会操纵时间来使之成为可能),碰撞检测系统会意识到机器人不应在地板上,随之将它们向上射击。于是机器人学会在地板上快速振动,通过反复碰撞来产生额外的能量。

[图片:机器人通过地板上的振动来获取前进的能量]

「撞击」飞行:在另一个模拟中,跳跃机器人学会利用不同的碰撞检测 bug 来帮助自己飞行——每当它们彼此的部件碰到一起时,作力会将它们推至空中。如果这在现实生活中起作用,如今的商业航班将是另一番景象。

钻「漏洞」:计算机的游戏算法非常擅长发现人类通常也会利用的矩阵故障来提高获胜速度。一个玩着旧 Atari 游戏 Q * bert 的机器算法发现一个过去未曾发现的 bug,它选择在一个级别结束时执行一系列特定的动作,而非直接过渡下一级,由此所有平台将开始快速闪烁,玩家因此得以积累大量积分。

另外有一个主攻 Doom 的游戏算法同样找到可以阻止敌人发射火球的特殊操作——但它只适用于算法的「梦幻版」Doom。有个好消息是,你可以在这里玩到该版本的游戏。

游戏链接:

https://worldmodels.github.io

[配图:Q * bert 玩家积累了可疑的数量积分,考虑到它并未做过太多事情]

「目标宏大」:在一个令人毛骨悚然的例子中,有个算法原应解决如何对试图降落航空母舰的飞机应用最小的作力,结果它发现如果应用的是一个「大型」作力,它将溢出程序的内存,进而注册成为一个非常「微小」的作力。飞行员会死,但是,嘿,完美的分数。

破坏,也是一种解决方案!

即便像列表排序算法那样显然是良性的东西,也可能以一种无辜却险恶的方式解决问题。

你看,它们可不是「未排序」:举个例子,一个原本应该学会对数字列表进行排序的算法,竟然学会删除列表,以便从技术层面消除「未排序」的东西。

完成 Kobayashi Maru 测试:该算法原应最小化自身答案与正确答案之间的差距,结果它找着了存储与删除答案的位置,因此它获得了一个完美的分数。

在井字棋游戏中取得胜利:1997 年,一些程序员构建了一个可以在无限大的板上彼此对抗玩井字棋游戏的算法。一名程序员决定放弃设计具体的算法策略,任由其自行发展。令人感到惊讶的是,该算法突然开始赢得所有游戏。结果证明,该算法的策略是棋子放在一个极其远的位置,因此每当对方的计算机试图模拟新的扩展板时,过于巨大的游戏板将导致其耗尽内存并崩溃,从而输掉游戏。

结论

当机器学习解决问题时,它所提出的解决方案可以很聪明,也可以让人彻头彻尾感到不可思议。

生物的进化也是这样运作的——正如任何生物学家会告诉你的那样,生物总会找到最奇怪的问题解决方案,以及最奇怪的能源来进行开发。一个能够证明我们未生活在计算机模拟中的最可靠迹象是——如果是,一些微生物将会学会利用它的缺陷。

因此,作为程序员,我们必须非常小心,我们的算法应该解决我们要求它们解决的问题,而不是抄捷径。一旦存在另一种可以更加容易解决问题的途径,机器学习很可能会找到它。

幸运的是,「杀死所有人类」真的很难。如果「烤一个令人难以置信的美味蛋糕」也能解决问题,并且比「杀死所有人类」更容易,那么机器学习肯定会选择站在蛋糕那一边。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1791

    文章

    46859

    浏览量

    237580
  • 机器学习
    +关注

    关注

    66

    文章

    8377

    浏览量

    132410

原文标题:高能 | 惊喜还是惊吓?盘点机器学习算法的「高能」瞬间

文章出处:【微信号:datawork,微信公众号:机器学习与人工智能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NPU与机器学习算法的关系

    人工智能领域,机器学习算法是实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源
    的头像 发表于 11-15 09:19 308次阅读

    嵌入式和人工智能究竟是什么关系?

    人工智能的结合,无疑是科技发展中的一场革命。在人工智能硬件加速中,嵌入式系统以其独特的优势和重要性,发挥着不可或缺的作用。通过深度学习和神经网络等算法,嵌入式系统能够高效地处理大量数
    发表于 11-14 16:39

    人工智能机器学习和深度学习存在什么区别

    人工智能指的是在某种程度上显示出类似人类智能的设备。AI有很多技术,但其中一个很大的子集是机器学习——让算法从数据中
    发表于 10-24 17:22 2446次阅读
    <b class='flag-5'>人工智能</b>、<b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>存在什么区别

    《AI for Science:人工智能驱动科学创新》第6章人AI与能源科学读后感

    、优化等方面的应用有了更清晰的认识。特别是书中提到的基于大数据和机器学习的能源管理系统,通过实时监测和分析能源数据,实现了能源的高效利用和智能化管理。 其次,第6章通过多个案例展示了人工智能
    发表于 10-14 09:27

    《AI for Science:人工智能驱动科学创新》第二章AI for Science的技术支撑学习心得

    人工智能在科学研究中的核心技术,包括机器学习、深度学习、神经网络等。这些技术构成了AI for Science的基石,使得AI能够处理和分析复杂的数据集,从而发现隐藏在数据中的模式和规
    发表于 10-14 09:16

    《AI for Science:人工智能驱动科学创新》第一章人工智能驱动的科学创新学习心得

    人工智能:科学研究的加速器 第一章清晰地阐述了人工智能作为科学研究工具的强大功能。通过机器学习、深度学习等先进技术,AI能够处理和分析海量
    发表于 10-14 09:12

    FPGA在人工智能中的应用有哪些?

    FPGA(现场可编程门阵列)在人工智能领域的应用非常广泛,主要体现在以下几个方面: 一、深度学习加速 训练和推理过程加速:FPGA可以用来加速深度学习的训练和推理过程。由于其高并行性和低延迟特性
    发表于 07-29 17:05

    人工智能机器学习和深度学习是什么

    在科技日新月异的今天,人工智能(Artificial Intelligence, AI)、机器学习(Machine Learning, ML)和深度学习(Deep Learning,
    的头像 发表于 07-03 18:22 1112次阅读

    机器学习算法原理详解

    机器学习作为人工智能的一个重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器学习
    的头像 发表于 07-02 11:25 774次阅读

    5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V2)

    ://t.elecfans.com/v/27221.html *附件:初学者完整学习流程实现手写数字识别案例_V2-20240506.pdf 人工智能 语音对话机器人案例 26分03秒 https
    发表于 05-10 16:46

    机器学习怎么进入人工智能

    人工智能已成为一个热门领域,涉及到多个行业和领域,例如语音识别、机器翻译、图像识别等。 在编程中进行人工智能的关键是使用机器学习
    的头像 发表于 04-04 08:41 266次阅读

    5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V1)

    *附件:初学者完整学习流程实现手写数字识别案例.pdf 人工智能 语音对话机器人案例 26分03秒 https://t.elecfans.com/v/27185.html *附件:语音对话
    发表于 04-01 10:40

    人工智能机器学习的顶级开发板有哪些?

    机器学习(ML)和人工智能(AI)不再局限于高端服务器或云平台。得益于集成电路(IC)和软件技术的新发展,在微型控制器和微型计算机上实现机器学习
    的头像 发表于 02-29 18:59 767次阅读
    <b class='flag-5'>人工智能</b>和<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的顶级开发板有哪些?

    嵌入式人工智能的就业方向有哪些?

    联网ARM开发 NB-IoT开发及实战 七:python工程师,人工智能工程师 python语法基础 python核心编程 基于OpenCV的机器视觉开发 嵌入式人工智能渗入生活的方方面面,广泛应用
    发表于 02-26 10:17

    深度学习人工智能中的 8 种常见应用

    深度学习简介深度学习人工智能(AI)的一个分支,它教神经网络学习和推理。近年来,它解决复杂问题并在各个领域提供尖端性能的能力引起了极大的兴趣和吸引力。深度
    的头像 发表于 12-01 08:27 3238次阅读
    深度<b class='flag-5'>学习</b>在<b class='flag-5'>人工智能</b>中的 8 种常见应用