2022.01-1-01 深度学习入门-基于python的理论与实现

本文介绍了深度学习基础中的感知机及其应用,从单层感知机的逻辑运算(如与门)到多层感知机的非线性表示能力,探讨了其在表示复杂逻辑如异或门上的局限性。作者通过实例演示了如何构建与门和多层感知机实现异或门,以及线性与非线性空间的区别。
摘要由CSDN通过智能技术生成

2022年01月07日,第一周记录第一篇文章

本篇主要用于记录阅读《深度学习入门-基于python的理论与实现》中的随笔记录,便于加深个人理解。对于一些处理和概念会加上括号,括号内表示个人理解。

感知机(人工神经元/朴素感知机):朴素感知机是指单层网络,指的是激活函数使用了阶跃函数。接收多个信号,输出一个信号,如下图所示:

图中的⭕️代表“神经元”(信号处理方式方式像生物中的神经元)或者“节点”(像数学中关于二叉树等的表示都是用⭕️,当时的称呼是节点)。这个感知机接收x0, x1 两个信号,输出信号y,其中x0,x1对于输出y的权重(weight, 影响程度)分别为w0,w1。输入信号送往神经元时,会乘以固定的权重,神经元y会计算传送过来的信号总和,计算公式表示为 y = w_{0} * x_{0} + w_{1} * x_{1}。当信号总和超过某个数值(好听点的名称:阈值)时,神经元y 才会输出1, 否则一直输出0。当神经元输出为1时,表示该神经元被激活 。如下公式:

y = \begin{cases} 0 & \text w_{0} * x_{0} + w_{1} * x_{1} \leq \theta \\ 1 & \text w_{0} * x_{0} + w_{1} * x_{1} > \theta \end{cases}

调整一下\theta的位置,公式可以变为:

y = \begin{cases} 0 & \ \ w0*x0 + w1* x1 - \theta \leqslant 0 \\ 1 & \ \ w0*x0 + w1* x1 - \theta > 0 \end{cases}

使用 b = - \theta, 则公式换为:

y = \begin{cases} 0 & (w0 * x0 + w1* x1 + b \leqslant 0) \\ 1 & (w0 * x0 + w1* x1 + b > 0) \end{cases}

其中b 称为偏置 ,用于控制神经元被激活的容易程度。

这种效果就好比一个分段函数,例如下:

                            y= \begin{cases} \ \ 1 & \text{ if } x > 0 \\ \ \ 0 & \text{ if } x \leq 0 \end{cases} 

只不过这个分段函数的影响因素只有一个。

可以使用感知机解决一些简单的问题,例如设计简单的逻辑电路:与门,与非门,或门等。

参考与门的真值表,与非门的真值表,或门的真值表确定满足真值表的w0, w1,以及阈值。例如与门:

x0x1y
000
100
010
111

在x0,x1同时为1时,y 为1,此时可以确定无数个(w0, w1,以及阈值,只要3个取值带入公式后能保证和真值表的结果一样就行,例如:0.5,0.5,1. /  1 , 1, 1) 。确定一组w0, w1,以及阈值后就可以使用python实现这样一个与门了,例如:

def AND(x0,x1):
    w0,w1,theta = 0.5, 0.5, 0.7 # 这里可以随意设置,只要计算结果满足与门真值表即可
    tmp = x0 * w0 + w1 * w1;
    if tmp <= theta:
        return 0
    elif tmp > theta:
        return 1

如果放在图形中表示的话可以表示如下图:

图1 

⭕️表示y结果为0,菱形表示,可以看出y的输出结果能够使用一条直线拆分开。

尽管通过感知机能够实现像与门,与非门,或门这些简单的逻辑运算,但是感知机无法实现复杂的操作例如异或门。

x0x1y
000
101
011
110

将异或门的神经元输出结果绘制成图:

图2 

对于与非门是无法使用一条直线分割开的,无论如何都做不到。感知机的局限性就在于他只能表示由一条直线分割的空间。像图2这样是无法用直线分割的空间称为非线性空间,由直线分割而成的空间称为线性空间。

多层感知机:

感知机虽然不能表示异或门,但是感知机可以叠加层被称为多层感知机,通过这种方式可以实现异或门如下图:

  图三

图三中的感知机总共有3层,但是因为拥有权重的层实质上只有2层(第0层和第一层之间,第一层和第2层之间)所以称为“2层感知机”。

1.第0层的两个神经元接受输入信号,并将信号发送至第1层的神经元。

2.第1层的神经元将信号发送到第2层的神经元,第2层的神经元输出y。

总结:

  • 感知机是具有输入和输出的算法,给定一个输入后,将输出一个既定的值。
  • 感知机将权重和偏置设定为参数
  • 使用感知机可以表示与门和或门等逻辑电路
  • 异或门无法通过单层感知机来表示,多层感知机可以。
  • 单层感知机只能表示线性空间,而多层感知机可以表示非线性空间。
  • 多层感知机可以实现比之前见到的电路更复杂的电路。多层感知机(在理论上)可以表示计算机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值