让我们对感知机神经元作进一步简化, 这样的条件描述感知机的方式是繁琐的,我们可以对其进行两种形式的修改来简化它。第一个变化是将
作为卷积表示,
,这里w与x分别代表权重和输入向量。第二个改变是将阈值移动到等式的另一边,取而代之的是将其称之为感知机的偏置,
。采用偏置代替阈值,感知机规则可以改写为
你可以将其想象为偏置是衡量感知机是否容易输出1的标准。或许采用生物学的名词,偏置是衡量是感知机是否容易触发的标准。当感知机偏置足够大时,感知机是否容易输出1。但是当偏置是一个大的负数时,感知机的输出非常难达到1。显而易见,引入偏置对于感知机来说是一个小小的改变,但是稍后会导致代数式子的简化。由于以上的原因,此书剩余时间,我们将不会采用阈值,会采用偏置进行表示。
我将会描述感知机如何衡量输入来进行输出的。感知器的可以用作计算我们通常认为是底层计算的基本逻辑函数,如AND、OR和NAND。例如,假设我们有一个感知器,有两个输入,每个输入的权重为-2,总体偏置为3。感知机结构如下:
感知机工作方式
我们看到当输入为0,0时,输出为1,因为 的结果为正值,这里我们采用*号使乘法更为明显。相似的计算可以得到输入为01和10时输出均为1。但是输入11会导致输出为0,因为
的结果为负值。因此我们的感知器实现了NAND门。
NAND门的实例表明,我们可以使用感知机来计算简单的逻辑函数。事实上,我们可以使用感知机来计算任何逻辑函数。这是因为NAND门是通用的,也就是说我们可以使用NAND门来实现任何计算。例如,我们可以使用NAND门构建一个两位的加法器。第一位采用一个亦或计算,并且当两个输入均为1时,进位为1。
NAND门加法器
为了得到一个等价的感知器网络,我们用两个输入的感知器替换所有的NAND门,每个输入的权重为-2,总体偏差为3。这是由此产生的网络。请注意,我已经移动了与右下角NAND门对应的感知器,以便更容易地在图表上绘制箭头:
感知机实现的加法器
这个感知器网络的一个值得注意的方面是,最左边感知器的输出被用作最底层感知器的两倍输入。当我定义感知器模型时,我没有说这种双输出到同一位置是否被允许。其实这没什么关系。如果我们不想让这类事情发生,那么就可以简单地将这两条线合并成一个权重为-4的单一连接,而不是两个权重为-2的连接。(如果你没有发现这一点,你应该停下来,向自己证明这是等价的。)。通过这一更改,网络看起来如下:所有未标记的权重等于-2,所有偏差等于3,标记的单个权重为-4:
修改后的感知机实现加法器
到目前为止,我已经将 和
这样的输入作为浮动在感知器网络左侧的变量。事实上,传统的做法是画出一层额外的感知器–输入层–来编码输入:
![](https://i-blog.csdnimg.cn/blog_migrate/900b37132e2207385c0b6eaf3da93ab7.png)
输入感知器的这种符号有输出,但没有输入,
输入感知机
最好把输入感知器看作根本不是感知器,而是特殊的单元,它们被简单地定义为输出所需的值x1、x2、…。加法器示例演示了如何使用感知器网络来模拟包含多个NAND门的电路。由于NAND门是通用的计算,因此感知器也是通用的计算。
感知器的计算普遍性同时令人安心和失望。这让人放心,因为它告诉我们,感知器网络可以像任何其他计算机设备一样强大。但这也令人失望,因为它让人觉得感知器只是一种新型的NAND门。这不是什么大新闻!
然而,情况比这一观点所显示的要好。结果表明,我们可以设计出能够自动调整人工神经元网络的权重和偏差的学习算法。这种调整是在对外部刺激作出响应时进行的,而不需要程序员的直接干预。这些学习算法使我们能够以与传统逻辑门完全不同的方式使用人工神经元。我们的神经网络可以简单地学习解决问题,而不是显式地布置NAND和其他门的电路,有时是非常难以直接设计常规电路从而解决问题。
请多多点赞和评论,谢谢~