神经网络 人工智能-谷歌全新的机器学习代码库,TensorFlow,让我有机会
几周前,我正从工作中的一个项目逐渐交接过度到另一个项目里。这为我提供了一个非常好的空档期,去阅读一些与我感兴趣而且目前科技还没有完全解决的主题相关文章。机器学习就是我最想看的主题之一。这个领域已经深深地融入到了当今世界的科学技术当中,但我一点都不了解它是怎么运作的。从那之后的几周里,我阅读了许多浅显的文章(还玩了一些机器学习工具)。我所了解到的知识让我确信,我们人类正在加速地走向通用人工智能的时代。深度学习的快速发展和物联网设备海量数据的加速累积,更说明了这个时代即将来临。但限于本文的篇幅,我将有针对地论证我的假设,即我们周围的一切都是深度神经网络,并从形而上学来分析如果我们接受了这个观点将会得到什么。
转移学习
作为一个机器学习的新手(事实就是这样),我第一次接触机器学习就感觉它很神奇。谷歌全新的机器学习代码库,TensorFlow[1],让我有机会在我普通的MacBook Pro上训练一个深度神经网络,训练数据用的是我用谷歌下载的图片,只需要运行几个小时,它就能精确地标记出一个房子里不同类型的房间。这个神奇的工具令我欣喜若狂,甚至兴奋得夜晚无法入眠。随着最初的热情消退,以及阅读文章的积累,我发现最让我着迷的概念是“转移学习”。谷歌里是这么介绍的,“转移学习是一种技术,它可以一个新问题上运用由其他问题训练好的模型。我们只需要重新根据新问题训练模型中的几层网络,然后新模型就能准确地用来解决新的问题。从零开始训练深度学习网络需要花费好几天的时间,但是转移学习可以在一个很短的时间内完成训练。”
深度学习这一名称来自于它用来学习数据的深度神经网络算法。它们拥有成百上千层的神经网络,因此称之为“深度”。每一层神经网络(或者几层一组的神经网络)的信号输出,可以作为下一层(或几层)神经网络的输入[3]。因此在我刚才提到的那个例子里,谷歌已经预先训练好了部分图像模型,里面低层的网络可以识别简单图像成分,如边缘和拐角,而中间层可以识别一些形状。我只需要重新训练一部分顶层的网络,让它们融合低层网络的输出,并为图像给出最终的解释和标签。
我们的大脑就是深度神经网络
在我入门机器学习的几天之后,我有幸去参加了Ray Kurzweil精彩的报告会——“加速降临的未来”[2] 。报告会上他认为人类大脑就是一个深度神经网络模式识别器,还说我们大脑的中的一部分(老大脑)和蜥蜴的大脑是一模一样的。
结合“转移学习”的概念来看,现有的深度神经网络结构可以很好的解释同物种代代相传的知识,以及跨物种之间的知识转移这两种现象。(我很赞同这个观点,毕竟神经网络的结构就是模仿大脑的结构而来。但在这里我想要突出的重点是深度神经网络的深度概念。)
因此,我们的大脑就是一个深度神经网络(或者是一系列的深度神经网络),基于我们祖先的深度神经网络进化而来的。还需要知道的是,我们从父母或者其他祖先遗传得到了大脑中的模型。除了对世界的基本认识和生存方法,这些模型可能还包括了经过百万年精心调整得到的对道德准则正与误的判断。
甚至是我们一生学习的过程,看起来也像是训练一个深度神经网络模型的过程。在整个学习的过程中,我们的大脑艰难地建立起正确的模型(通过激发不同形式的神经信号),进而能持续不断的输出正确的结果,例如熟练地弹吉他。一旦深度神经网络模型成功建立起来,在真实生活中就能快速地运行训练好的模型神经网络 人工智能,所需要的计算量也很少,例如用吉他弹奏一首新的歌曲。这就是为什么学习本身很困难,然而一旦学成,新技能又可以轻松地运用。
然后逐渐累积的经验会增加我们各种神经网络的深度。
同时,创新很可能是已习得概念在转移学习过程中的一个产物。创新可能是通过不断地重新训练深度神经网络的顶层得到的,同时还使用着由其他领域训练得到的基础模型。另一方面,一个领域内的专家其实是把他们的深度神经网络层次训练地非常深,因而能够在极其细分的领域里解决特定的问题。
是什么使得深度神经网络如此特殊?
我认为深度神经网络很重要的一个特点是,它既能用于计算又能储存信息。因此每当有信息流过他们,他们就是一个活着的计算程序,把信息动态地优化成为最希望得到的结果。当没有信息输入的时候,他们就变成的一堆静态的模型数据。
那么,我们大脑是深度神经网络吗?
有个有意思的想法是,把植物的种子(或者动物的幼子)看成深度神经网络模型。那这些种子本质上就是一个训练好的模型(已经学习并储存了深度神经网络的模式),它从一代向下一代传递,每一代都尝试着改进上一代的模型。通过对模型训练和优化,使它在所处的环境下能够生存发展。
再进一步地深入这个想法,如果种子是模型,那我们可能就是一台机器。
模型(种子) + 最优的环境 + 能量 = 一台基于深度神经网络的机器
因此,从种子成长起来的植物就是已训练好的模型的表现形式。这种物理的表现形式,本质上是学习了一个深度神经网络,通过在当前环境下不断尝试和学习,最终改进与生俱来的内在模型。并且,如果它找到一些新的信息有利于它下一代的生存,则它会为现有的模型增加一个新的神经网络层。
再深入探究这个想法,很可能我们周围的一切都是一个时间上或空间上的深度神经网络。实际上,整个宇宙可能是一个巨大的深度神经网络机器:)。这些深度神经网络在物理上是一个内嵌于另一个里面的,尽管从理论来说它们一个是建立在另一个的基础之上。这与我们周围物体的分立的本质属性是相互对应的。我们是在深度神经网络里的深度神经网络。而这个理论的唯一问题是,宇宙这个巨大的深度神经网络,究竟是以什么为目标来优化模型的呢?如果我们可以窥探其中的目的,我们就有可能对宇宙中一切事物的存在意义有相当的了解。
生命的意义
生命真正的意义是能量的流动,流向或者不流向优胜神经元(或者模型)。我们的意义并不比在涓流中的水粒子的意义要好。我们其实是一个个无关紧要的个体。真正重要的是在这个宇宙深度神经网络中,我们人类一整个集体作为网络的最后一层,所表现出和做出的自然行为。但是,如果我们每个人脱离这个世界单独存在,那本质上生命就是毫无意义的。
下一步
这就是我这个思想框架的第一个草稿神经网络 人工智能,而且远远称不上完善。但是,有几个关键的想法是深深地植根于其中的:
深度神经网络提供了一个完整全面的框架用来解释我们存在的意义。
我们周围的一切事物(包括我们)本来就是一个实验,或者是一个实验的一部分。这个实验会一直地持续下去,直到它自己达到了一个优化问题的最优解状态。一旦这个实验成功完成了,它会储存在模型里,等待着下一代进一步优化它。
深度神经网络要到达一个最优解状态需要花费一定的时间,而且大部分在其中流动的能量会用于重复试错。运行最终完成的模型是非常快速的,因为信息只需要沿着模型里设定好的路线流动。尽管它可能在结构上会很复杂,但它始终还是一条没有岔路的路径,比无目的的漫游要快多了。
建立在其他模型上的复杂模型结果,实际上是另一个模型的基础输入,而且不断地重复递归。复杂模型通常是一些简单模型多层次组合。
模型的行为是自然突发的。每一个神经元都运行在已经设定好的规则之中,而这个规则是从模型的内在规律里得到的,单个神经元并不知道整个模型的目的以及结果。
给出以上的几个概念之后,我将尝试着把这个框架应用到形而上学的一些概念里,例如因果关系、生命与死亡、道德,看看能不能发现一些更加有趣的事情。