事实如此浪漫

建立你自己的人工神经网络。很容易!

T他首先提出的人工神经网络不是计算机内部的抽象,而是由旋转的电机和大捆电线组成的实际物理系统。在这里,我将介绍如何使用SnapCircuits(儿童电子套件)为自己构建一个。我还将思考如何构建一个使用网络摄像头进行光学工作的网络。我将讲述我在与艺术家拉尔夫·贝克尔交谈时学到的东西,他网络使用字符串,杠杆和铅重量。

去年,我把SnapCircuits网络展示给约翰·霍普菲尔德(John Hopfield),他是普林斯顿大学的物理学家,在20世纪80年代开创了神经网络的先河。他很快就专注于调整系统,看看他能让它做些什么。我是高级研究所的一名访客,花了数小时采访霍普菲尔德,为我即将出版的《物理与心灵》一书做准备。

作者乔治·穆瑟(左)向物理学家约翰·霍普菲尔德(右)展示了神经网络。 玛丽沃尔瑟姆

Hopfield因其网络类型而闻名于世,这与如今驱动图像识别和其他人工智能系统的深层网络略有不同。它仍然由基本的计算单元(“神经元”)组成,这些单元连接在一起,以便每个单元对其他单元的操作做出反应。但是神经元并没有分层排列:没有专门的输入、输出或中间阶段。相反,网络是一个信号的大缠结,可以自我循环,形成一个高度动态的系统。

你可以草率地设计一个三神经元网络,但如果是四个神经元,就需要更加系统化。

每个神经元是根据其输入打开或关闭的开关。从一些初始状态开始,神经元Jostle和Realjust。神经元可能导致另一种接通,触发级联神经元接通或关闭,可能改变原始神经元的状态。理想情况下,网络将其落入静态或循环模式。因此,该系统通过常规计算机共同执行计算,而不是遵循逐步过程。

1981年,当时在加州理工学院,Hopfield做了一个关于他的反馈网络的演讲,听众中有一位来访的科学家,John Lambe。Lambe受到启发构建了第一个物理实例化,它由6个由切换开关控制的神经元组成。

1981年,约翰·兰姆在喷气推进实验室建立了第一个电子霍普菲尔德神经网络。 约翰·J·霍普菲尔德

它证实,这种设计的网络稳定而不是循环,这是Hopfield的主要关注点。Hopfield在1984年速写了电路

SnapCircuits设计

Snapcircuits版本有三个神经元,即看到有趣行为的最小数量。我假设您一般熟悉SnapCircuit,并可以弄清楚如何从图表和照片组装电路。我在这篇文章结束时列出了所需的零件。当我还是个孩子时,他们没有Snapcircuits,我发现它比它能有效地铺设电路更难。毫无疑问,有比我更好的方法,所以请给我发你的照片。

SnapCircuits神经网络的底部有三个神经元,由顶部的六个开关控制。

电继电器用作神经元。当它们的输入电压超过一些阈值时,它会带有满意的单击点击,照亮灯泡。继电器的一个问题是内存效果:一旦开启,它们很难再次关闭,反之亦然。这可能导致网络抓住,因为Hopfield在他的第一个关于这个话题的论文中。网络整体可以存储信息,但你不希望单个神经元做同样的事情。为了挤压这个问题,我将每个继电器配对晶体管以控制其输入。

晶体管输入端的可变电阻器可以微调神经元阈值及其“偏置”——使其更容易或更难打开和关闭。SnapCircuits调色板中最小的可变电阻器的值比我在电路中其他地方使用的电阻器值大得多,因此其设置中的一个小更改会产生巨大的影响,很难正确设置。我还将电容器与继电器输入并联,以降低转换速度,从而更容易观察网络的发展。

得到鹦鹉螺必威开户官网

最新和最受欢迎的文章投递到您的收件箱!


每个神经元同时产生一个信号和它的逆信号。这些信号进入其他神经元的输入,并由一组6个开关控制。这些开关是通常用于神经网络计算的数学矩阵的物理形式。一个神经元可以激活或抑制另一个神经元,或者完全不起作用。从生物学的角度来看,它们之间的联系要么是兴奋的,要么是抑制的。在我的网络中,选择是通过在输出和它的否定之间拨动开关,在一个中立的位置完全断开连接。请注意,神经元并没有连接到它们自己,否则你就会得到我所说的记忆效应。

每个开关上的电阻器允许增加电压。电阻器的值决定耦合的强度:高电阻意味着低耦合。在这个电路中,我使用了相同的电阻值。这足以证明这样一个简单的网络能够实现的动态范围。

最后,一组开关可以让你设置神经元的初始状态,这在行话中被称为“箝位”。这就是将数据输入网络的方法。简单来说,我电路中的开关只能打开,因为当你第一次通电时,神经元是关闭的。

电路操作

为了暂时只关注两个神经元,将第三个神经元的输入开关设置为中性。两个神经元可以通过三种方式配置:

1。如果将第一个神经元输入到兴奋和第二个内部的禁止,则会创建一个非对称网络。它将通过所有可能的状态快速运行,因为继电器可以翻转。如果第一神经元接通,则它通过其抑制连接切换秒。然后第二个通过其兴奋连接开关。现在,第一个将切换第二个接通,然后将第一回到第一开,循环重复。网络永远不会稳定。

2。如果两个开关都被设置为兴奋状态,则每个神经元会打开另一个神经元。网络会进入一个稳定的状态并停留在那里。

3。如果两个开关都设置为抑制,您最终会得到一些有用的东西:单个内存位。这两个神经元通过相互加强的动力来储存它。如果你按下开关打开第一个神经元,第二个神经元就会被关闭,第二个神经元的作用是打开第一个神经元。所以,如果你松开开关,神经元就会保持在那个状态。同样地,如果你按下开关关闭第一个神经元,第二个神经元就会打开,这种情况也是自我维持的。工程师们把这种安排称为触发器。

它需要一些精神上的体操,以将铅锤解释为蜂窝自动机中的图案。

三个神经元变得更有趣。您可以设置一个逻辑或门,其中两个神经元作为输入值,第三个作为输出。将1-3和2-3连接转到兴奋状态,并禁用所有其他连接。现在,如果1或2打开,神经元3将打开,否则关闭。

你也可以做一个三神经元版本的触发器,其中一个神经元打开,两个神经元关闭,打开一个神经元会关闭其他神经元。只需将所有开关设置为抑制。

接下来,尝试环形振荡器。将1-2,2-3和3-1的连接设置为禁止和静止关闭。网络循环:第一个神经元在,那么第三,第二,第一等等。

在Hopfield的简单演示中,一个神经元出现,然后下一个神经元出现,然后下一个神经元出现。data-credits= " George Musser " style= " width:733px " >

你也可以用计算机科学家Raúl Rojas给出的两个例子进行实验13.3.1节他的教科书在神经网络。

首先,设置1-2、2-1、2-3和3-2连接到兴奋性和1-3,3-1连接到抑制性。同时,降低神经元的倾向性,使激活神经元变得更加困难。现在这些神经元——不管它们最初的状态如何——最终都会关闭并保持关闭状态。但它们经历了一系列中间状态,正如罗哈斯在图13.10中所示。

罗哈斯的第二个例子是相反的配置。设置1-2、2-1、2-3和3-2到抑制性和1-3到兴奋性的连接,并关闭偏见。现在网络将进入两个稳定的端点之一:中间的灯泡打开,其他的关闭,或者相反。这两种状态可以被认为是系统存储的两种记忆。其他状态是系统填充的部分或损坏版本。这就是Hopfield网络作为联想记忆或纠错技术的作用。

使用罗哈斯的第二个例子,您可以尝试训练网络。Hopfield网络是由生物学家和机器学习研究人员所称的Hebbian学习进行训练的:一起发射,连接在一起。按下夹紧按钮打开第一个神经元,并将1-3开关翻转到兴奋状态,使第三个神经元也出现。然后按下夹紧按钮,打开第二个灯泡,翻转1-2、2-3开关至抑压,使其他灯泡关闭。最后,使开关设置对称。你可能需要调整偏见。

更大的版本

如果你有野心,可以试着把神经网络扩展到四个神经元。你需要将神经元之间的连接数量增加一倍。连通性的指数级增长是硬件神经网络的一个普遍问题。“你可以看到这东西被电线填满的速度有多快,”Hopfield告诉我。这就是为什么我们大脑的大部分白质是由神经纤维组成的。此外,您可能需要选择不同的电阻值和增强电源。多神经元网络通常需要对互连的权重进行更精细的控制。你可以草率地设计一个三神经元网络,但如果是四个神经元,就需要更加系统化。

但如果你能达到这个水平,你就能做到实现异或门,这在概念上很重要。一层神经网络无法实现它。XOR函数是奇偶函数的最简单示例,如果位数为奇数则返回1,如果位数为偶数则返回0。奇偶性是一个看似简单的概念,即使是最先进的机器学习系统也会出错。

对于5个神经元,你可能需要从SnapCircuits切换到breadboarding。一个五神经元网络可以有两个吸引子状态,提供一个简单的联想记忆.还可以找到其他五神经元网络在这里在这里

至于6个神经元,Hopfield和他的合著者David Tank举了一个例子,你可以用它们做什么科学的美国人文章

另一个有趣的方向是添加随机性元素。在Hopfield网络中,动态是确定的:神经元的状态完全由其相互连接决定。在更高级的网络中,神经元可能会自发翻转。在SnapCircuits中,您可以尝试添加一个开关,让人随意按下它。这样,网络就不会陷入单一状态,神经元就会继续开关。但整个网络仍然处于热平衡状态,再次显示了集体动力学的力量。

摄像头的版本

另一个早期的物理网络是光学的.想象一下,把相机对准相机自己图像的屏幕,创造一个反馈循环。如果图像变得更亮,相机就会捕捉到,屏幕就会变得更亮,以此类推,直到亮度达到最大值。如果屏幕变暗,它也会循环,直到变成一片漆黑。通过这种方式,反馈创造了两个稳定的状态,可以作为一个神经元。

为了创造多个神经元,使用纸板面具将屏幕分成多个区域。适当地切割纸板面具可以使每个神经元对其他神经元敏感。如果你做对了,动态将与SnapCircuits网络相同。

无论如何,这就是想法。我试图使用运行称为ALFRED的远程网络摄像头应用程序的两个手机来完成此操作。我在另一个屏幕上指出了一个的相机。但掩蔽和对齐非常棘手。Hopfield也已经尝试过这个,但他也不是我的工作。

网络摄像头神经网络将摄像头指向自己的图像,但作者和Hopfield都发现很难对齐。

如果你成功了请告诉我。

机械版本

艺术家Ralf Baecker有创建一个显著的机械神经网络模型。

“Rechnender Raum”艺术装置是一个运行固定程序的机械神经网络。这张照片摄于2016年德国卡塞尔的卡塞勒艺术博物馆。 拉尔夫·贝克尔

铅锤的位置代表一个位:向上为1,向下为0。杠杆不是门:一端向下时,另一端向上。挂在几根绳子上的铅锤会给你一个OR门:拉任何一根绳子都会举起铅锤。其他的一切都可以从这两扇门中建造出来。

塑料弦上的铅锤表示计算机位:升高表示1,降低表示0。小杠杆实现逻辑上的NOT操作:降低一边,提高另一边。 拉尔夫·贝克尔

贝克网络权值中的权值是不可调的。这个网络运行着一个固定的程序:细胞自动机,它是一种由自己的物理定律控制的模拟宇宙。网络执行细胞自动机规则110,这可以在Stephen Wolfram的书的封面上找到一种新的科学. 规则110是一个一维版本的更广为人知的规则生命元胞自动机的博弈并可以创建一个自给自足的宇宙,里面充满了滑翔机——一种可以传输信息和执行计算操作的移动结构。

Baecker的系统太小而无法展示滑翔机,唉,并没有直接“展示”任何东西,无论如何 - 它需要一些精神上的体操,以将铅锤解释为蜂窝自动机中的图案。安装实现九个细胞并在任何时刻都显示三个时间步长。每个单元格都连接到自身及其两个邻居在前面的时间。

更新单元格需要8个NOT操作和4个or操作。在每个时间步长之间是一个开关和伺服电机,这引入了一个三秒的延迟,给机械部件时间来稳定。九个单元围绕圆周排列,三个时间步是垂直的。底部反馈到顶部,系统可以连续运行。贝克尔告诉我,在摩擦磨损系统之前,系统将运行几个小时,然后必须重新启动。

组合字符串实现其他逻辑操作,如或。 拉尔夫·贝克尔

“对我来说,重点是过程,而不是实际结果,”Becker说。“机械部件会发出很好听的‘咔哒’声。我通常用耳朵来检查机器是否运转良好。咔哒声在机器周围以特定的圆圈和模式移动,就像蟋蟀一样。”

乔治·马瑟是一位获奖的科学作家,著有距离的幽灵动作《弦理论白痴指南》。在@gmusser关注他。


快闪电路线路图和零件清单

实际尝试这个电路的读者可能会发现这个电路图非常有用。

对于每个神经元,你需要:

Q2晶体管
S3继电器
S2切换
RV2可变电阻10kΩ
D3二极管
C8电容4700µF
L1灯
R2电阻器1 kΩ

二极管隐藏在上面的照片中,但是被放置在电容器下面以防止电压尖峰-一个所谓的反激二极管。

对于开关组,两个神经元需要两个,三个神经元需要六个,四个神经元需要十二个:

S6开关
R1电阻器100Ω

最后,您还需要:

几个基本网格:我需要四个来组成一个三神经元网络
电源与开关
很多很多的连接条和电线

2评论-加入讨论