本文系生物谷原创编译,欢迎分享,转载须授权!
人工智能(AI)正在进化--毫不夸张地说。研究人员已经创造了一种软件,它借用了达尔文进化论的概念,包括"适者生存",来构建人工智能程序,在没有人类输入的情况下,一代又一代地改进。这个程序在几天内重复了数十年的人工智能研究,它的设计者认为,有一天,它可能会发现人工智能的新方法。
"当大多数人还在蹒跚学步时,他们已经向未知领域迈出了一大步,"没有参与这项研究的德克萨斯大学奥斯汀分校计算机科学家Risto Miikkulainen说。"这是一篇可能会启发大量未来研究的论文。"
图片来源:JAKARIN2521
构建AI算法需要时间。以神经网络为例,它是一种常见的机器学习方法,用于翻译语言和驾驶汽车。这些网络松散地模仿了大脑的结构,并通过从训练数据中学习改变人工神经元之间的连接强度。更小的神经元亚回路执行特定的任务--例如识别路标--研究人员可以花几个月的时间研究如何将它们连接起来,使它们无缝地工作。
近年来,科学家们通过自动化一些步骤加快了这一过程。但这些程序仍然依赖于将人类设计的现成电路拼接在一起。这意味着输出仍然受到工程师的想象力和他们现有偏见的限制。
因此,谷歌的计算机科学家Quoc Le和他的同事们开发了一个名为AutoML-Zero的程序,这个程序可以在有效的零人为输入的情况下开发人工智能程序,且只使用高中生会知道的基本数学概念。他说:"我们的最终目标是开发出连研究人员都找不到的新型机器学习概念。"
该程序发现算法使用一个松散的近似进化。它首先通过随机组合数学运算来创建100个候选算法。然后在一个简单的任务上测试他们,比如一个图像识别问题,在这个问题上,它必须决定一幅画上是猫还是卡车。
在每个循环中,程序将算法的性能与手工设计的算法进行比较。通过随机替换、编辑或删除一些代码来"突变"顶级算法的副本,从而创建最佳算法的细微变化。不断添加新项目、删除老项目,一个循环的圆不断重复着。
该系统一次创建了数千个这样的种群,这使得它可以在一秒钟内处理数万个算法,直到找到一个好的解决方案。该程序还使用一些技巧来加快搜索速度,比如偶尔在种群之间交换算法以防止任何进化死胡同,以及自动清除重复的算法。
在上个月arXiv上发表的一篇预印本论文中,研究人员指出,这种方法可能会和一些经典的机器学习技术相互比较,包括神经网络。Le承认,与当今最先进的算法相比,这些解决方案很简单,但他表示,这项工作是证明原理,他乐观地认为,可以将其扩展到创建更复杂的人工智能。
尽管如此,艾恩德霍芬科技大学的计算机科学家Joaquin Vanschoren认为,这种方法要与最先进的技术相抗衡还需要一段时间。他说,有一件事可以改进这个程序,那就是不要让它从头开始,而是用人类已经发现的一些技巧和技术来播种它。"我们可以用机器学习的概念来启动这个泵。"
这是Le计划要做的事情。他补充道,专注于更小的问题而不是整个算法也有希望。他的团队在4月6日发表了另一篇关于arXiv的论文,该论文使用了类似的方法重新设计了许多神经网络中常用的现成组件。
但Le也认为,增加其中的数学运算数量,并为该程序投入更多的计算资源,可能会让它发现全新的人工智能能力。"这是我们真正热衷的方向,"他说。"要发现一些人类需要很长时间才能发现的真正基础的东西。"
参考资料:
【1】Artificial intelligence is evolving all by itself
【2】AutoML-Zero:Evolving Machine Learning Algorithms From Scratch
【3】Evolving Normalization-Activation Layers