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

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

3天内不再提示

几十个令人惊讶的“机器进化”趣闻其中几则典型案例分享

zhKF_jqr_AI 来源:未知 作者:李倩 2018-04-16 15:09 次阅读

进化是一切复杂且精妙的适应性行为的源泉,然而这种能力并不只是自然界生物的特权,再计算机环境下的人造物体也展现出了令人惊讶的“算法进化过程”。于是,来自美国、英国、法国等30多个学校和机构的研究人员们收集了几十个令人惊讶的“机器进化”趣闻,将其编写成论文。研究者Janelle Shane通过阅读选出了几则典型案例与大家分享,以下是对其进行的编译。

机器学习算法不像其他计算机程序。我们通常说的“编程”是指人类程序员明确告诉计算机做什么。在机器学习中,人类程序员仅仅给与算法需要解决的问题,让算法通过不断试错找到解决方案。

这种方法带来了不错的效果,机器学习算法也广泛地用于人脸识别、外语翻译、金融建模、图像识别、广告投放等领域。机器学习对互联网的影响已经十分广泛了,如果你每天都接触互联网,对这个词一定不陌生。

但是,机器学习算法并不总是那么有效。有时程序员会觉得算法确实没毛病,但是仔细检查后发现算法解决的问题根本不是原本要解决的那个。例如,我之前看到一个图像识别算法,它本应该识别其中的“羊”,但是却把“草地”当做了目标对象,认为“空空如也的绿地”是它的“羊”。

当机器学习算法不按照剧本解决问题时,程序员们有的时候会有点抓狂,但是大多数时候还算顺利。

所以,今年,一组来自世界各地的研究人员写了一篇有趣的论文,他们挑选了几十个“非常令人好奇和惊讶”的研究。这篇文章非常值得一读,但由于文章太长,我只挑选了其中最喜欢的几个案例。

“曲线”获胜

我们都知道,许多研究都喜欢用模拟生物研究如何生成不同形式的运动,或者怎样能让机器人生成新步态。

但是,如果你会翻滚,为啥还要用走的呢?在一个案例中,研究人员想让模拟机器人尽可能快地移动。但是他们并没有给机器人配备“双腿”,而是把它设计成一个高高的“塔”,这当然会倒下了……但是一些机器人就从中学会了“翻滚前进”。

没有腿的机器人摔倒了

如果能用撑杆跳,为啥还直接跳跃?另一个模拟机器人的案例是,研究人员想让它学会跳跃。但是程序员最初设计的跳跃高度是最高的那个模块。所以……机器人学会了让自己长得非常高。为了解决这个问题,程序员又将跳跃高度定义成最初最低的那个模块。然而,机器人因此“进化出”了一条细长的“腿”,伸向空中……

机器人用“长腿”前进,而不跳跃

黑掉矩阵,获取资源

潜在的能量并不是这些模拟机器人学会利用的唯一能量源。在研究中我们发现,一旦能量源可用,机器人的某个部分就会进化去使用它。

将浮点舍入误差作为能量源:在一次模拟中,机器人发现在计算力时的少量舍入误差可以作为额外运动时的能量。由此它们学会了快速地开关,以产生大量可免费利用的能量。当机器人以极快的速度游泳时,程序员们注意到了这个问题。

在碰撞地板时收集能量:另一个模拟实验也出现了相似的问题,机器人学会在碰撞地板时运用其中的数学问题。如果它们故意让自己倒地(首先它们会学会让自己实现这个动作),那么碰撞探测器会判断它们不应该摔倒,然后立即将其向上弹起。于是机器人学会在地板上快速地振动,通过反复碰撞产生额外的能量。

机器人在地板上振动向前行走

反弹飞行:在另一项实验中,跳跃式机器人发现了另一种碰撞检测bug。通过将身体的两部分碰撞到一起,它们可以推动自己冲向更高的地方。如果这项成果得以在现实中实现,那么商业航空将发生巨大变化。

发现雅达利游戏中的bug:计算机游戏算法非常善于发现矩阵故障,人类通常会用这类故障进行高速裕兴。一种用于运行旧式雅达利游戏Q*bert的算法发现了一个前所未知的bug,即它可以在某个级别即将结束时执行一系列非常具体的动作,而不是升级到下个级别。这时所有的平台会快速闪烁,玩家可以积累大量分数。

Doom的算法还发现了一种特殊的动作组合,可以阻止敌人发射燃烧的火球。但是它只能在算法的梦幻版中发挥作用。如果你想玩梦幻版,可以点击这个网址:worldmodels.github.io

Q*bert玩家积累到了一个反常的分数,但它并没有做什么努力

运用浮点溢出使飞机降落:在另一个更加诡异的案例中,算法原本是用来计算如何给一架即将降落在航空母舰上的飞机施加一个最小的力。结果它发现,如果是加一个很大的力,它就会使该项目的内存溢出。虽然飞行员会因此丧生,但是系统却得到了最完美的分数。

破坏性地解决问题

有一些类似列表排序算法的温和方法,也能以非常邪恶的方式解决问题。

例如,有一种算法本身是用来对数字列表排序的,但是它却学会了删除列表,这样一来它在技术上就不是无序的了。

另一种算法应该是用于缩小它自己的答案和标准答案之间的差异,但它学会了找出答案存储的位置并删除了它,所以它就会得到一个完美的分数。(解决小林丸的测试)

1997年,几名程序员创建了一个算法,可以远程在无限大的棋盘上互相玩井字游戏。其中一个程序员并没有涉及算法的策略,而是让它们自己摸索获胜的方法。令人惊讶的是,算法开始赢得所有的游戏。事实证明,该算法的策略是将其置于非常远的地方,以便当其对手的计算机试图扩展棋盘时,巨大的棋盘会因内存消耗殆尽而崩溃。(如何在井字游戏中获胜)

结论

长久以来,人们都对机器进化存在误解,认为它们只不过在模仿。但是这些实验表明,当机器学习解决问题时,它可以产出非常巧妙甚至不可思议的解决方案。

生物进化也是如此,就像许多生物学家说的,生物体可以找到最奇怪的解决方法,以及利用最奇怪的能量源。所以作为程序员,我们必须非常小心,因为算法正在解决我们想要解决的问题。如果还有另外解决问题的方法,机器学习可能会很快地找到它。

但是也不必过于担心,机器学习是不会让人类灭亡的。如果“做一个非常美味的蛋糕”可以解决问题,并且比“毁灭人类”简单的话,机器学习一定会选择做蛋糕。

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

    关注

    206

    文章

    26831

    浏览量

    201033
  • 机器学习
    +关注

    关注

    66

    文章

    8062

    浏览量

    130442

原文标题:注意!你的算法正在偷偷进化——机器进化趣闻集锦(附论文)

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    上海交大研发成功全自动液态生物芯片系统

    据悉,液态生物芯片适用于核酸及蛋白标记物测定,具备大检测通量与高度灵活性,可以同时应对单管样品中几十个目标物的分析,极大地提高了检测工作的效率。
    的头像 发表于 03-26 10:28 66次阅读

    求助:我设计了一频率连续可调的方波转正弦波的电路,想请问大家这个有申请专利的价值吗?

    。尤其是响应速度,现在能做到在几个到几十个周期内完成锁定。这个AGC电路还可以调整相应的电阻电容以适应不同的频率段。不过这个电路需要方波时钟才能达到上述要求,不然会降低精度和响应速度,但这也限制了该电路的用途。 我现在想请教大家该电路还能用于那些应用场景,有没有申请专利的价值? 谢谢
    发表于 03-14 14:54

    STM32L071的ADC,接了一10K电阻,为什么会有自带几十mv的电压?

    [td] STM32L071的ADC,接了一10K电阻,为什么会有自带几十mv的电压?电路如图所示,采样率79.5 时钟16M
    发表于 03-14 07:32

    PC端连接STLINK_V3MINI,电流为90-110mA,这个电流正不正常?如何排查?

    怎样测的电流? STLINK-V3Mini有连接什么吗?一MCU正常运行有几十个mA应该属于正常范围。
    发表于 03-08 07:54

    AD7656在没有输入信号时,测量输入端都会有mV至几十mV的电压,怎么消除呢?

    像之前用AD7705那位朋友一样。我用AD7656,完全按照手册设计。参考电压、电源电压都接了0.1uF和1uF电容。 在没有输入信号时,测量输入端都会有mV至几十mV的电压,怎么消除呢?
    发表于 02-22 07:27

    为什么TC397对外设赋值这么慢?

    现在遇到了一问题,再给GTM.ATOMX.CHX的SR0或SR1赋值时一句赋值语句的周期要130ns左右,相当于几十个指令周期;而TI的DSP芯片对相应PWM寄存器赋值一条语句执行时间只有ns,只占一
    发表于 02-05 09:05

    ADIS16460正常的工作温度是−25°C 到 +85°C,为什么测试的时候有几十个是-10°C ?

    ADIS16460正常的工作温度是−25°C 到 +85°C,为什么测试的时候有几十个是-10°C ?
    发表于 12-28 08:18

    使用AD9747时发现一路电流不正常,是什么原因造成的?

    我们在使用AD9747时发现一路电流不正常,自己测试了一下,4路电源中,DVDD18的功耗很小,只有几十个uA,器件的数据输入P1Dx和P2Dx高输入漏电都是几个uA。 使用回路中,各路电源单独提供,所有vss接在一起。请问IIH几十
    发表于 12-15 07:12

    用AD5781输出5V的直流信号,上面加有噪声,如何测量几十微伏的交流噪声信号?

    我用AD5781输出5V的直流信号,上面加有噪声,其量级在几十微伏,请问这个该如何测量?一般的示波器只能测量几十毫伏量级的交流信号。
    发表于 12-08 07:18

    M9连接器3芯的导体厚度有什么作用?

    电蜂优选工程师说道M9连接器3芯的导体厚度通常在几个到几十个微米的范围内。导体的厚度对电流传输能力和电气接触电阻有很大影响。
    的头像 发表于 10-04 17:20 405次阅读
    M9连接器3芯的导体厚度有什么作用?

    存储器的分类有哪些 常用的存储器有哪些

    典型的SoC存储体系包括处理器内部的寄存器、高速缓存(Cache)、片内ROM、片外主存。其中,内部寄存器通常由十几个到几十个构成,用于缓存程序运行时频繁使用的数据(局部变量、函数参数等)。
    发表于 09-19 09:30 1518次阅读
    存储器的分类有哪些 常用的存储器有哪些

    这是一女老师工作的地方,每天围着几十个会plc编程的男人转,真的是一件幸福的事情吗?

    电源继电器电路plc
    学习电子知识
    发布于 :2023年08月02日 15:27:09

    服务器数据恢复-网站服务器数据恢复案例

    一台linux操作系统网站服务器,该服务器上部署了几十个网站,服务器上只有一块SATA硬盘。
    的头像 发表于 07-17 15:52 353次阅读

    请问N76E616和885的内部RAM能不能升级到2K?

    对标STM8,新唐的新品616和885架构不错,但是致命弱点是内存太小了,512字节,STM8的是2K,在这么小的内存前提下,有的项目差几十个字节眼瞅着不够用,没办法只能用STM8,但新唐的价格同比
    发表于 06-14 09:01