神经网络:perceptron(2)

本文介绍了如何使用perceptron进行基本逻辑运算,如AND、OR、NAND,并通过实例展示了perceptron如何构建逻辑门。同时,文章指出perceptron能够通过学习算法自动调节权重和偏置,实现人工神经网络,从而解决更复杂的问题。
摘要由CSDN通过智能技术生成

基本逻辑运算

在上一小节中,我们介绍了一下利用perceptron来做决策,这一小节,我们会介绍如何用perceptron来做基本逻辑运算,例如AND(与),OR(或)和NAND(与非)。请看下图:

例子

上图表示w1=-2,w2=-2,并且bias=3
当x1,x2为00序列时,由于(-2)*0+(-2)*0+3=3是正数,所以output为1。
同样地:
01,(-2)*0+(-2)*1+3=1,output=1
10,(-2)*1+(-2)*0+3=1,output=1
11,(-2)*1+(-2)*1+3=-1,output=0
这样就实现了一个(NAND)与非门了.
上面的事实也说明了我们可以用perceptron来实现任意的逻辑运算,这是由于NAND决定的,利于抑或(XOR)运算,也可以说是二进制位的加法,如下图是一个二进制位加法器:

二进制位加法

上图是一副电子电路的图,下图是其对应的perceptron实现的图,每个perceptron的定义就是这篇文章开头那个:

perceptron抑或

在perceptron这幅图中,有一个显著的特点:最左边的perceptron发送了两个input给最下边的perceptron,在之前的定义上,这是不允许的,这时我们可以用一条input来替代它,让这条线权重为-4(不懂为什么?问问你的数学老师?提取公因式而已):

merge

上面的x1,x2还是比较不合群的,我们可以添加一层:输入层:

input layer

输入层只有输出方向的箭头,没有接收箭头。

shorthand

上图是一种速记形式,并不代表一个perceptron没有输入。
现在假设,我们有一个perceptron的确没有输入,这里写图片描述只能为0,所以当b大于0,那么output=1,当b小于0,ouput=0。这意味着将会输出一个固定值,而不是一个期望值(让公式变得通用起来)。

能做逻辑运算并没有什么大作用,顶多是一种新的与或门而已。然而,实际上,我们可以利用它来发明学习算法(learning algorithms),实现自动调节weight和bias来实现人工神经网络。这种调节,将对外部刺激做出,而不是由程序员直接介入。我们不需要明显地去设置与或门或者其它逻辑门,我们的神经网络可以简单地学习如何解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值