神经整合 - 如何设计生物神经元网络
探讨如何利用生物神经元实现逻辑门运算,包括与门、或门、非门和异或门的设计方法,以及人工神经网络的基本原理。
本文属于朱露莎老师《生理心理学》第3周作业《神经整合》,企图回答下述问题:
神经生物学的发现使得人们猜想,神经元的动作电位, 似乎能如同数字线路中的逻辑门一样,进行一些逻辑操作, 例如与、或、非等。这些发现启发了人工智能领域 神经网络的计算和设计。 除了本节课上的几个例子外, 神经元还可以实施什么样的逻辑元算?如何实现「A or B if not C」? 此外,异或(即 A和 B 一个为 True 一个为 False,输出才为正)这种逻辑在人工智能的神经网络中怎么实现?在大脑的神经元中呢?
一、概要#
本文将先回顾生物神经元及人工神经元的构成、工作方式及异同处,并透过构建简单的双输入人工神经元逻辑门展示其可编程性,再还原成生物神经元,由此回答题干问题。最后将展示它将如何被引入机器学习中。本文部分内容的撰写使用了人工智能 (ChatGPT) 进行辅助。
二、回顾#
(一)生物神经元#
首先我们回顾一下生物神经元 (biological neuron) 是如何运作的:
图(一):生物神经元,若树突端的输入信号幅值总和超越阈值,则产生透过轴突传出的输出信号
输入信号 (input) 经过树突 (dendrite) 传递进神经元的细胞核 (cell nucleus),细胞核经过判断后做出响应 (output),并利用轴突 (axon) 将信号传出。其中细胞核的逻辑为判断输入信号的幅值是否超过阈限幅值 (threshold):若是,则透过轴突传出信号,若否,则不传出信号。
(二)人工神经元#
基于生物神经元的模型,人们能够构造出描述它的数学函数,如此人们发明了人工神经元 (artificial neuron),其模型如图(二)所示。通常这个简单的人工神经元模型称为 perceptron model。
图(二):人工神经元,若加权输入总和大于 0,则输出 1,否则为 0
描述人工神经元工作的函数为
函数中 为输入权重, 为输入。若 ,则人工神经元输出 1,否则输出 0。构建逻辑门即为选择恰当的输入权重(注意一般而言 取 -1,如此 就相当于阈值幅度 threshold,或说 时输出为 1)。
人工神经元的输入端模拟的是生物神经元的树突,输出端模拟的是轴突;净输入函数 (net input function) 模拟细胞核对树突信号的判断;激活函数 (activation function) 模拟的是超过阈值后的动作电位激发,它通常是一个阶跃函数 (step function),或者是一个平滑后的 S 型函数 (Sigmund function);而输入权重 (weights) 则模拟神经元突触间 (synaptic connection) 连接的强度 (ChatGPT, 2023)。
有了上述模型后,我们便能够构建逻辑门。我们首先考虑双输入单输出系统,尝试实现与门、或门、非门。只要我们拥有这三种逻辑门,我们就可以透过串并联缔造任何逻辑函数(如编码器、数据选择器、加法器、比较器等)。如果能有效利用突触间时间延迟的特性,或许还能设计出双稳态触发器、单稳态触发器等具有信息储存功能的时序逻辑生物神经网络。
三、如何设计生物神经网络#
设计神经元网络的通用过程简述如下:首先列出与门、或门、非门的逻辑真值表,并根据真值表计算、选择合适的权重函数,从而构建三种基本神经元逻辑门。其余一切多输入复杂神经网络皆可以利用与或非三种门逻辑组合。人工神经元网络和生物神经元网络的设计方法是一样的。设计方法参照了 Ele & Adesola 2013 年的文章。
首先我们设计与门 (AND gate)、或门 (OR gate)。它们的真值表如表(一)、表(二)所示:
| Input 1: | Input 2: | Output |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
表(一):与门真值表
| Input 1: | Input 2: | Output |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
表(二):或门真值表
由此可以分别列出与门、或门的神经元输出函数。首先它们的形式满足
(一)与门 AND gate#
对于与门,可以写出需要满足的方程组:
解得 ,取 即可满足条件。人工神经元网络与对应的生物神经元网络如下图所示:
图(三):与门,(a) 人工神经元 (b) 生物神经元,其中 X 的阈值为 1.5
(二)或门 OR gate#
对于或门,可以写出需要满足的方程组:
解得 ,取 即可满足条件。人工神经元网络与对应的生物神经元网络如下图所示:
图(四):或门,(a) 人工神经元 (b) 生物神经元,其中神经元 O 的阈值为 1
(三)非门 NOT gate#
| Input 1: | Output |
|---|---|
| 0 | 1 |
| 1 | 0 |
表(三):非门真值表
对于单输入的非门,由表(三)可以写出
解得 ,取 即可满足。人工神经元网络与对应的生物神经元网络如下图所示:
图(五):非门,(a) 人工神经元 (b) 生物神经元,其中神经元 O 的阈值为 -1
(四)「A or B if not C」#
对于题干所述的「A or B if not C」,先正则化其逻辑表达式,得
或
如此我们便可以分别利用一个或门、与门、非门来构建题干要求的神经网络了,人工神经元网络与对应的生物神经元网络如下图所示:
图(六):output = (A + B) C̄,(a) 人工神经元 (b) 生物神经元,其中神经元 O_i, i = 1,2,3 的阈值分别为 1, -1, 1.5
(五)异或门 XOR gate#
对于双输入的异或门 (XOR gate),则有表(四):
| Input 1 | Input 2 | Output |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
表(四):异或门真值表
权重函数需要满足方程组
解得 ,无解,因此异或门无法由单个神经元完成构造。现在将异或表为「与-或表达式」,即尝试用多个神经元组合而成。由逻辑函数的构造法,令 为异或门的输出,则有 或 。如此便能够利用多个人工神经元构造出异或门,人工神经元网络与对应的生物神经元网络如下图所示:
图(七):异或门,(a) 人工神经元 (b) 生物神经元
透过完全类似的逻辑,理论上可以用神经元设计任何组合逻辑 (combinational logic) 神经元网络。
四、人工智能与人工神经元 (Noriega, 2005)#
利用上述人工神经元的 Perceptron 模型,我们可以建立一个非常简单的监督式机器学习算法 (supervised machine learning),叫做 Multilayer Perceptron (MLP)。
图(八):Multilayer Perceptron (MLP) 的基本模型
MLP 主要分为输入层、权重层及输出层。可以很直观地理解, 和 之间是一种不复杂的线性映射关系。因此我们不妨把它们的关系用线性代数表示成
其中 代表一个维度为 的实变换矩阵, 为输入节点的数量, 为输出节点的数量, 为激活函数,并且有:
为了在知道正确答案的情况下训练此模型,我们需要定义一个表征输出与标准答案之差的错误函数 (Error function) , :
其中 是一个 维的矢量,它代表我们所知道的正确答案 (target) ,而训练的最终目的就是最小化错误函数。
训练的方式简述如下:首先令 矩阵中的元素随机在 0 到 1 之间取值,此时的 矩阵代表一个完全没有被训练过的 MLP 模型。接下来我们接入输入节点,并根据 矩阵计算输出结果 ,并根据输出计算错误函数。对于每一个节点 ,我们有 。为最小化错误函数,接下来将 加到 矩阵的第 列,如 。重复此步骤,即可获得受训后的 MLP。
MLP 在语音识别、分类等领域中具有广泛应用。
五、参考资料#
- ChatGPT. (2023. March 13). "what is the biological counterpart of the weighting function implemented in perceptron?". https://chat.openai.com/chat.
- Ele, Sylvester & Adesola, W. (2013). Licensed Under Creative Commons Attribution CC BY Artificial Neuron Network Implementation of Boolean Logic Gates by Perceptron and Threshold Element as Neuron Output Function. International Journal of Science and Research (IJSR). 4. 4-438.
- Noriega, L. (2005). Multilayer Perceptron Tutorial. School of Computing, Staffordshire University
Subscribe to updates
Get notified when I publish new posts. No spam, unsubscribe anytime.
Or subscribe via RSS