分享

如何构建和训练自我复制的神经网络?

 汉上踏歌8z46b7 2018-03-27

生物的生命是从第一个自我复制(Marshall, 2011)开始的,而自然选择开始倾向于选择那些在复制方面更有优势的生物体,从而形成了自我完善的机制。类似地,如果人工智能代理有能力在没有额外机器的情况下进行自我复制和改进,我们就可以通过自然选择构建一个人工智能的自我完善机制。


介绍


在发现 DNA 作为生物复制的物理机制之前,人工自我复制机器的概念最早是由 John von Neumann 在 20 世纪 40 年代提出的。具体来说,Von Neumann 展示了细胞自动机的初始状态和变换规则的配置,它在运行固定步数后(Von Neumann 和 Burks,1966)产生初始细胞状态的副本。Hofstadter(1980)后来在哲学家 Willard Van Orman Quine 之后在 Godel,Escher,Bach: an Eternal Golden Braid 中创造了术语「quine」,用来描述自我复制的表达式,如:「是句子片段」是句子片段。


在制作物理自我复制器方面也完成了很多工作。值得注意的例子有 tiles(Penrose,1959),分子(Wang et al.,2011),聚合物(Breivik,2001)和机器人(Zykov et al.,2005)。


在编程语言理论的背景下,quines 是打印自己源代码的计算机程序。一个简单的 quine 例子是空字符串,在大多数语言中,编译器会转换为空字符串。下面的代码片段是一个两行的不平凡的 Python quine 的例子。


虽然自复制已经在许多自动机中已经被研究过,但在神经网络的研究中明显缺乏,尽管神经网络似乎是迄今为止已知的最强大的人工智能形式。


在本文中,我们识别并尝试解决构建和训练自我复制的神经网络时所面临的挑战。具体来说,我们建议将神经网络视为由一系列张量运算组成的可微计算机程序。我们的目标是建立一个输出自己权重的神经网络 quine。


我们使用三种不同的途径测试了我们的方法:基于梯度的优化方法,基于非梯度的优化方法和一个称为再生的新方法。我们进一步设计了一个神经网络 quine,除了自我复制的工作外它还有一个辅助目标。在本文中,所选择的辅助任务是 MNIST 图像分类(LeCun 和 Cortes,1998),这其中涉及将数字图像从 0 到 9 分类,它通常用作机器学习的「hello world」示例。


我们观察到网络在自我复制能力与解决辅助任务能力之间有一个平衡。这与在自然界中观察到的繁殖与其他辅助生存任务之间的平衡类似。这两个目标通常是一致的,但是例如,当一只动物处于饥饿状态时,其性激素通常会下调,以牺牲繁殖为代价优化生存。相反的情况也是如此:例如,在雄性深色钓鱼蜘蛛中,交配行为导致其血压发生一个突然的不可逆转的变化,这使其无法移动并容易被雌性蜘蛛吃掉(Drake,2013)。


创建网络


神经网络如何引用它自己?


直接引用一个神经网络的问题通过一组参数 Θ 进行参数化,我们的目标是构建一个输出 Θ 本身的网络。这很难直接做到。假设前馈网络的最后一层有 A 输入和 B 输出。线性变换中的权重矩阵的大小是积 AB,当 A> 1 时,它都大于 B。


我们还研究了两种流行的图像生成模型的开源实现,DCGAN(Radford et al.,2016)和 DRAW(Gregor et al.,2015)。他们分别使用 1200 万和 100 万个参数来生成具有 784 个像素的 MNIST 图像。


通常,参数集 Θ 比输出的大小要大得多。为了规避这一点,我们需要一种间接的方式来指代 Θ。


间接引用 HyperNEAT(Stanley et al.,2009)是一种神经进化方法,通过用坐标和权重识别每个拓扑连接来描述神经网络。我们在建立一个 quine 时采取同样的策略。我们不应该让 quine 直接输出其权重,而是应该设置它输入一个坐标(以独热编码方式)并在该坐标处输出权重。


这克服了 Θ 大于输出的问题,因为我们仅对每个坐标 c 输出标量 Θc。


Vanilla Quine


我们将 vanilla quine 定义为一个前馈神经网络,其唯一的工作是输出自身的权重。


图 1:vanilla quine 的结构


假设权重的数量是 A,并且第一个隐藏层的单元数量是 B,那么投影矩阵的大小将是积 AB,当 B> 1 时,它大于 A。因此,由于独热表示,我们不能使投影本身成为网络的一个参数。因此,我们决定使用固定的随机投影将坐标的独热编码和隐藏层连接起来。所有其他连接,即隐藏层之间的连接以及最后一个隐藏层和输出层之间的连接,都是神经网络的可变参数。


Von Neumann 认为,一个不平凡的自我复制器必然包含三个组件,这些组件本身不足以成为自我复制器:(1)复制器的描述,(2)可以克隆描述的复制机制,以及(3)可以将复制机制嵌入复制器本身的机制(Von Neumann and Burks,1966)。在这种情况下,为每个权重分配一个独热空间中的一个点的坐标系对应于(1)。由神经网络计算的函数对应于(2)。固定随机投影对应于(3)。我们在下面解释我们选择(1),(2),(3)的原因,同时牢记这些选择的替代方案会是未来有趣的研究方向。


图 2:权重以及没有独热编码的 quine 的权重预测的对数标准化图示


辅助 Quine


我们将辅助 quine 定义为一个除了自我复制之外还解决一些辅助任务的 vanilla quine。它负责接收辅助输入并返回辅助输出。


图 3: 辅助 quine 的结构


在本文中,我们选择图像分类作为辅助任务。MNIST 数据集(LeCun 和 Cortes,1998)包含从 0 到 9 的手写数字的正方形图像(28 像素 × 28 像素)。这些图像将会作为辅助输入。将从辅助输入到网络的连接作为参数而不是随机投影时可能的,但在本文中,我们只报告后者的结果。


辅助输出是十个类别的概率分布,其中具有最大概率的类别将被选择为预测分类。用 60000 张图像进行训练,10000 张图像进行测试;我们不需要验证集,因为我们并不是试图对分类器的性能进行严格的优化。我们的主要目的是证明神经网络 quine 的概念,它使 MNIST 成为一个合适的辅助任务,因为它被认为是现代机器学习算法的一个简单问题。


paper: Neural Network Quine



paper link: https:///abs/1803.05859


自我复制是生物生命的一个重要方面,在人工智能系统中很大程度上被忽视了。这里我们描述如何构建和训练自我复制的神经网络。网络通过学习输出自己的权重来复制自己。该网络使用一个损失函数,可以用基于梯度或非梯度的方法进行优化。我们还描述了一种我们称之为再生的方法,它在没有明确优化的情况下通过向网络注入其自身参数的预测来训练网络。自我复制网络的最佳解决方案是通过在再生和优化步骤之间交替发现的。最后,我们描述了一个可以解决诸如 MNIST 图像分类这样的辅助任务的自我复制神经网络的设计。我们观察到网络对图像进行分类的能力与其复制能力之间存在平衡,但训练偏向于以复制为代价增加其在图像分类方面的专业度。这与繁殖和自然界中观察到的其他任务之间的平衡类似。我们认为人工智能的自我复制机制是有用的,因为它引入了通过自然选择持续改进的可能性。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多