神经元的逻辑计算

Warren McCulloch 和 Pitts 提出一个非常简单的生物神经元模型,这后来作为一个人工神经元成为众所周知:它有一个或更多的二进制(ON/OFF)输入和一个二进制输出。当超过一定数量的输入是激活时,人工神经元会激活其输出。McCulloch 和 Pitts 表明,即使用这样一个简化的模型,也有可能建立一个人工神经元网络来计算任何你想要的逻辑命题。例如,让我们构建一些执行各种逻辑计算的 ANN(见图 10-3),假设当至少两个输入是激活的时候神经元被激活。

图10-3

  • 左边的第一个网络仅仅是确认函数:如果神经元 A 被激活,那么神经元 C 也被激活(因为它接收来自神经元 A 的两个输入信号),但是如果神经元 A 关闭,那么神经元 C 也关闭。

  • 第二网络执行逻辑 AND:神经元 C 只有在激活神经元 A 和 B(单个输入信号不足以激活神经元 C)时才被激活。

  • 第三网络执行逻辑 OR:如果神经元 A 或神经元 B 被激活(或两者),神经元 C 被激活。

  • 最后,如果我们假设输入连接可以抑制神经元的活动(生物神经元是这样的情况),那么第四个网络计算一个稍微复杂的逻辑命题:如果神经元 B 关闭,只有当神经元A是激活的,神经元 C 才被激活。如果神经元 A 始终是激活的,那么你得到一个逻辑 NOT:神经元 C 在神经元 B 关闭时是激活的,反之亦然。

您可以很容易地想象如何将这些网络组合起来计算复杂的逻辑表达式(参见本章末尾的练习)。