《机器学习:算法视角(原书第2版)》 —3.1.2 McCulloch和Pitts神经元
3.1.2 McCulloch和Pitts神经元
研究神经元并不是那么容易。你需要从大脑中提取出神经元,保持它一直存活,这样才能够观察神经元在受控的环境下如何做出反应。进行这个工作需要十分细心。其中的一个问题在于神经元通常非常小(必须如此,因为你的大脑中有1011个这样的神经元),所以很难得到突触中的电极。尽管如此,这项工作已经有人进行过,他们使用的神经元来自于巨乌贼,它含有一些大到可以观察的神经元。Hodgkin和Huxley在1952年完成了这项工作,他们通过测量给出了基于不同化学物质浓度的计算跨膜电位的微分方程,因此获得了诺贝尔奖。我们不会对此进行讨论,而是准备去研究一个在1943年被提出的神经元的数学模型。这个数学模型的用途在于它提取出了能够用来精确表现被研究实体的最本质的东西,而忽略了所有无关紧要的细节。McCulloch和Pitts给出了一个理想的范例,他们对一个神经元这样建模:
●一组输入加权wi相当于突触。
●一个加法器把输入信号相加(与收集电荷的细胞膜等价)。
● 一个激活函数(最初是一个阈值函数)决定细胞对于当前的输入是否激活(“放电”)。
他们的模型在图3-1中给出,我们将应用这幅图来给出一个数学性的描述。图的左边是一组输入节点(标记为x1,x2,…,xm)。这些节点会被赋予具体的值,这里作为一个例子,我们假设有三个输入,分别是x1=1,x2=0,x3=0.5。在实际的神经元中,这些输入来自于其他神经元的输出。0代表神经元没有激活,1代表激活,而0.5则没有生物学上的解释,但是不必在意(事实上,这样说不是很公平,但是这是一个很长的故事,并且与我们的主题不是很相关)。所有其他神经元的激活状态都通过一个突触传递到神经元,并且这些突触都是有强度的,称为权重(weight)。突触的强度会影响信号的强弱,因此我们把输入与突触的权重相乘(得到x1×w1,x2×w2等)。当所有信号到达神经元时,把它们相加起来看强度是否大到可以激活。我们将把这个写为:
(3.1)
这表示把输入与突触权重相乘,然后把所有得到的值相加。假设有m个输入,例子中的m=3。如果突触权重是w1=1,w2=-0.5,w3=-1,那么对于这个神经元有h=1×1+0×(-0.5)+0.5×(-1)=1+0+(-0.5)=0.5。现在神经元需要决定是否激活。对于一个真实的神经元来说,这由它的跨膜电位是否大于某个阈值来决定。我们将挑选一个阈值(以θ标记),比如θ=0。现在,神经元会激活吗?在例子中h=0.5,0.5>0,所以神经元会激活,并且给出输出值1。如果神经元不激活,输出则为0。
图3-1 McCulloch和Pitts的神经元数学模型。输入xi乘以权重wi,而神经元对它们的值求和。如果该总和大于阈值θ则神经元会输出,否则不输出
McCulloch和Pitts的神经元使用的是二元的阈值函数。它把所有输入(与突触强度或者说是权重相乘)相加,并且根据输入是否超过某个阈值来判定激活(给出输出1)或是不激活(给出输出0)。我们可以把神经元工作原理的第二部分,即决定是否激活(称为激活函数(activation function)),写成如下形式:
(3.2)
这是一个非常简单的模型,但是我们会把这些神经元,或是使用略作变化的激活函数(即将把阈值函数替换为其他形式)的神经元运用到大部分神经网络研究中。事实上,也许这些神经元看上去简单,但是就如我们将要看到的,只要选择了正确的权重wi,那么由这样的神经元组成的网络就能够完成一台普通计算机所能进行的任意运算。因此我们将要在下面几章中讨论的主要内容之一就是如何设置权重。
- 点赞
- 收藏
- 关注作者
评论(0)