计算机是怎么发明的?试图用逻辑改变世界的人 - nautil


这是来自nautil.us的《试图用逻辑救赎世界的人》的大意翻译,标题用大白话说:试图用逻辑改变世界的人,之所以用救赎而不是改变,很显然“改变”一词有一些自居上帝的味道,而“救赎”一词更低调谦逊,但是“改变”一词更吸引眼球。
麦卡洛克 (McCulloch) 与皮茨 (Pitts) 创建了第一个心智机械理论、第一个神经科学计算方法、现代计算机的逻辑设计以及人工智能的支柱。但这不仅仅是一个关于富有成效的研究合作的故事;它还关乎友谊的纽带、心灵的脆弱,以及逻辑拯救混乱和不完美世界的能力的极限。
当年弗洛伊德刚刚出版了《自我与本我》,精神分析风靡一时。麦卡洛克并不买账:他确信不知何故,大脑中神秘的运作和失败根源于大脑神经元的纯粹机械放电。
他们俩有一个共同的英雄:莱布尼茨。麦卡洛克向皮茨解释说,他正试图用莱布尼茨逻辑演算对大脑进行建模。他受到了《原理》的启发,其中罗素和怀特海试图证明所有数学都可以使用基本的、无可争议的逻辑从头开始构建。他们的基石是命题——可能是最简单的陈述,无论是对还是错。
从那里开始,他们采用逻辑的基本运算,如连词(“and”)、析取(“or”)和否定(“not”),将命题连接到越来越复杂的网络中。从这些简单的命题中,他们推导出现代数学的全部复杂性。
这让麦卡洛克想到了神经元。他知道,大脑的每个神经细胞只有在达到最低阈值后才会激活:足够多的相邻神经细胞必须通过神经元的突触发送信号,然后才能触发自己的电脉冲。这种设置是二元的——要么神经元激活,要么不激活。他意识到,神经元的信号是一个命题,神经元似乎像逻辑门一样工作,接受多个输入并产生单个输出。通过改变神经元的激发阈值,它可以执行“和”、“或”和“非”功能。
英国数学家艾伦·图灵 (Alan Turing) 出版了一篇新论文,该论文证明了机器可以计算任何函数的可能性(只要它可以在有限的步数内完成),麦卡洛克就确信大脑是就是这样的机器——使用神经网络中编码的逻辑来计算。他认为,神经元可以通过逻辑规则连接在一起,以构建更复杂的思维链,就像《原理》将命题链连接起来以构建复杂数学一样。
当 洛克 解释他的项目时,皮茨立即理解了它,并且确切地知道可以使用哪些数学工具。
 
麦卡洛克碰到问题
碰到问题是:逻辑链中最后一个神经元的输出成为第一个神经元的输入——一个神经网络追逐它的尾巴。麦卡洛克不知道如何用数学建模。从逻辑的角度来看,循环听起来很像悖论:结果成为前因,结果成为原因。McCulloch 一直在用时间戳标记链中的每个环节,这样如果第一个神经元在t时刻发射,下一个神经元在t +1时刻发射,依此类推。但是当链条绕回来时,t +1 突然出现在 t 之前
皮茨知道如何解决这个问题。他使用了模数数学。他向麦卡洛克展示了时间t +1的悖论出现在时间t之前根本不是悖论,因为在他的计算中,“之前”和“之后”失去了意义。
时间完全从等式中删除。如果有人在天空中看到一道闪电,眼睛就会向大脑发送信号,通过一连串的神经元将其拖曳。从链中的任何给定神经元开始,您可以追溯信号的步骤并计算出多久被闪电击中。也就是说,链是一个循环。在那种情况下,编码闪电的信息只会无休止地旋转。它与闪电实际发生的时间无关。正如麦卡洛克所说,它变成了“一个过时的想法”。换句话说,是记忆。
当皮茨完成计算时,他和麦卡洛克手上已经有了一个心智的机械模型,这是计算在大脑中的第一个应用,并且第一个论点认为大脑在底层是一个信息处理器。通过将简单的二元神经元串成链和环,他们已经证明大脑可以实现每一种可能的逻辑运算,并计算任何可以由图灵假设的机器计算的东西。
 
创建数学模型
他们将发现写在了一篇发表在《数学生物物理学公报》上的开创性论文“神经活动中内在思想的逻辑演算”(1943 年)中。对于生物大脑来说,他们的模型被大大简化了,但它成功地展示了原理证明。他们说,思想不需要被弗洛伊德的神秘主义所笼罩,也不需要参与自我和本我之间的斗争。“这是科学史上第一次,”麦卡洛克向一群哲学学生宣布,“我们知道我们是怎么知道的。”
本文提出了第一个神经网络的数学模型。该模型的单位,一个简单的形式化神经元,至今仍是神经网络领域的参考标准。它通常被称为McCulloch-Pitts 神经元。 - 维基百科
 
冯·诺依曼的计算机发明
接下来的 1945 年 6 月,冯·诺依曼撰写了一份名为“EDVAC 报告初稿”的历史性文件,这是对存储程序二进制计算机——现代计算机的首次公开描述。
冯·诺依曼意识到,每次您希望机器执行新功能时,可能都没有必要重新布线。如果您可以获取开关和电线的每种配置,将它们抽象化,并将它们符号化地编码为纯信息,您就可以像向计算机提供数据一样将它们输入计算机,直到现在,数据才会包括操作数据的程序。无需重新布线,您将拥有一台通用图灵机。
为了实现这一点,冯诺依曼建议按照皮茨和麦卡洛克的神经网络对计算机进行建模。他建议用真空管代替神经元,作为逻辑门,通过将它们完全按照 麦卡洛克 (McCulloch) 与皮茨 (Pitts) 发现的方式串在一起,你可以进行任何计算。
要将程序存储为数据,计算机需要一些新东西:内存。这就是皮茨的循环发挥作用的地方。冯诺依曼在他的报告中写道:“一个刺激自身的元素将无限期地保持刺激,”呼应皮茨并运用他的模数学。他详细介绍了这种新计算架构的各个方面。在整个报告中,他只引用了一篇论文: 麦卡洛克 和皮茨的“逻辑演算”。