【AI学习笔记3】神经元、神经网络与感知机 Neuron、Neural Network and Perceptron
神经元、神经网络与感知机 Neuron、Neural Network and Perceptron
一、从生物神经元到人工神经网络
每个神经元细胞都向外伸出许多分支,其中用来接收输入的分支称作树突(dendrites),用来输出信号的分支称作轴突(axon),轴突连接到树突上形成一个突触(synapse)。每个神经元可以通过这种方式连接多个其他神经元,每个神经元也可以接受多个其他神经元的连接,很多连接起来的神经元形成了网状结构。【1】
神经系统的信息传递,是通过神经信号来实现的。这些信号基于一个个神经元组成的神经纤维,进行远距离传递。 神经信号有两种:【2】
- 单个神经元内:电信号传递
- 神经元与神经元之间:化学信号传递(化学信号就是指通过释放化学物质及接收化学物质,来交换信息内容)
神经递质(neurotransmitter)【3】
当神经细胞受到刺激时,神经细胞便会通过电脉冲与其他细胞通讯。在神经元内部,脉冲会移动到轴突尖端,并导致名为神经递质的化学物质(发挥信使的作用)被释放。
神经递质穿过两个神经细胞之间的间隙(突触),然后附着在接收细胞上的受体部位。
通过数学模型来模拟神经元:输入、权重(weight)、加和(summation,∑),激活函数、输出。【1】
单个生物神经元的行为似乎很简单,但是它们组成了数十亿个庞大的网络,每个神经元都与数千个其他神经元相连。高度复杂的计算可以通过相当简单的神经元网络来执行,数以亿计的神经元可以组织成复杂大脑皮层。可以通过人工神经网络(Artificial Neural Network,ANN)进行模拟。【4】
二、最简单的感知机(Perceptron):【5】【6】
感知机是由美国学者Frank Rosenblattt 在1957年提出来的,是神经网络最初起源的算法。
感知机接收多个输入信号,输出一个信号。假设感知机的信号只有1/0两种取值。
x1,x2是输入;w1,w2是权重(weight),;θ代表阈值(threshold),当w1x1+w2x2>θ代表神经元被激活了(取值1),反之未被激活(取值0)。
注:一个⚪代表一个神经元
- 与门(AND gate)
与门是有两个输入和一个输出的门电路。下图是这种输入信号和输出信号的真值表(Truth table):
如果用感知机来表示与门,可以把(w1,w2,θ)分别设置为(1, 1, 1),或者设置为(0.5, 0.5, 0.8),实际上有无穷多种取值都可以达成预期。
- 与非门(NAND gate)= 与门(AND gate)+ 非门(NOT gate)
与非门就是颠倒了与门的输出。用真值表表示的话,如下图所示,仅当x1和x2同时为1时输出0,其他时候则输出1。
要表示与非门,可以用(w1, w2, θ) = (−0.5, −0.5, −0.7) 这样的组合。实际上,只要把实现与门的参数值的符号取反,就可以实现与非门。
- 或门(OR gate)
或门是“只要有一个输入信号是1,输出就为1”的逻辑电路
要表示或门,可以用(w1, w2, θ) = (0.5, 0.5, 0.3) 这样的组合。
三、从感知机(Perceptron)到深度神经网络(MLP -> DNN):【5】【6】
- 感知机的局限性
综上,使用感知机可以实现与门、与非门、或门三种逻辑电路。现在来考虑一下异或门(XOR gate,exclusive OR)
异或门实现的困境:
仅当x1或x2中的一方为1时,才会输出1;
实际上,用前面介绍的感知机是无法实现这个异或门的。我们尝试通过画图来思考其中的原因。
首先,我们试着将或门的动作形象化。或门的情况下,当权重参数为(b,w_1,w_2)=(-0.5,1.0,1.0)时,可满足真值表条件。此时,感知机可用如下表达式表示:
上式表示的感知机会由直线-0.5+x1+x2=0分割的两个空间。其中一个空间输出1,另外一个空间输出0,如图所示。
或门在(x1, x2) = (0, 0) 时输出0,在(x1, x2) 为(0, 1)、(1, 0)、(1, 1) 时输出1。上图中,○表示0,△表示1。如果想制作或门,需要用直线将上图中的○和△分开。实际上,刚才的那条直线就将这4 个点正确地分开了。
那么,换成异或门的话会如何呢?能否像或门那样,用一条直线作出分割下图中的○和△的空间呢?
想要用一条直线将上图中的○和△分开,无论如何都做不到。
- 线性和非线性
上图中的○和△无法用一条直线分开,但是如果将“直线”这个限制条件去掉,就可以实现了。比如,我们可以像下图 那样,作出分开○和△的空间。
感知机的局限性就在于它只能表示由一条直线分割的空间,像这样弯曲的曲线无法用感知机表示。另外,由图中曲线分割而成的空间称为非线性空间,由直线分割而成的空间称为线性空间。线性、非线性这两个术语在机器学习领域很常见,可以将其想象成图中所示的直线和曲线。
- 多层感知机
感知机虽然不能表示异或门,但感知机的绝妙之处在于它可以“叠加”。
门电路的组合:异或门的制作方法有很多,其中之一就是组合前面的与门、与非门、或门进行配置。
异或门可以通过下图所示的配置来实现。这里,x1和x2表示输入信号,y表示输出信号。x1和x2是与非门和或门的输入,而与非门和或门的输出则是与门的输入。
现在来确认一下上图的配置是否真正实现了异或门。这里,把s1作为与非门的输出,把s2作为或门的输出,填入真值表中。结果如下图所示,观察x1、x2、y,可以发现确实符合异或门的输出。
这样,异或门的实现就完成了。下面我们试着用“叠加”感知机的表示方法来表示这个异或门:
如图,异或门是一种多层结构的神经网络。这里,将最左边的一列称为第 0 层,中间的一列称为第 1 层,最右边的一列称为第 2 层。
实际上,与门、或门是单层感知机,而异或门是2层感知机。叠加了多层的感知机也称为多层感知机MLP(Multi Layer Perceptron)。
更深层次的MLP称为深度神经网络DNN(Deep Neural Networks,一般隐藏层大于2), 它们都属于全连接神经网络FC(Fully Connected Neural Net)。
四、总结【5】【6】
- 感知机是具有输入和输出的算法。给定一个输入后,将输出一个既定值。
- 感知机将权重和偏置设定为参数。
- 使用感知机可以表示与门和或门等逻辑电路。
- 异或门无法通过单层感知机来表示。
- 使用2层感知机可以表示异或门。
- 单层感知机只能表示线性空间,而多层感知机可以表示非线性空间。
参考文献(References):
【1】 唐锐 《从生物神经网络到人工神经网络》
https://www.51cto.com/article/577737.html
【2】 AU大脑学院 《神经系统是怎样传递信号控制行为的?》
https://www.sohu.com/a/514481557_121209576
【3】 妙佑医疗 《脑工作原理》
https://www.mayoclinic.org/zh-hans/diseases-conditions/epilepsy/in-depth/brain/art-20546821
【4】 数据派THU 《从生物学到神经元:人工神经网络 ( ANN ) 简介》
https://blog.csdn.net/tMb8Z9Vdm66wH68VX1/article/details/109233579
【5】 _Eason_ 《深度神经网络DNN(一)——感知机》
https://blog.csdn.net/weixin_45768638/article/details/108503658
【6】 JokerJason 《深度学习瞎学之路--感知器》
http://www.uml.org.cn/ai/2020051521.asp
posted on 2024-12-08 13:07 JasonQiuStar 阅读(64) 评论(0) 编辑 收藏 举报