什么是神经网络呢?作为开始,我介绍一种被称为感知机(perceptron)的人工神经元。感知机可以使在1950年到1960年左右由Frank Rosenblatt提出的。感知机的想法是建立在Warren McCulloch 和 Walter Pitts工作的基础上的。今天其他人工神经元模型更为通用。在本书中,以及在现在的研究中,sigmoid神经元更为通用。我们很快就会学习掌握sigmoid神经元。为了更快和更好的掌握sigmoid神经元,我们先好好掌握和学习感知机神经元。
感知机神经元如何工作呢?一个感知机神经元拥有多个 二进制输入,并产生二进制输出。
感知机模型
这个示例中,感知机神经元拥有三个输入 它可以拥有更多或者更少的输入。Rosenblatt提出一个简单的规则来计算输出,他引入了权重的概念,称为
,这些实数表明了不同输入对于输出的重要性。神经元输出有可能是0或者1,这是由权重乘积和
大于或小于某个阈值来表示的。与权重类似,阈值也是一个实数作为神经元参数的一部分。作为更为精确地数学代数式表达如下。
这就是感知机神经元的工作原理。
这是基本的数学模型。你可以想象感知机时一种权衡条件作出精确决定的装置。让我举一个不是十分现实的例子,但是它十分容易理解,很快我们会举一个更为实际的例子。假设周末快到了,你听说你的城市会有一个奶酪节。,你喜欢奶酪,正试着决定是否去参加这个节日,你可以通过权衡下面三个因素做出决定。
- 天气是否好
- 你的男朋友与女朋友是否想陪你
- 节日地点是否公共交通方便(你没有车的情况下)
我们可以分别采用二进制变量 和
代表这三个因素。例如,当x1=1时表示天气好,而当x1=0时,表示天气较差。类似的,x2=1表示你的男朋友或女朋友想陪你一起去,而x2=0表示不想一起去。相似的x3表示的是公共交通情况。
现在,假设你绝对喜欢奶酪,所以你很乐意去参加节日,即使你的男朋友或者女朋友对节日不感兴趣并且不参加。但是如果你真的很讨厌恶劣的天气,如果天气不好,你就不可能去参加这个节日。你可以使用感知机模型去做出这个决定。其中一种可能是,天气的权重w1=6,对于别的条件w2=2,w3=2。w1的数值越大,表明天气对你有很重要的意义,远超过男女朋友加入你一起去或者公共交通的远近。最后,假设你选择感知机的阈值为5,通过这些选择,感知机实现的决策模型。当天气好时,输出值为1,当天气差时输出值为0。你的男女朋友与公共交通的远近对输出结果没有影响。
通过不同的权重和阈值,我们可以获得不同的决策模型。例如我们设定阈值为3.当天气好的时候,或者你女朋友和男朋友加入你并且交通方便的时候,感知机决定参加奶酪节。换而言之,这是不同的决策模型。降低阈值表明你更想去参加节日。
很明显,感知机不是一个完整的人类决策模型。但是这是一个例子阐述了感知机如何衡量不同的条件去做出决定。一个复杂网络的感知机可以做出非常微妙的而且感觉上合理的决定。
在这个网络中,第一行感知机被称为第一次感知机,可以通过衡量不同的输入参数做出三个非常简单的决定。每一层感知机都是通过计算上一层输入的权重和做出决定。因此第二层感知机可以根据第一层的结果做出更为复杂,更为抽象的决策。而第三层做出更为复杂和抽象的决策。因此一个多层感知机网络可以做出复杂的决策。
三层感知机模型
在这个网络中,第一列感知器是通过权衡输入证据做出三个非常简单的决定。第二层的感知器呢?每一个感知者都是通过权衡第一层决策的结果来做出决定的。这样,第二层的感知器可以在比第一层的感知器更复杂、更抽象的层次上做出决策。第三层的感知器可以做出更复杂的决定。这样,多层感知器网络就可以进行复杂的决策。
顺便说一句,当我定义感知器时,我说感知器只有一个输出。在上面的网络中,感知器看起来有多个输出。事实上,它们仍然是单一输出。多个输出箭头仅仅是表示来自感知器的输出被用作其他几个感知器的输入的有用方法。它不是画出一条线然后再分裂表示。